diff --git a/.github/workflows/docs-check.yml b/.github/workflows/docs-check.yml new file mode 100644 index 000000000..4eefaf85f --- /dev/null +++ b/.github/workflows/docs-check.yml @@ -0,0 +1,18 @@ +name: Docs check + +on: + pull_request: + push: + branches: [main] + +jobs: + check-docs: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-java@v4 + with: + java-version: '17' + distribution: 'temurin' + cache: maven + - run: ./scripts/check-docs.sh diff --git a/.github/workflows/update-and-publish.yml b/.github/workflows/update-and-publish.yml index 1bd8b4853..baac9339a 100644 --- a/.github/workflows/update-and-publish.yml +++ b/.github/workflows/update-and-publish.yml @@ -90,6 +90,9 @@ jobs: -g java \ -o . \ --skip-validate-spec \ + --git-host github.com \ + --git-user-id linkbreakers-com \ + --git-repo-id linkbreakers-java \ --global-property apiTests=false,modelTests=false,apiDocs=false,modelDocs=false \ --additional-properties=groupId=com.linkbreakers,artifactId=linkbreakers-sdk,artifactVersion=$NEW_VERSION,invokerPackage=com.linkbreakers,apiPackage=com.linkbreakers.api,modelPackage=com.linkbreakers.model,library=okhttp-gson,dateLibrary=java8,hideGenerationTimestamp=true @@ -123,6 +126,10 @@ jobs: mvn clean package -DskipTests echo "✅ Maven build completed" + - name: Check README against the generated SDK + if: steps.compare.outputs.needs_update == 'true' + run: ./scripts/check-docs.sh + - name: Import GPG key if: steps.compare.outputs.needs_update == 'true' env: diff --git a/.openapi-generator/FILES b/.openapi-generator/FILES index 7219e9379..a6d4e6c28 100644 --- a/.openapi-generator/FILES +++ b/.openapi-generator/FILES @@ -27,22 +27,28 @@ src/main/java/com/linkbreakers/ProgressResponseBody.java src/main/java/com/linkbreakers/ServerConfiguration.java src/main/java/com/linkbreakers/ServerVariable.java src/main/java/com/linkbreakers/StringUtil.java +src/main/java/com/linkbreakers/api/AgentIdentityApi.java +src/main/java/com/linkbreakers/api/AllowancesApi.java src/main/java/com/linkbreakers/api/AnalyticsDashboardApi.java src/main/java/com/linkbreakers/api/AnalyticsDataApi.java +src/main/java/com/linkbreakers/api/ApiScopesApi.java src/main/java/com/linkbreakers/api/AssistantApi.java src/main/java/com/linkbreakers/api/CustomDomainsApi.java src/main/java/com/linkbreakers/api/DirectoriesApi.java src/main/java/com/linkbreakers/api/EventsApi.java src/main/java/com/linkbreakers/api/GoogleFormsIntegrationsApi.java src/main/java/com/linkbreakers/api/IntegrationsServiceApi.java +src/main/java/com/linkbreakers/api/JobsApi.java src/main/java/com/linkbreakers/api/LinkSettingsApi.java src/main/java/com/linkbreakers/api/LinksApi.java src/main/java/com/linkbreakers/api/MediaApi.java src/main/java/com/linkbreakers/api/MembersApi.java src/main/java/com/linkbreakers/api/PageThemeTemplatesApi.java src/main/java/com/linkbreakers/api/PageThemesApi.java +src/main/java/com/linkbreakers/api/PricingApi.java src/main/java/com/linkbreakers/api/QrCodeDesignsApi.java src/main/java/com/linkbreakers/api/QrCodeTemplatesApi.java +src/main/java/com/linkbreakers/api/SandboxesApi.java src/main/java/com/linkbreakers/api/SlackIntegrationsApi.java src/main/java/com/linkbreakers/api/TagsApi.java src/main/java/com/linkbreakers/api/TimeSeriesApi.java @@ -56,12 +62,21 @@ src/main/java/com/linkbreakers/auth/ApiKeyAuth.java src/main/java/com/linkbreakers/auth/Authentication.java src/main/java/com/linkbreakers/auth/HttpBasicAuth.java src/main/java/com/linkbreakers/auth/HttpBearerAuth.java +src/main/java/com/linkbreakers/auth/OAuth.java +src/main/java/com/linkbreakers/auth/OAuthFlow.java +src/main/java/com/linkbreakers/auth/OAuthOkHttpClient.java +src/main/java/com/linkbreakers/auth/RetryingOAuth.java src/main/java/com/linkbreakers/model/AbstractOpenApiSchema.java src/main/java/com/linkbreakers/model/Action.java +src/main/java/com/linkbreakers/model/AgentClaim.java +src/main/java/com/linkbreakers/model/AgentClaimStatus.java src/main/java/com/linkbreakers/model/AnalyticsDashboard.java src/main/java/com/linkbreakers/model/AnalyticsDashboardServiceGenerateWidgetSummaryBody.java src/main/java/com/linkbreakers/model/AnalyticsDashboardServiceUpdateDashboardBody.java src/main/java/com/linkbreakers/model/AnalyticsWidgetResult.java +src/main/java/com/linkbreakers/model/ApiScope.java +src/main/java/com/linkbreakers/model/ApiScopeAccess.java +src/main/java/com/linkbreakers/model/ApiScopeInfo.java src/main/java/com/linkbreakers/model/ApiTag.java src/main/java/com/linkbreakers/model/ApplyPageThemeTemplateRequest.java src/main/java/com/linkbreakers/model/ApplyPageThemeTemplateResponse.java @@ -82,12 +97,14 @@ src/main/java/com/linkbreakers/model/AttributeWrite.java src/main/java/com/linkbreakers/model/AttributeWriteMode.java src/main/java/com/linkbreakers/model/AutoLayoutWorkflowResponse.java src/main/java/com/linkbreakers/model/BackgroundOptions.java +src/main/java/com/linkbreakers/model/BillingInterval.java src/main/java/com/linkbreakers/model/BreakdownDataPoint.java src/main/java/com/linkbreakers/model/CanvasPosition.java src/main/java/com/linkbreakers/model/ChatDisplayMessage.java src/main/java/com/linkbreakers/model/ChatUIAction.java src/main/java/com/linkbreakers/model/ChatUIOption.java src/main/java/com/linkbreakers/model/CheckCustomDomainResponse.java +src/main/java/com/linkbreakers/model/ClaimAgentWorkspaceRequest.java src/main/java/com/linkbreakers/model/ClientRedirectPayload.java src/main/java/com/linkbreakers/model/CompleteGoogleFormsOAuthRequest.java src/main/java/com/linkbreakers/model/CompleteGoogleFormsOAuthResponse.java @@ -124,6 +141,8 @@ src/main/java/com/linkbreakers/model/CreatePageThemeTemplateRequest.java src/main/java/com/linkbreakers/model/CreatePageThemeTemplateResponse.java src/main/java/com/linkbreakers/model/CreateQrcodeTemplateRequest.java src/main/java/com/linkbreakers/model/CreateQrcodeTemplateResponse.java +src/main/java/com/linkbreakers/model/CreateSandboxRequest.java +src/main/java/com/linkbreakers/model/CreateSandboxResponse.java src/main/java/com/linkbreakers/model/CreateThankYouLinkRequest.java src/main/java/com/linkbreakers/model/CreateThankYouLinkResponse.java src/main/java/com/linkbreakers/model/CreateWebhookRequest.java @@ -131,6 +150,7 @@ src/main/java/com/linkbreakers/model/CreateWebhookResponse.java src/main/java/com/linkbreakers/model/CreateWorkflowStepResponse.java src/main/java/com/linkbreakers/model/CreateWorkspaceTokenRequest.java src/main/java/com/linkbreakers/model/CreateWorkspaceTokenResponse.java +src/main/java/com/linkbreakers/model/CreditTopup.java src/main/java/com/linkbreakers/model/CustomDomain.java src/main/java/com/linkbreakers/model/CustomDomainDnsRecord.java src/main/java/com/linkbreakers/model/CustomDomainOneClickSetup.java @@ -187,6 +207,7 @@ src/main/java/com/linkbreakers/model/DigestFrequency.java src/main/java/com/linkbreakers/model/DirectoriesServiceUpdateBody.java src/main/java/com/linkbreakers/model/Directory.java src/main/java/com/linkbreakers/model/DisconnectWorkflowStepResponse.java +src/main/java/com/linkbreakers/model/DismissAllowanceNoticeRequest.java src/main/java/com/linkbreakers/model/DnsProvider.java src/main/java/com/linkbreakers/model/DnsRecordPurpose.java src/main/java/com/linkbreakers/model/DnsRecordType.java @@ -215,6 +236,7 @@ src/main/java/com/linkbreakers/model/FunnelBranch.java src/main/java/com/linkbreakers/model/FunnelStep.java src/main/java/com/linkbreakers/model/GenerateWidgetSummaryResponse.java src/main/java/com/linkbreakers/model/GeoDataPoint.java +src/main/java/com/linkbreakers/model/GetAgentClaimRequest.java src/main/java/com/linkbreakers/model/GetAttributeDistributionRequest.java src/main/java/com/linkbreakers/model/GetAttributeDistributionResponse.java src/main/java/com/linkbreakers/model/GetAttributeMetricRequest.java @@ -269,12 +291,19 @@ src/main/java/com/linkbreakers/model/ImportPageThemeTemplateResponse.java src/main/java/com/linkbreakers/model/ImportQrcodeTemplateRequest.java src/main/java/com/linkbreakers/model/ImportQrcodeTemplateResponse.java src/main/java/com/linkbreakers/model/InviteMemberRequest.java +src/main/java/com/linkbreakers/model/Job.java +src/main/java/com/linkbreakers/model/JobError.java +src/main/java/com/linkbreakers/model/JobStatus.java +src/main/java/com/linkbreakers/model/JobType.java src/main/java/com/linkbreakers/model/JourneyProgress.java src/main/java/com/linkbreakers/model/Link.java src/main/java/com/linkbreakers/model/LinkSetting.java src/main/java/com/linkbreakers/model/LinkSortField.java src/main/java/com/linkbreakers/model/LinkView.java +src/main/java/com/linkbreakers/model/LinksBulkCreateResult.java src/main/java/com/linkbreakers/model/LinksServiceUpdateBody.java +src/main/java/com/linkbreakers/model/ListAllowancesResponse.java +src/main/java/com/linkbreakers/model/ListApiScopesResponse.java src/main/java/com/linkbreakers/model/ListCustomDomainsResponse.java src/main/java/com/linkbreakers/model/ListDashboardsResponse.java src/main/java/com/linkbreakers/model/ListDetectedGoogleFormsResponse.java @@ -287,8 +316,10 @@ src/main/java/com/linkbreakers/model/ListLinksResponse.java src/main/java/com/linkbreakers/model/ListMediaResponse.java src/main/java/com/linkbreakers/model/ListPageThemeTemplatesResponse.java src/main/java/com/linkbreakers/model/ListPageThemesResponse.java +src/main/java/com/linkbreakers/model/ListPricingPlansResponse.java src/main/java/com/linkbreakers/model/ListQrcodeTemplatesResponse.java src/main/java/com/linkbreakers/model/ListResponse.java +src/main/java/com/linkbreakers/model/ListSandboxesResponse.java src/main/java/com/linkbreakers/model/ListSlackChannelsResponse.java src/main/java/com/linkbreakers/model/ListTagsResponse.java src/main/java/com/linkbreakers/model/ListVisitorAttributeKeysResponse.java @@ -307,6 +338,7 @@ src/main/java/com/linkbreakers/model/Member.java src/main/java/com/linkbreakers/model/MembersServiceUpdateBody.java src/main/java/com/linkbreakers/model/MessagePageNavigationType.java src/main/java/com/linkbreakers/model/MessagePagePayload.java +src/main/java/com/linkbreakers/model/Money.java src/main/java/com/linkbreakers/model/MultiLinkButton.java src/main/java/com/linkbreakers/model/MultiLinkPayload.java src/main/java/com/linkbreakers/model/MultiLinkTraceButton.java @@ -328,7 +360,15 @@ src/main/java/com/linkbreakers/model/PageThemeTemplatesServiceUpdatePageThemeTem src/main/java/com/linkbreakers/model/PageThemesServiceUpdatePageThemeBody.java src/main/java/com/linkbreakers/model/PasswordPayload.java src/main/java/com/linkbreakers/model/PasswordTraceData.java +src/main/java/com/linkbreakers/model/PlanFeature.java +src/main/java/com/linkbreakers/model/PlanLimit.java +src/main/java/com/linkbreakers/model/PlanLimitKey.java +src/main/java/com/linkbreakers/model/PlanLimitKind.java +src/main/java/com/linkbreakers/model/PlanPrice.java +src/main/java/com/linkbreakers/model/PlanTrial.java src/main/java/com/linkbreakers/model/PreferredLinkType.java +src/main/java/com/linkbreakers/model/PricingPlan.java +src/main/java/com/linkbreakers/model/PricingPlanId.java src/main/java/com/linkbreakers/model/ProtobufAny.java src/main/java/com/linkbreakers/model/ProtobufNullValue.java src/main/java/com/linkbreakers/model/PublicCreateQrcodeDesignRequest.java @@ -356,6 +396,7 @@ src/main/java/com/linkbreakers/model/ResolveQrcodeTemplateImagesResponse.java src/main/java/com/linkbreakers/model/ResolveStepCollisionsResponse.java src/main/java/com/linkbreakers/model/ResponseFormat.java src/main/java/com/linkbreakers/model/Role.java +src/main/java/com/linkbreakers/model/Sandbox.java src/main/java/com/linkbreakers/model/SettingsServiceUpdateLinkSettingBody.java src/main/java/com/linkbreakers/model/Shape.java src/main/java/com/linkbreakers/model/ShortlinkAvailabilityResponse.java @@ -402,6 +443,7 @@ src/main/java/com/linkbreakers/model/TimeSeriesPoint.java src/main/java/com/linkbreakers/model/TimeSeriesSeries.java src/main/java/com/linkbreakers/model/TopLinkDataPoint.java src/main/java/com/linkbreakers/model/TriggeredBy.java +src/main/java/com/linkbreakers/model/TypeDate.java src/main/java/com/linkbreakers/model/UpdateCustomDomainResponse.java src/main/java/com/linkbreakers/model/UpdateDashboardResponse.java src/main/java/com/linkbreakers/model/UpdateDeviceResponse.java @@ -423,6 +465,7 @@ src/main/java/com/linkbreakers/model/UpdateWorkflowStepResponse.java src/main/java/com/linkbreakers/model/UpdateWorkspaceOriginInquiryRequest.java src/main/java/com/linkbreakers/model/UpdateWorkspaceOriginPurposeRequest.java src/main/java/com/linkbreakers/model/UpdateWorkspaceRequest.java +src/main/java/com/linkbreakers/model/UpdateWorkspaceTokenResponse.java src/main/java/com/linkbreakers/model/VCardData.java src/main/java/com/linkbreakers/model/VCardPayload.java src/main/java/com/linkbreakers/model/VCardSocialLink.java @@ -474,7 +517,9 @@ src/main/java/com/linkbreakers/model/WorkflowStepsServiceConnectStepBody.java src/main/java/com/linkbreakers/model/WorkflowStepsServiceCreateBody.java src/main/java/com/linkbreakers/model/WorkflowStepsServiceUpdateBody.java src/main/java/com/linkbreakers/model/Workspace.java +src/main/java/com/linkbreakers/model/WorkspaceAllowance.java src/main/java/com/linkbreakers/model/WorkspaceInsight.java src/main/java/com/linkbreakers/model/WorkspaceMetric.java src/main/java/com/linkbreakers/model/WorkspaceToken.java src/main/java/com/linkbreakers/model/WorkspaceTokenKeyType.java +src/main/java/com/linkbreakers/model/WorkspaceTokensServiceUpdateBody.java diff --git a/README.md b/README.md index b438322f3..1548a6fff 100644 --- a/README.md +++ b/README.md @@ -1,487 +1,98 @@ -# linkbreakers-sdk +# Linkbreakers Java SDK -Linkbreakers API -- API version: 1.43.0 - - Generator version: 7.21.0 - -This is a documentation of all the APIs of Linkbreakers - - For more information, please visit [https://app.linkbreakers.com](https://app.linkbreakers.com) - -*Automatically generated by the [OpenAPI Generator](https://openapi-generator.tech)* +Official Java SDK for the Linkbreakers API, auto-generated from the OpenAPI specification. +[![Maven Central](https://img.shields.io/maven-central/v/com.linkbreakers/linkbreakers-sdk)](https://central.sonatype.com/artifact/com.linkbreakers/linkbreakers-sdk) +[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) ## Requirements -Building the API client library requires: -1. Java 1.8+ -2. Maven (3.8.3+)/Gradle (7.2+) +Java 1.8+ and Maven 3.8.3+ or Gradle 7.2+. ## Installation -To install the API client library to your local Maven repository, simply execute: - -```shell -mvn clean install -``` - -To deploy it to a remote Maven repository instead, configure the settings of the repository and execute: - -```shell -mvn clean deploy -``` - -Refer to the [Sonatype Central Portal Maven publishing guide](https://central.sonatype.org/publish/publish-portal-maven/) for more information. - -### Maven users +The SDK is published to Maven Central as `com.linkbreakers:linkbreakers-sdk`, with the same version number as the API it was generated from (see [OPENAPI_VERSION](./OPENAPI_VERSION)). Replace `VERSION` below with the latest version shown on the badge above. -Add this dependency to your project's POM: +### Maven ```xml com.linkbreakers linkbreakers-sdk - 1.43.0 - compile + VERSION ``` -### Gradle users - -Add this dependency to your project's build file: +### Gradle ```groovy - repositories { - mavenCentral() // Needed if the 'linkbreakers-sdk' jar has been published to maven central. - mavenLocal() // Needed if the 'linkbreakers-sdk' jar has been published to the local maven repo. - } - - dependencies { - implementation "com.linkbreakers:linkbreakers-sdk:1.43.0" - } -``` - -### Others - -At first generate the JAR by executing: +repositories { + mavenCentral() +} -```shell -mvn clean package +dependencies { + implementation "com.linkbreakers:linkbreakers-sdk:VERSION" +} ``` -Then manually install the following JARs: - -* `target/linkbreakers-sdk-1.43.0.jar` -* `target/lib/*.jar` - -## Getting Started - -Please follow the [installation](#installation) instruction and execute the following Java code: +## Usage ```java - -// Import classes: -import org.openapitools.client.ApiClient; -import org.openapitools.client.ApiException; -import org.openapitools.client.Configuration; -import org.openapitools.client.auth.*; -import org.openapitools.client.model.*; -import org.openapitools.client.api.CustomDomainsApi; +import com.linkbreakers.ApiClient; +import com.linkbreakers.ApiException; +import com.linkbreakers.Configuration; +import com.linkbreakers.api.LinksApi; +import com.linkbreakers.auth.HttpBearerAuth; +import com.linkbreakers.model.CreateLinkRequest; +import com.linkbreakers.model.CreateLinkResponse; +import com.linkbreakers.model.GetLinkResponse; public class Example { public static void main(String[] args) { - ApiClient defaultClient = Configuration.getDefaultApiClient(); - defaultClient.setBasePath("https://api.linkbreakers.com"); - - // Configure HTTP bearer authorization: bearerAuth - HttpBearerAuth bearerAuth = (HttpBearerAuth) defaultClient.getAuthentication("bearerAuth"); - bearerAuth.setBearerToken("BEARER TOKEN"); + ApiClient client = Configuration.getDefaultApiClient(); + client.setBasePath("https://api.linkbreakers.com"); + + // Bearer token authentication with your workspace API token + HttpBearerAuth bearerAuth = (HttpBearerAuth) client.getAuthentication("bearerAuth"); + bearerAuth.setBearerToken("your-api-token"); - CustomDomainsApi apiInstance = new CustomDomainsApi(defaultClient); - String id = "id_example"; // String | The ID of the custom domain to retrieve (UUID) + LinksApi linksApi = new LinksApi(client); try { - CheckCustomDomainResponse result = apiInstance.customDomainsServiceCheck(id); - System.out.println(result); + // Create a shortened link + CreateLinkResponse created = linksApi.linksServiceCreate( + new CreateLinkRequest() + .destination("https://example.com") + .name("My Link"), + null); // optional Idempotency-Key for safe retries + System.out.println("Short link: " + created.getLink().getShortlink()); + + // Get it back by ID + GetLinkResponse fetched = linksApi.linksServiceGet(created.getLink().getId(), null); + System.out.println("Name: " + fetched.getLink().getName()); } catch (ApiException e) { - System.err.println("Exception when calling CustomDomainsApi#customDomainsServiceCheck"); System.err.println("Status code: " + e.getCode()); System.err.println("Reason: " + e.getResponseBody()); - System.err.println("Response headers: " + e.getResponseHeaders()); - e.printStackTrace(); } } } - ``` -## Documentation for API Endpoints - -All URIs are relative to *https://api.linkbreakers.com* - -Class | Method | HTTP request | Description ------------- | ------------- | ------------- | ------------- -*CustomDomainsApi* | [**customDomainsServiceCheck**](docs/CustomDomainsApi.md#customDomainsServiceCheck) | **POST** /v1/custom-domains/{id}/check | Check a custom domain -*CustomDomainsApi* | [**customDomainsServiceCreate**](docs/CustomDomainsApi.md#customDomainsServiceCreate) | **POST** /v1/custom-domains | Create a custom domain -*CustomDomainsApi* | [**customDomainsServiceDelete**](docs/CustomDomainsApi.md#customDomainsServiceDelete) | **DELETE** /v1/custom-domains/{id} | Delete a custom domain -*CustomDomainsApi* | [**customDomainsServiceGet**](docs/CustomDomainsApi.md#customDomainsServiceGet) | **GET** /v1/custom-domains/{id} | Get custom domain details -*CustomDomainsApi* | [**customDomainsServiceList**](docs/CustomDomainsApi.md#customDomainsServiceList) | **GET** /v1/custom-domains | List custom domains -*CustomDomainsApi* | [**customDomainsServiceUpdate**](docs/CustomDomainsApi.md#customDomainsServiceUpdate) | **PATCH** /v1/custom-domains/{id} | Update a custom domain -*CustomDomainsApi* | [**customDomainsServiceValidationInstructions**](docs/CustomDomainsApi.md#customDomainsServiceValidationInstructions) | **GET** /v1/custom-domains/{id}/validation_instructions | Get the validation instructions -*DirectoriesApi* | [**directoriesServiceCreate**](docs/DirectoriesApi.md#directoriesServiceCreate) | **POST** /v1/directories | Create a directory -*DirectoriesApi* | [**directoriesServiceDelete**](docs/DirectoriesApi.md#directoriesServiceDelete) | **DELETE** /v1/directories/{id} | Delete a directory -*DirectoriesApi* | [**directoriesServiceGet**](docs/DirectoriesApi.md#directoriesServiceGet) | **GET** /v1/directories/{id} | Get a directory -*DirectoriesApi* | [**directoriesServiceList**](docs/DirectoriesApi.md#directoriesServiceList) | **GET** /v1/directories | List directories -*DirectoriesApi* | [**directoriesServiceUpdate**](docs/DirectoriesApi.md#directoriesServiceUpdate) | **PATCH** /v1/directories/{id} | Update a directory -*EventsApi* | [**eventsServiceListEventTraces**](docs/EventsApi.md#eventsServiceListEventTraces) | **GET** /v1/events/{eventId}/traces | List event traces -*EventsApi* | [**eventsServiceListEvents**](docs/EventsApi.md#eventsServiceListEvents) | **GET** /v1/events | List events -*IntegrationsServiceApi* | [**integrationsServiceTrack**](docs/IntegrationsServiceApi.md#integrationsServiceTrack) | **POST** /v1/integrations/{slug} | Track notifies when an integration installation is attempted -*LinkSettingsApi* | [**settingsServiceGetLinkSetting**](docs/LinkSettingsApi.md#settingsServiceGetLinkSetting) | **GET** /v1/settings/link-setting/{id} | Get a link setting -*LinkSettingsApi* | [**settingsServiceUpdateLinkSetting**](docs/LinkSettingsApi.md#settingsServiceUpdateLinkSetting) | **PUT** /v1/settings/link-setting/{id} | Update a link setting -*LinksApi* | [**linksServiceCreate**](docs/LinksApi.md#linksServiceCreate) | **POST** /v1/links | Create a new link -*LinksApi* | [**linksServiceCreateBulk**](docs/LinksApi.md#linksServiceCreateBulk) | **POST** /v1/links/bulk | Create multiple links in a single request -*LinksApi* | [**linksServiceCreateContactLink**](docs/LinksApi.md#linksServiceCreateContactLink) | **POST** /v1/links/contact | Create a new contact card link -*LinksApi* | [**linksServiceDelete**](docs/LinksApi.md#linksServiceDelete) | **DELETE** /v1/links/{id} | Delete a link -*LinksApi* | [**linksServiceGet**](docs/LinksApi.md#linksServiceGet) | **GET** /v1/links/{id} | Get link details -*LinksApi* | [**linksServiceList**](docs/LinksApi.md#linksServiceList) | **GET** /v1/links | List links -*LinksApi* | [**linksServiceShortlinkAvailability**](docs/LinksApi.md#linksServiceShortlinkAvailability) | **GET** /v1/links/shortlink-availability | Check shortlink availability -*LinksApi* | [**linksServiceShortlinkRandom**](docs/LinksApi.md#linksServiceShortlinkRandom) | **GET** /v1/links/shortlink-random | Get a random shortlink -*LinksApi* | [**linksServiceUpdate**](docs/LinksApi.md#linksServiceUpdate) | **PATCH** /v1/links/{id} | Update a link -*MediaApi* | [**mediaServiceCreate**](docs/MediaApi.md#mediaServiceCreate) | **POST** /v1/media | Upload a media file -*MediaApi* | [**mediaServiceDelete**](docs/MediaApi.md#mediaServiceDelete) | **DELETE** /v1/media/{id} | Delete a media file -*MediaApi* | [**mediaServiceGet**](docs/MediaApi.md#mediaServiceGet) | **GET** /v1/media/{id} | Get media file details -*MediaApi* | [**mediaServiceList**](docs/MediaApi.md#mediaServiceList) | **GET** /v1/media | List media files -*MembersApi* | [**membersServiceAllowAccess**](docs/MembersApi.md#membersServiceAllowAccess) | **POST** /v1/members/{id}/allow | Allow access for a member -*MembersApi* | [**membersServiceDelete**](docs/MembersApi.md#membersServiceDelete) | **DELETE** /v1/members/{id} | Delete a member -*MembersApi* | [**membersServiceForceSignout**](docs/MembersApi.md#membersServiceForceSignout) | **POST** /v1/members/{id}/signout | Force a member to sign out -*MembersApi* | [**membersServiceGet**](docs/MembersApi.md#membersServiceGet) | **GET** /v1/members/{id} | Get a member by ID -*MembersApi* | [**membersServiceGetMyself**](docs/MembersApi.md#membersServiceGetMyself) | **GET** /v1/member | Get the current member -*MembersApi* | [**membersServiceInvite**](docs/MembersApi.md#membersServiceInvite) | **POST** /v1/members/invite | Invite a new member -*MembersApi* | [**membersServiceList**](docs/MembersApi.md#membersServiceList) | **GET** /v1/members | List members -*MembersApi* | [**membersServiceRevokeAccess**](docs/MembersApi.md#membersServiceRevokeAccess) | **POST** /v1/members/{id}/revoke | Revoke access for a member -*MembersApi* | [**membersServiceUpdate**](docs/MembersApi.md#membersServiceUpdate) | **PUT** /v1/members/{id} | Update a member -*MembersApi* | [**membersServiceUpdateMyself**](docs/MembersApi.md#membersServiceUpdateMyself) | **PUT** /v1/member | Update the current member -*PageThemesApi* | [**pageThemesServiceGetPageTheme**](docs/PageThemesApi.md#pageThemesServiceGetPageTheme) | **GET** /v1/page-themes/{id} | Get a page theme -*PageThemesApi* | [**pageThemesServiceListPageThemes**](docs/PageThemesApi.md#pageThemesServiceListPageThemes) | **GET** /v1/page-themes | List page themes for the current workspace -*PageThemesApi* | [**pageThemesServiceUpdatePageTheme**](docs/PageThemesApi.md#pageThemesServiceUpdatePageTheme) | **PATCH** /v1/page-themes/{id} | Update a page theme -*QrCodeDesignsApi* | [**qrcodeDesignServiceDelete**](docs/QrCodeDesignsApi.md#qrcodeDesignServiceDelete) | **DELETE** /v1/qrcode-designs/{id} | Delete a QR code design -*QrCodeDesignsApi* | [**qrcodeDesignServiceGet**](docs/QrCodeDesignsApi.md#qrcodeDesignServiceGet) | **GET** /v1/qrcode-designs/{id} | Get a QR code design -*QrCodeDesignsApi* | [**qrcodeDesignServicePublicCreate**](docs/QrCodeDesignsApi.md#qrcodeDesignServicePublicCreate) | **POST** /v1/public/qrcode-designs | Create a new QR code design -*QrCodeDesignsApi* | [**qrcodeDesignServiceUpdate**](docs/QrCodeDesignsApi.md#qrcodeDesignServiceUpdate) | **PATCH** /v1/qrcode-designs/{id} | Update a QR code design -*QrCodeTemplatesApi* | [**qrcodeTemplatesServiceCreateQrcodeTemplate**](docs/QrCodeTemplatesApi.md#qrcodeTemplatesServiceCreateQrcodeTemplate) | **POST** /v1/qrcode-templates | Create a new QR code template -*QrCodeTemplatesApi* | [**qrcodeTemplatesServiceDeleteQrcodeTemplate**](docs/QrCodeTemplatesApi.md#qrcodeTemplatesServiceDeleteQrcodeTemplate) | **DELETE** /v1/qrcode-templates/{id} | Delete a workspace QR code template -*QrCodeTemplatesApi* | [**qrcodeTemplatesServiceGetQrcodeTemplate**](docs/QrCodeTemplatesApi.md#qrcodeTemplatesServiceGetQrcodeTemplate) | **GET** /v1/qrcode-templates/{id} | Get a workspace QR code template -*QrCodeTemplatesApi* | [**qrcodeTemplatesServiceImportQrcodeTemplate**](docs/QrCodeTemplatesApi.md#qrcodeTemplatesServiceImportQrcodeTemplate) | **POST** /v1/qrcode-templates/import | Import a public QR code template -*QrCodeTemplatesApi* | [**qrcodeTemplatesServiceListQrcodeTemplates**](docs/QrCodeTemplatesApi.md#qrcodeTemplatesServiceListQrcodeTemplates) | **GET** /v1/qrcode-templates | List my QR code templates -*QrCodeTemplatesApi* | [**qrcodeTemplatesServicePublicGetQrcodeTemplate**](docs/QrCodeTemplatesApi.md#qrcodeTemplatesServicePublicGetQrcodeTemplate) | **GET** /v1/public/qrcode-templates/{slug} | Get a public QR code template -*QrCodeTemplatesApi* | [**qrcodeTemplatesServicePublicListQrcodeTemplates**](docs/QrCodeTemplatesApi.md#qrcodeTemplatesServicePublicListQrcodeTemplates) | **GET** /v1/public/qrcode-templates | List QR code templates -*QrCodeTemplatesApi* | [**qrcodeTemplatesServicePublishQrcodeTemplate**](docs/QrCodeTemplatesApi.md#qrcodeTemplatesServicePublishQrcodeTemplate) | **POST** /v1/qrcode-templates/{id}/publish | Publish a workspace QR code template -*QrCodeTemplatesApi* | [**qrcodeTemplatesServiceUpdateQrcodeTemplate**](docs/QrCodeTemplatesApi.md#qrcodeTemplatesServiceUpdateQrcodeTemplate) | **PATCH** /v1/qrcode-templates/{id} | Update a workspace QR code template -*TagsApi* | [**tagsServiceDelete**](docs/TagsApi.md#tagsServiceDelete) | **DELETE** /v1/tags | Delete tags -*TagsApi* | [**tagsServiceList**](docs/TagsApi.md#tagsServiceList) | **GET** /v1/tags | List tags -*TimeSeriesApi* | [**timeSeriesServiceGetEventsTimeSeries**](docs/TimeSeriesApi.md#timeSeriesServiceGetEventsTimeSeries) | **POST** /v1/timeseries/events | Get events time series -*VisitorsApi* | [**visitorsServiceDelete**](docs/VisitorsApi.md#visitorsServiceDelete) | **DELETE** /v1/visitors/{id} | Delete a visitor -*VisitorsApi* | [**visitorsServiceDeleteAttribute**](docs/VisitorsApi.md#visitorsServiceDeleteAttribute) | **DELETE** /v1/visitors/{id}/attributes/{attributeKey} | Delete a visitor attribute -*VisitorsApi* | [**visitorsServiceGet**](docs/VisitorsApi.md#visitorsServiceGet) | **GET** /v1/visitors/{id} | Get a visitor -*VisitorsApi* | [**visitorsServiceIdentify**](docs/VisitorsApi.md#visitorsServiceIdentify) | **POST** /v1/visitor/identify | Identify visitor -*VisitorsApi* | [**visitorsServiceList**](docs/VisitorsApi.md#visitorsServiceList) | **GET** /v1/visitors | List visitors -*VisitorsApi* | [**visitorsServiceUpdate**](docs/VisitorsApi.md#visitorsServiceUpdate) | **PATCH** /v1/visitors/{id} | Update a visitor -*WebhooksApi* | [**webhooksServiceCreate**](docs/WebhooksApi.md#webhooksServiceCreate) | **POST** /v1/webhooks | Create a webhook -*WebhooksApi* | [**webhooksServiceDelete**](docs/WebhooksApi.md#webhooksServiceDelete) | **DELETE** /v1/webhooks/{id} | Delete a webhook -*WebhooksApi* | [**webhooksServiceGet**](docs/WebhooksApi.md#webhooksServiceGet) | **GET** /v1/webhooks/{id} | Get a webhook -*WebhooksApi* | [**webhooksServiceList**](docs/WebhooksApi.md#webhooksServiceList) | **GET** /v1/webhooks | List webhooks -*WebhooksApi* | [**webhooksServiceUpdate**](docs/WebhooksApi.md#webhooksServiceUpdate) | **PATCH** /v1/webhooks/{id} | Update a webhook -*WorkflowStepsApi* | [**workflowStepsServiceAddRelationship**](docs/WorkflowStepsApi.md#workflowStepsServiceAddRelationship) | **POST** /v1/links/{linkId}/workflow-steps/{parentStepId}/relationships | Add relationship between workflow steps -*WorkflowStepsApi* | [**workflowStepsServiceCreate**](docs/WorkflowStepsApi.md#workflowStepsServiceCreate) | **POST** /v1/links/{linkId}/workflow-steps | Create a new workflow step -*WorkflowStepsApi* | [**workflowStepsServiceDelete**](docs/WorkflowStepsApi.md#workflowStepsServiceDelete) | **DELETE** /v1/links/{linkId}/workflow-steps/{id} | Delete a workflow step -*WorkflowStepsApi* | [**workflowStepsServiceGet**](docs/WorkflowStepsApi.md#workflowStepsServiceGet) | **GET** /v1/links/{linkId}/workflow-steps/{id} | Get workflow step details -*WorkflowStepsApi* | [**workflowStepsServiceList**](docs/WorkflowStepsApi.md#workflowStepsServiceList) | **GET** /v1/links/{linkId}/workflow-steps | List workflow steps for a link -*WorkflowStepsApi* | [**workflowStepsServiceRemoveRelationship**](docs/WorkflowStepsApi.md#workflowStepsServiceRemoveRelationship) | **DELETE** /v1/links/{linkId}/workflow-steps/{parentStepId}/relationships/{childStepId} | Remove relationship between workflow steps -*WorkflowStepsApi* | [**workflowStepsServiceUpdate**](docs/WorkflowStepsApi.md#workflowStepsServiceUpdate) | **PATCH** /v1/links/{linkId}/workflow-steps/{id} | Update a workflow step -*WorkspaceMetricsApi* | [**metricsServiceGetEventsMetric**](docs/WorkspaceMetricsApi.md#metricsServiceGetEventsMetric) | **GET** /v1/metrics/events | Get events metric -*WorkspaceMetricsApi* | [**metricsServiceGetWorkspaceInsight**](docs/WorkspaceMetricsApi.md#metricsServiceGetWorkspaceInsight) | **GET** /v1/metrics/workspace/insight | Get workspace insight -*WorkspaceMetricsApi* | [**metricsServiceGetWorkspaceMetric**](docs/WorkspaceMetricsApi.md#metricsServiceGetWorkspaceMetric) | **GET** /v1/metrics/workspace | Get workspace metric -*WorkspaceTokensApi* | [**workspaceTokensServiceCreate**](docs/WorkspaceTokensApi.md#workspaceTokensServiceCreate) | **POST** /v1/workspace-tokens | Create a workspace token -*WorkspaceTokensApi* | [**workspaceTokensServiceDelete**](docs/WorkspaceTokensApi.md#workspaceTokensServiceDelete) | **DELETE** /v1/workspace-tokens/{id} | Delete a workspace token -*WorkspaceTokensApi* | [**workspaceTokensServiceGet**](docs/WorkspaceTokensApi.md#workspaceTokensServiceGet) | **GET** /v1/workspace-tokens/{id} | Get a workspace token -*WorkspaceTokensApi* | [**workspaceTokensServiceList**](docs/WorkspaceTokensApi.md#workspaceTokensServiceList) | **GET** /v1/workspace-tokens | List workspace tokens -*WorkspacesApi* | [**workspacesServiceDelete**](docs/WorkspacesApi.md#workspacesServiceDelete) | **DELETE** /v1/workspace | Delete workspace -*WorkspacesApi* | [**workspacesServiceGetMyWorkspace**](docs/WorkspacesApi.md#workspacesServiceGetMyWorkspace) | **GET** /v1/workspace | Get my workspace -*WorkspacesApi* | [**workspacesServiceGetWorkspace**](docs/WorkspacesApi.md#workspacesServiceGetWorkspace) | **GET** /v1/workspaces/{id} | Get a workspace by ID -*WorkspacesApi* | [**workspacesServicePublicGetWorkspace**](docs/WorkspacesApi.md#workspacesServicePublicGetWorkspace) | **GET** /v1/public/workspaces/{slug} | Get a public workspace by slug -*WorkspacesApi* | [**workspacesServiceRequestEnrollment**](docs/WorkspacesApi.md#workspacesServiceRequestEnrollment) | **POST** /v1/workspace/request-enrollment | Request workspace enrollment -*WorkspacesApi* | [**workspacesServiceUpdate**](docs/WorkspacesApi.md#workspacesServiceUpdate) | **PUT** /v1/workspace | Update a workspace -*WorkspacesApi* | [**workspacesServiceUpdateOriginInquiry**](docs/WorkspacesApi.md#workspacesServiceUpdateOriginInquiry) | **POST** /v1/workspace/origin-inquiry | Update workspace origin inquiry -*WorkspacesApi* | [**workspacesServiceUpdateOriginPurpose**](docs/WorkspacesApi.md#workspacesServiceUpdateOriginPurpose) | **POST** /v1/workspace/origin-purpose | Update workspace origin purpose - - -## Documentation for Models - - - [Action](docs/Action.md) - - [AddWorkflowStepRelationshipResponse](docs/AddWorkflowStepRelationshipResponse.md) - - [ApiTag](docs/ApiTag.md) - - [BackgroundOptions](docs/BackgroundOptions.md) - - [CanvasPosition](docs/CanvasPosition.md) - - [CheckCustomDomainResponse](docs/CheckCustomDomainResponse.md) - - [ClientRedirectPayload](docs/ClientRedirectPayload.md) - - [ContactCardTraceCard](docs/ContactCardTraceCard.md) - - [ContactCardTraceData](docs/ContactCardTraceData.md) - - [ContainerConfig](docs/ContainerConfig.md) - - [CornersDotOptions](docs/CornersDotOptions.md) - - [CornersSquareOptions](docs/CornersSquareOptions.md) - - [CountryConditionOutcome](docs/CountryConditionOutcome.md) - - [CountryConditionPayload](docs/CountryConditionPayload.md) - - [CountryConditionTraceData](docs/CountryConditionTraceData.md) - - [CountryConditionTraceOption](docs/CountryConditionTraceOption.md) - - [CreateBulkLinksRequest](docs/CreateBulkLinksRequest.md) - - [CreateBulkLinksResponse](docs/CreateBulkLinksResponse.md) - - [CreateContactLinkRequest](docs/CreateContactLinkRequest.md) - - [CreateContactLinkResponse](docs/CreateContactLinkResponse.md) - - [CreateCustomDomainRequest](docs/CreateCustomDomainRequest.md) - - [CreateCustomDomainResponse](docs/CreateCustomDomainResponse.md) - - [CreateDirectoryRequest](docs/CreateDirectoryRequest.md) - - [CreateDirectoryResponse](docs/CreateDirectoryResponse.md) - - [CreateEventTraceResponse](docs/CreateEventTraceResponse.md) - - [CreateLinkRequest](docs/CreateLinkRequest.md) - - [CreateLinkResponse](docs/CreateLinkResponse.md) - - [CreateMediaRequest](docs/CreateMediaRequest.md) - - [CreateMediaResponse](docs/CreateMediaResponse.md) - - [CreateQrcodeTemplateRequest](docs/CreateQrcodeTemplateRequest.md) - - [CreateQrcodeTemplateResponse](docs/CreateQrcodeTemplateResponse.md) - - [CreateWebhookRequest](docs/CreateWebhookRequest.md) - - [CreateWebhookResponse](docs/CreateWebhookResponse.md) - - [CreateWorkflowStepResponse](docs/CreateWorkflowStepResponse.md) - - [CreateWorkspaceTokenRequest](docs/CreateWorkspaceTokenRequest.md) - - [CreateWorkspaceTokenResponse](docs/CreateWorkspaceTokenResponse.md) - - [CustomDomain](docs/CustomDomain.md) - - [CustomDomainStatus](docs/CustomDomainStatus.md) - - [CustomDomainsServiceUpdateBody](docs/CustomDomainsServiceUpdateBody.md) - - [DataCollection](docs/DataCollection.md) - - [DayOfMonthConditionPayload](docs/DayOfMonthConditionPayload.md) - - [DayOfMonthConditionTraceData](docs/DayOfMonthConditionTraceData.md) - - [DayOfMonthConditionTraceOption](docs/DayOfMonthConditionTraceOption.md) - - [DayOfMonthOption](docs/DayOfMonthOption.md) - - [DayOfWeekConditionPayload](docs/DayOfWeekConditionPayload.md) - - [DayOfWeekConditionTraceData](docs/DayOfWeekConditionTraceData.md) - - [DayOfWeekConditionTraceOption](docs/DayOfWeekConditionTraceOption.md) - - [DayOfWeekOption](docs/DayOfWeekOption.md) - - [DeleteAttributeResponse](docs/DeleteAttributeResponse.md) - - [DeleteVisitorResponse](docs/DeleteVisitorResponse.md) - - [Device](docs/Device.md) - - [DeviceActor](docs/DeviceActor.md) - - [DeviceActorConditionOption](docs/DeviceActorConditionOption.md) - - [DeviceActorConditionPayload](docs/DeviceActorConditionPayload.md) - - [DeviceActorConditionTraceData](docs/DeviceActorConditionTraceData.md) - - [DeviceActorConditionTraceOption](docs/DeviceActorConditionTraceOption.md) - - [DeviceActorConditionValue](docs/DeviceActorConditionValue.md) - - [DeviceBrandConditionOption](docs/DeviceBrandConditionOption.md) - - [DeviceBrandConditionPayload](docs/DeviceBrandConditionPayload.md) - - [DeviceBrandConditionTraceData](docs/DeviceBrandConditionTraceData.md) - - [DeviceBrandConditionTraceOption](docs/DeviceBrandConditionTraceOption.md) - - [DeviceBrandConditionValue](docs/DeviceBrandConditionValue.md) - - [DeviceBrowserConditionOption](docs/DeviceBrowserConditionOption.md) - - [DeviceBrowserConditionPayload](docs/DeviceBrowserConditionPayload.md) - - [DeviceBrowserConditionTraceData](docs/DeviceBrowserConditionTraceData.md) - - [DeviceBrowserConditionTraceOption](docs/DeviceBrowserConditionTraceOption.md) - - [DeviceBrowserConditionValue](docs/DeviceBrowserConditionValue.md) - - [DeviceInput](docs/DeviceInput.md) - - [DevicePlatformConditionOption](docs/DevicePlatformConditionOption.md) - - [DevicePlatformConditionPayload](docs/DevicePlatformConditionPayload.md) - - [DevicePlatformConditionTraceData](docs/DevicePlatformConditionTraceData.md) - - [DevicePlatformConditionTraceOption](docs/DevicePlatformConditionTraceOption.md) - - [DevicePlatformConditionValue](docs/DevicePlatformConditionValue.md) - - [DeviceType](docs/DeviceType.md) - - [DeviceTypeConditionOption](docs/DeviceTypeConditionOption.md) - - [DeviceTypeConditionPayload](docs/DeviceTypeConditionPayload.md) - - [DeviceTypeConditionTraceData](docs/DeviceTypeConditionTraceData.md) - - [DeviceTypeConditionTraceOption](docs/DeviceTypeConditionTraceOption.md) - - [DeviceTypeConditionValue](docs/DeviceTypeConditionValue.md) - - [DirectoriesServiceUpdateBody](docs/DirectoriesServiceUpdateBody.md) - - [Directory](docs/Directory.md) - - [DotsOptions](docs/DotsOptions.md) - - [EntryAccessTraceData](docs/EntryAccessTraceData.md) - - [ErrorResponse](docs/ErrorResponse.md) - - [Event](docs/Event.md) - - [EventAction](docs/EventAction.md) - - [EventTrace](docs/EventTrace.md) - - [EventTraceData](docs/EventTraceData.md) - - [EventsMetric](docs/EventsMetric.md) - - [EventsServiceCreateEventTraceBody](docs/EventsServiceCreateEventTraceBody.md) - - [EventsServiceUpdateDeviceBody](docs/EventsServiceUpdateDeviceBody.md) - - [EventsTimeSeries](docs/EventsTimeSeries.md) - - [EventsTimeSeriesData](docs/EventsTimeSeriesData.md) - - [FontConfig](docs/FontConfig.md) - - [FormField](docs/FormField.md) - - [FormFieldOption](docs/FormFieldOption.md) - - [FormFieldType](docs/FormFieldType.md) - - [FormPayload](docs/FormPayload.md) - - [FormTraceData](docs/FormTraceData.md) - - [FormTraceDataField](docs/FormTraceDataField.md) - - [GetCustomDomainResponse](docs/GetCustomDomainResponse.md) - - [GetDirectoryResponse](docs/GetDirectoryResponse.md) - - [GetEventsTimeSeriesRequest](docs/GetEventsTimeSeriesRequest.md) - - [GetEventsTimeSeriesResponse](docs/GetEventsTimeSeriesResponse.md) - - [GetLinkResponse](docs/GetLinkResponse.md) - - [GetLinkSettingResponse](docs/GetLinkSettingResponse.md) - - [GetMediaResponse](docs/GetMediaResponse.md) - - [GetPageThemeResponse](docs/GetPageThemeResponse.md) - - [GetQrcodeDesignResponse](docs/GetQrcodeDesignResponse.md) - - [GetWebhookResponse](docs/GetWebhookResponse.md) - - [GetWorkflowStepResponse](docs/GetWorkflowStepResponse.md) - - [GetWorkspaceTokenResponse](docs/GetWorkspaceTokenResponse.md) - - [GooglerpcStatus](docs/GooglerpcStatus.md) - - [HTTPMethod](docs/HTTPMethod.md) - - [IdentifyRequest](docs/IdentifyRequest.md) - - [IdentifyResponse](docs/IdentifyResponse.md) - - [IdentifyVisitorTraceData](docs/IdentifyVisitorTraceData.md) - - [ImportQrcodeTemplateRequest](docs/ImportQrcodeTemplateRequest.md) - - [ImportQrcodeTemplateResponse](docs/ImportQrcodeTemplateResponse.md) - - [InviteMemberRequest](docs/InviteMemberRequest.md) - - [Link](docs/Link.md) - - [LinkSetting](docs/LinkSetting.md) - - [LinkSortField](docs/LinkSortField.md) - - [LinksServiceUpdateBody](docs/LinksServiceUpdateBody.md) - - [ListCustomDomainsResponse](docs/ListCustomDomainsResponse.md) - - [ListDirectoriesResponse](docs/ListDirectoriesResponse.md) - - [ListEventTracesResponse](docs/ListEventTracesResponse.md) - - [ListEventsCsvResponse](docs/ListEventsCsvResponse.md) - - [ListEventsJsonResponse](docs/ListEventsJsonResponse.md) - - [ListEventsResponse](docs/ListEventsResponse.md) - - [ListLinksResponse](docs/ListLinksResponse.md) - - [ListMediaResponse](docs/ListMediaResponse.md) - - [ListPageThemesResponse](docs/ListPageThemesResponse.md) - - [ListQrcodeTemplatesResponse](docs/ListQrcodeTemplatesResponse.md) - - [ListResponse](docs/ListResponse.md) - - [ListTagsResponse](docs/ListTagsResponse.md) - - [ListVisitorsCsvResponse](docs/ListVisitorsCsvResponse.md) - - [ListVisitorsJsonResponse](docs/ListVisitorsJsonResponse.md) - - [ListVisitorsResponse](docs/ListVisitorsResponse.md) - - [ListWebhooksResponse](docs/ListWebhooksResponse.md) - - [ListWorkflowStepsResponse](docs/ListWorkflowStepsResponse.md) - - [ListWorkspaceTokensResponse](docs/ListWorkspaceTokensResponse.md) - - [Media](docs/Media.md) - - [MediaSelection](docs/MediaSelection.md) - - [MediaType](docs/MediaType.md) - - [MediaVisibility](docs/MediaVisibility.md) - - [Member](docs/Member.md) - - [MembersServiceUpdateBody](docs/MembersServiceUpdateBody.md) - - [MultiLinkButton](docs/MultiLinkButton.md) - - [MultiLinkPayload](docs/MultiLinkPayload.md) - - [MultiLinkTraceButton](docs/MultiLinkTraceButton.md) - - [MultiLinkTraceData](docs/MultiLinkTraceData.md) - - [MultiLinkTraceSelectedButton](docs/MultiLinkTraceSelectedButton.md) - - [OutputFileFormat](docs/OutputFileFormat.md) - - [PageTheme](docs/PageTheme.md) - - [PageThemeBadgeShape](docs/PageThemeBadgeShape.md) - - [PageThemeBorderStyle](docs/PageThemeBorderStyle.md) - - [PageThemeCanvasCoverMode](docs/PageThemeCanvasCoverMode.md) - - [PageThemeContainerVariant](docs/PageThemeContainerVariant.md) - - [PageThemeFontFamily](docs/PageThemeFontFamily.md) - - [PageThemesServiceUpdatePageThemeBody](docs/PageThemesServiceUpdatePageThemeBody.md) - - [PasswordPayload](docs/PasswordPayload.md) - - [PasswordTraceData](docs/PasswordTraceData.md) - - [PreferredLinkType](docs/PreferredLinkType.md) - - [ProtobufAny](docs/ProtobufAny.md) - - [ProtobufNullValue](docs/ProtobufNullValue.md) - - [PublicCreateQrcodeDesignRequest](docs/PublicCreateQrcodeDesignRequest.md) - - [PublicCreateQrcodeDesignResponse](docs/PublicCreateQrcodeDesignResponse.md) - - [PublicListQrcodeTemplatesResponse](docs/PublicListQrcodeTemplatesResponse.md) - - [PublicQrcodeTemplate](docs/PublicQrcodeTemplate.md) - - [PublicWorkspace](docs/PublicWorkspace.md) - - [PublishQrcodeTemplateResponse](docs/PublishQrcodeTemplateResponse.md) - - [QrcodeDesign](docs/QrcodeDesign.md) - - [QrcodeDesignServiceUpdateBody](docs/QrcodeDesignServiceUpdateBody.md) - - [QrcodeTemplate](docs/QrcodeTemplate.md) - - [QrcodeTemplatesServiceUpdateQrcodeTemplateBody](docs/QrcodeTemplatesServiceUpdateQrcodeTemplateBody.md) - - [RedirectTraceData](docs/RedirectTraceData.md) - - [RemoveWorkflowStepRelationshipResponse](docs/RemoveWorkflowStepRelationshipResponse.md) - - [RequestWorkspaceEnrollmentRequest](docs/RequestWorkspaceEnrollmentRequest.md) - - [ResponseFormat](docs/ResponseFormat.md) - - [Role](docs/Role.md) - - [SettingsServiceUpdateLinkSettingBody](docs/SettingsServiceUpdateLinkSettingBody.md) - - [Shape](docs/Shape.md) - - [ShortlinkAvailabilityResponse](docs/ShortlinkAvailabilityResponse.md) - - [ShortlinkRandomResponse](docs/ShortlinkRandomResponse.md) - - [SocialLinkButton](docs/SocialLinkButton.md) - - [SocialLinkTraceButton](docs/SocialLinkTraceButton.md) - - [SocialLinksDisplayStyle](docs/SocialLinksDisplayStyle.md) - - [SocialLinksPayload](docs/SocialLinksPayload.md) - - [SocialLinksTraceData](docs/SocialLinksTraceData.md) - - [SortDirection](docs/SortDirection.md) - - [SpecificDateConditionPayload](docs/SpecificDateConditionPayload.md) - - [SpecificDateConditionTraceData](docs/SpecificDateConditionTraceData.md) - - [SpecificDateConditionTraceOption](docs/SpecificDateConditionTraceOption.md) - - [SpecificDateOption](docs/SpecificDateOption.md) - - [SubscriptionType](docs/SubscriptionType.md) - - [ThemeColor](docs/ThemeColor.md) - - [ThemeColorThemeColorType](docs/ThemeColorThemeColorType.md) - - [TimeOfDayConditionPayload](docs/TimeOfDayConditionPayload.md) - - [TimeOfDayConditionTraceData](docs/TimeOfDayConditionTraceData.md) - - [TimeOfDayConditionTraceRange](docs/TimeOfDayConditionTraceRange.md) - - [TimeOfDayRange](docs/TimeOfDayRange.md) - - [TriggeredBy](docs/TriggeredBy.md) - - [UpdateCustomDomainResponse](docs/UpdateCustomDomainResponse.md) - - [UpdateDeviceResponse](docs/UpdateDeviceResponse.md) - - [UpdateDirectoryResponse](docs/UpdateDirectoryResponse.md) - - [UpdateLinkResponse](docs/UpdateLinkResponse.md) - - [UpdateLinkSettingResponse](docs/UpdateLinkSettingResponse.md) - - [UpdateMeRequest](docs/UpdateMeRequest.md) - - [UpdatePageThemeResponse](docs/UpdatePageThemeResponse.md) - - [UpdateQrcodeDesignResponse](docs/UpdateQrcodeDesignResponse.md) - - [UpdateQrcodeTemplateResponse](docs/UpdateQrcodeTemplateResponse.md) - - [UpdateWebhookResponse](docs/UpdateWebhookResponse.md) - - [UpdateWorkflowStepResponse](docs/UpdateWorkflowStepResponse.md) - - [UpdateWorkspaceOriginInquiryRequest](docs/UpdateWorkspaceOriginInquiryRequest.md) - - [UpdateWorkspaceOriginPurposeRequest](docs/UpdateWorkspaceOriginPurposeRequest.md) - - [UpdateWorkspaceRequest](docs/UpdateWorkspaceRequest.md) - - [VCardData](docs/VCardData.md) - - [VCardPayload](docs/VCardPayload.md) - - [ValidationInstructionsCustomDomainResponse](docs/ValidationInstructionsCustomDomainResponse.md) - - [ValidationInstructionsCustomDomainResponseValidation](docs/ValidationInstructionsCustomDomainResponseValidation.md) - - [ValidationInstructionsCustomDomainResponseValidationType](docs/ValidationInstructionsCustomDomainResponseValidationType.md) - - [ValidationPurpose](docs/ValidationPurpose.md) - - [VisitType](docs/VisitType.md) - - [VisitTypeConditionOption](docs/VisitTypeConditionOption.md) - - [VisitTypeConditionPayload](docs/VisitTypeConditionPayload.md) - - [VisitTypeConditionTraceData](docs/VisitTypeConditionTraceData.md) - - [VisitTypeConditionTraceOption](docs/VisitTypeConditionTraceOption.md) - - [Visitor](docs/Visitor.md) - - [VisitorEvent](docs/VisitorEvent.md) - - [VisitorInput](docs/VisitorInput.md) - - [VisitorLink](docs/VisitorLink.md) - - [VisitorsServiceUpdateBody](docs/VisitorsServiceUpdateBody.md) - - [Webhook](docs/Webhook.md) - - [WebhookSource](docs/WebhookSource.md) - - [WebhookStatus](docs/WebhookStatus.md) - - [WebhooksServiceUpdateBody](docs/WebhooksServiceUpdateBody.md) - - [WorkflowStep](docs/WorkflowStep.md) - - [WorkflowStepKind](docs/WorkflowStepKind.md) - - [WorkflowStepNodeType](docs/WorkflowStepNodeType.md) - - [WorkflowStepPayload](docs/WorkflowStepPayload.md) - - [WorkflowStepsServiceAddRelationshipBody](docs/WorkflowStepsServiceAddRelationshipBody.md) - - [WorkflowStepsServiceCreateBody](docs/WorkflowStepsServiceCreateBody.md) - - [WorkflowStepsServiceUpdateBody](docs/WorkflowStepsServiceUpdateBody.md) - - [Workspace](docs/Workspace.md) - - [WorkspaceInsight](docs/WorkspaceInsight.md) - - [WorkspaceMetric](docs/WorkspaceMetric.md) - - [WorkspaceToken](docs/WorkspaceToken.md) - - [WorkspaceTokenKeyType](docs/WorkspaceTokenKeyType.md) - - - -## Documentation for Authorization +Each API is a class in `com.linkbreakers.api` (`LinksApi`, `VisitorsApi`, ...), and each operation is a method named after the API's operation ID (`linksServiceCreate`, `linksServiceList`, `visitorsServiceIdentify`, ...). Path parameters, query parameters and the request body are positional arguments, with `null` for optional ones. Models live in `com.linkbreakers.model` and have fluent setters. +Get your workspace API token from the [Linkbreakers dashboard](https://app.linkbreakers.com/settings/api). -Authentication schemes defined for the API: - -### bearerAuth +## API Documentation -- **Type**: HTTP Bearer Token authentication (JWT) +For the full API reference, visit https://docs.linkbreakers.com +## Auto-Generated -## Recommendation +This SDK is automatically generated from the Linkbreakers OpenAPI specification and published when the API is updated. This README is written by hand: `scripts/check-docs.sh` compiles every Java block in it against the generated code, on pull requests and before every release. -It's recommended to create an instance of `ApiClient` per thread in a multithreaded environment to avoid any potential issues. +## Issues -## Author +Report issues at: https://github.com/linkbreakers-com/linkbreakers-java/issues +## License +MIT License diff --git a/api/openapi.yaml b/api/openapi.yaml index 828d8d516..245ab0415 100644 --- a/api/openapi.yaml +++ b/api/openapi.yaml @@ -3,20 +3,74 @@ info: contact: name: Linkbreakers Support url: https://app.linkbreakers.com - description: This is a documentation of all the APIs of Linkbreakers + description: |- + This is a documentation of all the APIs of Linkbreakers + + ## Entry points + + `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. + + ## Rate limits + + Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. + + - Workspace API token: 600 requests per 60 seconds, per token. + - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. + - No credentials: 300 requests per 60 seconds, per client IP. + + Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. + + ## Pagination + + Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. + + ## Batches and background jobs + + `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. + + ## Versioning and deprecation + + The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. + + An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel="deprecation"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy + + ## Idempotent retries + + Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. title: Linkbreakers API - version: 1.144.0 + version: 1.158.2 + x-api-versioning: + compatibility: additive changes only within a version + currentVersion: v1 + deprecationHeaders: + - Deprecation + - Sunset + - Link + minimumNoticeDays: 180 + policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy + strategy: url-path servers: - url: https://api.linkbreakers.com security: - bearerAuth: [] tags: +- description: "Claiming a workspace an AI agent registered for itself. An agent registers\ + \ at the authorization server (https://mcp.linkbreakers.com/agent/identity, see\ + \ https://linkbreakers.com/auth.md) and hands a person a claim link and a 6-digit\ + \ code; these endpoints are the person's side of that ceremony." + name: Agent Identity +- description: "What the workspace has used of each limit its plan sets, read from\ + \ the same counters that enforce them." + name: Allowances - description: "Endpoints for managing analytics dashboards with flexible, config-driven\ \ widgets. Each widget defines its own data source and visualization." name: Analytics Dashboard - description: "Endpoints for retrieving aggregated analytics data for dashboard widgets\ \ including geographic breakdown, device distribution, and visitor trends." name: Analytics Data +- description: "The permissions an API token or OAuth grant can hold. Every authenticated\ + \ endpoint requires exactly one scope, declared on the operation." + name: API Scopes - description: Context-aware assistant that delegates to specialized sub-assistants based on the resource being edited. name: Assistant @@ -32,6 +86,11 @@ tags: - description: Connect your Google account to automatically sync form responses from links that redirect to Google Forms. name: Google Forms Integrations +- description: "Long-running operations. An endpoint that works in the background\ + \ answers 202 Accepted with a job and a Location header; poll GET /v1/jobs/{id}\ + \ until the status is JOB_STATUS_SUCCEEDED or JOB_STATUS_FAILED. Jobs can be read\ + \ for 24 hours after they finish." + name: Jobs - description: "Endpoints for managing shortened links in Linkbreakers. These endpoints\ \ allow you to create, retrieve, list, and delete shortened links for your workspace." name: Links @@ -52,12 +111,26 @@ tags: \ to create, read, and update themes for canvas, cover, badge, container, typography,\ \ and interactive elements." name: Page Themes +- description: "Public pricing catalog: the plans, what each costs and what each allows.\ + \ Prices come from the billing provider and limits from the code that enforces\ + \ them." + name: Pricing - description: "Endpoints for managing QR Code Designs in Linkbreakers. These endpoints\ \ allow you to create, retrieve, update, and delete QR Code Designs." name: QR Code Designs - description: "Endpoints for managing QR Code Templates in Linkbreakers. These endpoints\ \ allow you to create, retrieve, update, and delete QR Code Templates." name: QR Code Templates +- description: "Sandbox workspaces for testing an integration without touching live\ + \ data. A sandbox is a separate, API-only workspace created from your live workspace.\ + \ Its tokens start with `lb_test_`, and the API refuses a `lb_test_` prefix on\ + \ a live token. Sandbox usage is never billed and does not count toward your plan:\ + \ a sandbox has its own monthly caps (1,000 API calls, 500 counted scans and credits\ + \ for 50 links) and allows no custom domains, members or credit top-ups. Links\ + \ resolve and webhooks fire normally; a scan of a sandbox link answers with `X-Linkbreakers-Sandbox:\ + \ true` and `X-Robots-Tag: noindex`. A sandbox and everything in it is deleted\ + \ 30 days after it was created. A workspace holds at most 3 sandboxes." + name: Sandboxes - description: Endpoints for managing link-level data collection settings in Linkbreakers. name: Link Settings - description: Endpoints for managing the Slack integration. Connect your Slack workspace @@ -88,11 +161,263 @@ tags: allow you to update and get workspaces. name: Workspaces paths: + /v1/agent-identity/claim/complete: + post: + description: "Check the code the agent handed over, attach the claim email with\ + \ a password or a Google or Microsoft sign-in to the agent's workspace, and\ + \ sign in. The email must not already have a Linkbreakers account. Afterwards\ + \ the agent's token keeps working in the claimed workspace, and the agent\ + \ can fetch a token with wider scopes from the claim grant." + operationId: AgentIdentityService_ClaimAgentWorkspace + parameters: + - description: Makes retrying this request safe. See components.parameters.IdempotencyKey. + explode: false + in: header + name: Idempotency-Key + required: false + schema: + maxLength: 255 + minLength: 1 + type: string + style: simple + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/ClaimAgentWorkspaceRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/Member" + description: Everything worked as expected. + headers: + Idempotent-Replayed: + $ref: "#/components/headers/Idempotent-Replayed" + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" + default: + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + security: [] + summary: Claim an agent's workspace + tags: + - Agent Identity + x-content-type: application/json + x-accepts: + - application/json + /v1/agent-identity/claim/lookup: + post: + description: "Return the email a claim link is bound to, whether it can still\ + \ be used, and what the agent may do once the workspace is claimed. The claim_attempt_token\ + \ is the secret: anyone holding it and the code can claim." + operationId: AgentIdentityService_GetAgentClaim + parameters: + - description: Makes retrying this request safe. See components.parameters.IdempotencyKey. + explode: false + in: header + name: Idempotency-Key + required: false + schema: + maxLength: 255 + minLength: 1 + type: string + style: simple + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/GetAgentClaimRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/AgentClaim" + description: Everything worked as expected. + headers: + Idempotent-Replayed: + $ref: "#/components/headers/Idempotent-Replayed" + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" + default: + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + security: [] + summary: Read an agent claim link + tags: + - Agent Identity + x-content-type: application/json + x-accepts: + - application/json + /v1/allowances: + get: + description: |- + Return every limit the workspace's plan sets with what has been used in the current cycle, when it resets and whether it has been reached. + + Requires the `workspace:read` scope. + operationId: AllowancesService_ListAllowances + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/ListAllowancesResponse" + description: Everything worked as expected. + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" + default: + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + security: + - bearerAuth: + - workspace:read + - oauth2: + - workspace:read + summary: List allowances + tags: + - Allowances + x-required-scope: workspace:read + x-accepts: + - application/json + /v1/allowances/dismiss: + post: + description: |- + Hide the over-limit notice for one limit, for the calling member, until the limit's next cycle. Only a member can dismiss; an API token gets a permission error. + + Requires the `workspace:write` scope. + operationId: AllowancesService_DismissAllowanceNotice + parameters: + - description: Makes retrying this request safe. See components.parameters.IdempotencyKey. + explode: false + in: header + name: Idempotency-Key + required: false + schema: + maxLength: 255 + minLength: 1 + type: string + style: simple + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/DismissAllowanceNoticeRequest" + required: true + responses: + "200": + content: + application/json: + schema: + properties: {} + type: object + description: Everything worked as expected. + headers: + Idempotent-Replayed: + $ref: "#/components/headers/Idempotent-Replayed" + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" + default: + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + security: + - bearerAuth: + - workspace:write + - oauth2: + - workspace:write + summary: Dismiss an allowance notice + tags: + - Allowances + x-required-scope: workspace:write + x-content-type: application/json + x-accepts: + - application/json /v1/analytics/attributes/distribution: post: - description: "Returns how visitors are spread across the values of one attribute,\ - \ for example how many gave each rating." + description: |- + Returns how visitors are spread across the values of one attribute, for example how many gave each rating. + + Requires the `analytics:read` scope. operationId: AnalyticsDataService_GetAttributeDistribution + parameters: + - description: Makes retrying this request safe. See components.parameters.IdempotencyKey. + explode: false + in: header + name: Idempotency-Key + required: false + schema: + maxLength: 255 + minLength: 1 + type: string + style: simple requestBody: content: application/json: @@ -106,25 +431,60 @@ paths: schema: $ref: "#/components/schemas/GetAttributeDistributionResponse" description: Everything worked as expected. + headers: + Idempotent-Replayed: + $ref: "#/components/headers/Idempotent-Replayed" + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" security: - - bearerAuth: [] + - bearerAuth: + - analytics:read + - oauth2: + - analytics:read summary: Get visitor attribute distribution tags: - Analytics Data + x-required-scope: analytics:read x-content-type: application/json x-accepts: - application/json /v1/analytics/attributes/metric: post: - description: "Returns count, average, minimum and maximum for a visitor attribute,\ - \ plus how much of the audience carries it." + description: |- + Returns count, average, minimum and maximum for a visitor attribute, plus how much of the audience carries it. + + Requires the `analytics:read` scope. operationId: AnalyticsDataService_GetAttributeMetric + parameters: + - description: Makes retrying this request safe. See components.parameters.IdempotencyKey. + explode: false + in: header + name: Idempotency-Key + required: false + schema: + maxLength: 255 + minLength: 1 + type: string + style: simple requestBody: content: application/json: @@ -138,25 +498,60 @@ paths: schema: $ref: "#/components/schemas/GetAttributeMetricResponse" description: Everything worked as expected. + headers: + Idempotent-Replayed: + $ref: "#/components/headers/Idempotent-Replayed" + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" security: - - bearerAuth: [] + - bearerAuth: + - analytics:read + - oauth2: + - analytics:read summary: Get visitor attribute metric tags: - Analytics Data + x-required-scope: analytics:read x-content-type: application/json x-accepts: - application/json /v1/analytics/attributes/values: post: - description: "Returns the individual recorded values of one attribute, most\ - \ recent first. Intended for free text such as comments." + description: |- + Returns the individual recorded values of one attribute, most recent first. Intended for free text such as comments. + + Requires the `analytics:read` scope. operationId: AnalyticsDataService_GetAttributeValues + parameters: + - description: Makes retrying this request safe. See components.parameters.IdempotencyKey. + explode: false + in: header + name: Idempotency-Key + required: false + schema: + maxLength: 255 + minLength: 1 + type: string + style: simple requestBody: content: application/json: @@ -170,25 +565,60 @@ paths: schema: $ref: "#/components/schemas/GetAttributeValuesResponse" description: Everything worked as expected. + headers: + Idempotent-Replayed: + $ref: "#/components/headers/Idempotent-Replayed" + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" security: - - bearerAuth: [] + - bearerAuth: + - analytics:read + - oauth2: + - analytics:read summary: List visitor attribute values tags: - Analytics Data + x-required-scope: analytics:read x-content-type: application/json x-accepts: - application/json /v1/analytics/breakdown: post: - description: "Returns a ranked breakdown of events by any dimension (browser,\ - \ platform, device type, country, city, visit type)." + description: |- + Returns a ranked breakdown of events by any dimension (browser, platform, device type, country, city, visit type). + + Requires the `analytics:read` scope. operationId: AnalyticsDataService_GetBreakdown + parameters: + - description: Makes retrying this request safe. See components.parameters.IdempotencyKey. + explode: false + in: header + name: Idempotency-Key + required: false + schema: + maxLength: 255 + minLength: 1 + type: string + style: simple requestBody: content: application/json: @@ -202,22 +632,45 @@ paths: schema: $ref: "#/components/schemas/GetBreakdownResponse" description: Everything worked as expected. + headers: + Idempotent-Replayed: + $ref: "#/components/headers/Idempotent-Replayed" + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" security: - - bearerAuth: [] + - bearerAuth: + - analytics:read + - oauth2: + - analytics:read summary: Get dimension breakdown tags: - Analytics Data + x-required-scope: analytics:read x-content-type: application/json x-accepts: - application/json /v1/analytics/dashboards: get: + description: Requires the `analytics:read` scope. operationId: AnalyticsDashboardService_ListDashboards parameters: - description: |- @@ -263,6 +716,15 @@ paths: schema: type: string style: form + - description: "Opaque cursor from the previous page's nextPageToken. Same as\ + \ pageToken; when both are sent, pageToken wins." + explode: true + in: query + name: cursor + required: false + schema: + type: string + style: form responses: "200": content: @@ -270,21 +732,60 @@ paths: schema: $ref: "#/components/schemas/ListDashboardsResponse" description: Everything worked as expected. + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" security: - - bearerAuth: [] + - bearerAuth: + - analytics:read + - oauth2: + - analytics:read summary: List analytics dashboards tags: - Analytics Dashboard + x-pagination: + cursorAlias: cursor + cursorParam: pageToken + endOfList: nextPageToken is empty or absent + nextCursorField: nextPageToken + pageSizeParam: pageSize + type: cursor + x-required-scope: analytics:read x-accepts: - application/json post: + description: Requires the `analytics:write` scope. operationId: AnalyticsDashboardService_CreateDashboard + parameters: + - description: Makes retrying this request safe. See components.parameters.IdempotencyKey. + explode: false + in: header + name: Idempotency-Key + required: false + schema: + maxLength: 255 + minLength: 1 + type: string + style: simple requestBody: content: application/json: @@ -298,24 +799,48 @@ paths: schema: $ref: "#/components/schemas/CreateDashboardResponse" description: Everything worked as expected. + headers: + Idempotent-Replayed: + $ref: "#/components/headers/Idempotent-Replayed" + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" security: - - bearerAuth: [] + - bearerAuth: + - analytics:write + - oauth2: + - analytics:write summary: Create analytics dashboard tags: - Analytics Dashboard + x-required-scope: analytics:write x-content-type: application/json x-accepts: - application/json /v1/analytics/dashboards/{dashboardId}/widgets/{widgetId}/summary: get: - description: "Returns the last generated analysis, and whether the underlying\ - \ values have changed since." + description: |- + Returns the last generated analysis, and whether the underlying values have changed since. + + Requires the `analytics:read` scope. operationId: AnalyticsDashboardService_GetWidgetSummary parameters: - explode: false @@ -339,22 +864,44 @@ paths: schema: $ref: "#/components/schemas/GetWidgetSummaryResponse" description: Everything worked as expected. + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" security: - - bearerAuth: [] + - bearerAuth: + - analytics:read + - oauth2: + - analytics:read summary: Get a stored widget assistant summary tags: - Analytics Dashboard + x-required-scope: analytics:read x-accepts: - application/json post: - description: "Analyses the widget's current values and stores the result. Consumes\ - \ platform credits, so it runs only when requested." + description: |- + Analyses the widget's current values and stores the result. Consumes platform credits, so it runs only when requested. + + Requires the `analytics:write` scope. operationId: AnalyticsDashboardService_GenerateWidgetSummary parameters: - description: Dashboard holding the widget @@ -373,6 +920,16 @@ paths: schema: type: string style: simple + - description: Makes retrying this request safe. See components.parameters.IdempotencyKey. + explode: false + in: header + name: Idempotency-Key + required: false + schema: + maxLength: 255 + minLength: 1 + type: string + style: simple requestBody: content: application/json: @@ -386,23 +943,48 @@ paths: schema: $ref: "#/components/schemas/GenerateWidgetSummaryResponse" description: Everything worked as expected. + headers: + Idempotent-Replayed: + $ref: "#/components/headers/Idempotent-Replayed" + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" security: - - bearerAuth: [] + - bearerAuth: + - analytics:write + - oauth2: + - analytics:write summary: Generate a widget assistant summary tags: - Analytics Dashboard + x-required-scope: analytics:write x-content-type: application/json x-accepts: - application/json /v1/analytics/dashboards/{id}: delete: - description: Delete a dashboard and its associated assistant conversation. + description: |- + Delete a dashboard and its associated assistant conversation. + + Requires the `analytics:write` scope. operationId: AnalyticsDashboardService_DeleteDashboard parameters: - explode: false @@ -419,20 +1001,41 @@ paths: schema: $ref: "#/components/schemas/DeleteDashboardResponse" description: Everything worked as expected. + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" security: - - bearerAuth: [] + - bearerAuth: + - analytics:write + - oauth2: + - analytics:write summary: Delete analytics dashboard tags: - Analytics Dashboard + x-required-scope: analytics:write x-accepts: - application/json put: + description: Requires the `analytics:write` scope. operationId: AnalyticsDashboardService_UpdateDashboard parameters: - description: ID of the dashboard to update. @@ -443,6 +1046,16 @@ paths: schema: type: string style: simple + - description: Makes retrying this request safe. See components.parameters.IdempotencyKey. + explode: false + in: header + name: Idempotency-Key + required: false + schema: + maxLength: 255 + minLength: 1 + type: string + style: simple requestBody: content: application/json: @@ -456,24 +1069,60 @@ paths: schema: $ref: "#/components/schemas/UpdateDashboardResponse" description: Everything worked as expected. + headers: + Idempotent-Replayed: + $ref: "#/components/headers/Idempotent-Replayed" + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" security: - - bearerAuth: [] + - bearerAuth: + - analytics:write + - oauth2: + - analytics:write summary: Update analytics dashboard tags: - Analytics Dashboard + x-required-scope: analytics:write x-content-type: application/json x-accepts: - application/json /v1/analytics/devices: post: - description: Retrieve event distribution across device types. + description: |- + Retrieve event distribution across device types. + + Requires the `analytics:read` scope. operationId: AnalyticsDataService_GetDeviceDistribution + parameters: + - description: Makes retrying this request safe. See components.parameters.IdempotencyKey. + explode: false + in: header + name: Idempotency-Key + required: false + schema: + maxLength: 255 + minLength: 1 + type: string + style: simple requestBody: content: application/json: @@ -487,26 +1136,60 @@ paths: schema: $ref: "#/components/schemas/GetDeviceDistributionResponse" description: Everything worked as expected. + headers: + Idempotent-Replayed: + $ref: "#/components/headers/Idempotent-Replayed" + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" security: - - bearerAuth: [] + - bearerAuth: + - analytics:read + - oauth2: + - analytics:read summary: Get device distribution tags: - Analytics Data + x-required-scope: analytics:read x-content-type: application/json x-accepts: - application/json /v1/analytics/funnel: post: - description: "Returns the workflow steps visitors reached, in distinct visitors,\ - \ ordered from arrival to exit, with the conversion rate and drop-off at each\ - \ step." + description: |- + Returns the workflow steps visitors reached, in distinct visitors, ordered from arrival to exit, with the conversion rate and drop-off at each step. + + Requires the `analytics:read` scope. operationId: AnalyticsDataService_GetStepFunnel + parameters: + - description: Makes retrying this request safe. See components.parameters.IdempotencyKey. + explode: false + in: header + name: Idempotency-Key + required: false + schema: + maxLength: 255 + minLength: 1 + type: string + style: simple requestBody: content: application/json: @@ -520,25 +1203,60 @@ paths: schema: $ref: "#/components/schemas/GetStepFunnelResponse" description: Everything worked as expected. + headers: + Idempotent-Replayed: + $ref: "#/components/headers/Idempotent-Replayed" + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" security: - - bearerAuth: [] + - bearerAuth: + - analytics:read + - oauth2: + - analytics:read summary: Get workflow step funnel tags: - Analytics Data + x-required-scope: analytics:read x-content-type: application/json x-accepts: - application/json /v1/analytics/geo: post: - description: Retrieve geographic distribution of events grouped by country or - city. + description: |- + Retrieve geographic distribution of events grouped by country or city. + + Requires the `analytics:read` scope. operationId: AnalyticsDataService_GetGeoBreakdown + parameters: + - description: Makes retrying this request safe. See components.parameters.IdempotencyKey. + explode: false + in: header + name: Idempotency-Key + required: false + schema: + maxLength: 255 + minLength: 1 + type: string + style: simple requestBody: content: application/json: @@ -552,25 +1270,60 @@ paths: schema: $ref: "#/components/schemas/GetGeoBreakdownResponse" description: Everything worked as expected. + headers: + Idempotent-Replayed: + $ref: "#/components/headers/Idempotent-Replayed" + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" security: - - bearerAuth: [] + - bearerAuth: + - analytics:read + - oauth2: + - analytics:read summary: Get geographic breakdown tags: - Analytics Data + x-required-scope: analytics:read x-content-type: application/json x-accepts: - application/json /v1/analytics/hours: post: - description: Retrieve event counts aggregated by hour of day for identifying - peak activity times. + description: |- + Retrieve event counts aggregated by hour of day for identifying peak activity times. + + Requires the `analytics:read` scope. operationId: AnalyticsDataService_GetHourOfDayDistribution + parameters: + - description: Makes retrying this request safe. See components.parameters.IdempotencyKey. + explode: false + in: header + name: Idempotency-Key + required: false + schema: + maxLength: 255 + minLength: 1 + type: string + style: simple requestBody: content: application/json: @@ -584,25 +1337,60 @@ paths: schema: $ref: "#/components/schemas/GetHourOfDayDistributionResponse" description: Everything worked as expected. + headers: + Idempotent-Replayed: + $ref: "#/components/headers/Idempotent-Replayed" + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" security: - - bearerAuth: [] + - bearerAuth: + - analytics:read + - oauth2: + - analytics:read summary: Get hour of day distribution tags: - Analytics Data + x-required-scope: analytics:read x-content-type: application/json x-accepts: - application/json /v1/analytics/timeseries: post: - description: "Retrieve time-bucketed event counts grouped by a dimension like\ - \ country, city, device type, or visit type." + description: |- + Retrieve time-bucketed event counts grouped by a dimension like country, city, device type, or visit type. + + Requires the `analytics:read` scope. operationId: AnalyticsDataService_GetGroupedTimeSeries + parameters: + - description: Makes retrying this request safe. See components.parameters.IdempotencyKey. + explode: false + in: header + name: Idempotency-Key + required: false + schema: + maxLength: 255 + minLength: 1 + type: string + style: simple requestBody: content: application/json: @@ -616,25 +1404,60 @@ paths: schema: $ref: "#/components/schemas/GetGroupedTimeSeriesResponse" description: Everything worked as expected. + headers: + Idempotent-Replayed: + $ref: "#/components/headers/Idempotent-Replayed" + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" security: - - bearerAuth: [] + - bearerAuth: + - analytics:read + - oauth2: + - analytics:read summary: Get grouped time series tags: - Analytics Data + x-required-scope: analytics:read x-content-type: application/json x-accepts: - application/json /v1/analytics/top-links: post: - description: Retrieve links ranked by event count for identifying best performing - QR codes and links. + description: |- + Retrieve links ranked by event count for identifying best performing QR codes and links. + + Requires the `analytics:read` scope. operationId: AnalyticsDataService_GetTopLinks + parameters: + - description: Makes retrying this request safe. See components.parameters.IdempotencyKey. + explode: false + in: header + name: Idempotency-Key + required: false + schema: + maxLength: 255 + minLength: 1 + type: string + style: simple requestBody: content: application/json: @@ -648,24 +1471,60 @@ paths: schema: $ref: "#/components/schemas/GetTopLinksResponse" description: Everything worked as expected. + headers: + Idempotent-Replayed: + $ref: "#/components/headers/Idempotent-Replayed" + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" security: - - bearerAuth: [] + - bearerAuth: + - analytics:read + - oauth2: + - analytics:read summary: Get top performing links tags: - Analytics Data + x-required-scope: analytics:read x-content-type: application/json x-accepts: - application/json /v1/analytics/visitors: post: - description: Retrieve new vs returning visitor counts over time. + description: |- + Retrieve new vs returning visitor counts over time. + + Requires the `analytics:read` scope. operationId: AnalyticsDataService_GetVisitorTrends + parameters: + - description: Makes retrying this request safe. See components.parameters.IdempotencyKey. + explode: false + in: header + name: Idempotency-Key + required: false + schema: + maxLength: 255 + minLength: 1 + type: string + style: simple requestBody: content: application/json: @@ -679,23 +1538,88 @@ paths: schema: $ref: "#/components/schemas/GetVisitorTrendsResponse" description: Everything worked as expected. + headers: + Idempotent-Replayed: + $ref: "#/components/headers/Idempotent-Replayed" + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" security: - - bearerAuth: [] + - bearerAuth: + - analytics:read + - oauth2: + - analytics:read summary: Get visitor trends tags: - Analytics Data + x-required-scope: analytics:read x-content-type: application/json x-accepts: - application/json + /v1/api-scopes: + get: + description: "List every scope an API token or OAuth grant can hold, with the\ + \ resource it covers and what it allows. Needs no authentication." + operationId: WorkspaceTokensService_ListApiScopes + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/ListApiScopesResponse" + description: Everything worked as expected. + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" + default: + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + security: [] + summary: List API scopes + tags: + - API Scopes + x-accepts: + - application/json /v1/assistant/conversation: delete: - description: Clear the conversation history for a specific context. + description: |- + Clear the conversation history for a specific context. + + Requires the `assistant:write` scope. operationId: AssistantService_ClearConversation parameters: - description: |2- @@ -728,21 +1652,44 @@ paths: schema: $ref: "#/components/schemas/AssistantClearConversationResponse" description: Everything worked as expected. + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" security: - - bearerAuth: [] + - bearerAuth: + - assistant:write + - oauth2: + - assistant:write summary: Clear assistant conversation tags: - Assistant + x-required-scope: assistant:write x-accepts: - application/json get: - description: Get the display-ready chat history for a specific context. + description: |- + Get the display-ready chat history for a specific context. + + Requires the `assistant:read` scope. operationId: AssistantService_GetConversation parameters: - description: |2- @@ -775,25 +1722,57 @@ paths: schema: $ref: "#/components/schemas/AssistantGetConversationResponse" description: Everything worked as expected. + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" security: - - bearerAuth: [] + - bearerAuth: + - assistant:read + - oauth2: + - assistant:read summary: Get assistant conversation tags: - Assistant + x-required-scope: assistant:read x-accepts: - application/json /v1/assistant/conversation/read: post: - description: "Record that the member has seen every assistant reply in this\ - \ conversation. Call it when the thread is actually on screen, not when history\ - \ is fetched." + description: |- + Record that the member has seen every assistant reply in this conversation. Call it when the thread is actually on screen, not when history is fetched. + + Requires the `assistant:write` scope. operationId: AssistantService_MarkConversationRead + parameters: + - description: Makes retrying this request safe. See components.parameters.IdempotencyKey. + explode: false + in: header + name: Idempotency-Key + required: false + schema: + maxLength: 255 + minLength: 1 + type: string + style: simple requestBody: content: application/json: @@ -807,25 +1786,60 @@ paths: schema: $ref: "#/components/schemas/AssistantMarkConversationReadResponse" description: Everything worked as expected. + headers: + Idempotent-Replayed: + $ref: "#/components/headers/Idempotent-Replayed" + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" security: - - bearerAuth: [] + - bearerAuth: + - assistant:write + - oauth2: + - assistant:write summary: Mark assistant conversation read tags: - Assistant + x-required-scope: assistant:write x-content-type: application/json x-accepts: - application/json /v1/assistant/upload: post: - description: Upload a file to attach to the next assistant message. Returns - a temporary file ID. Files expire after 5 minutes. Max 20MB. + description: |- + Upload a file to attach to the next assistant message. Returns a temporary file ID. Files expire after 5 minutes. Max 20MB. + + Requires the `assistant:write` scope. operationId: AssistantService_UploadFile + parameters: + - description: Makes retrying this request safe. See components.parameters.IdempotencyKey. + explode: false + in: header + name: Idempotency-Key + required: false + schema: + maxLength: 255 + minLength: 1 + type: string + style: simple requestBody: content: application/json: @@ -839,23 +1853,48 @@ paths: schema: $ref: "#/components/schemas/AssistantUploadFileResponse" description: Everything worked as expected. + headers: + Idempotent-Replayed: + $ref: "#/components/headers/Idempotent-Replayed" + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" security: - - bearerAuth: [] + - bearerAuth: + - assistant:write + - oauth2: + - assistant:write summary: Upload file for assistant chat tags: - Assistant + x-required-scope: assistant:write x-content-type: application/json x-accepts: - application/json /v1/custom-domains: get: - description: Retrieves the custom domains for your workspace + description: |- + Retrieves the custom domains for your workspace + + Requires the `domains:read` scope. operationId: CustomDomainsService_List parameters: - description: |- @@ -898,6 +1937,15 @@ paths: schema: type: string style: form + - description: "Opaque cursor from the previous page's nextPageToken. Same as\ + \ pageToken; when both are sent, pageToken wins." + explode: true + in: query + name: cursor + required: false + schema: + type: string + style: form responses: "200": content: @@ -905,23 +1953,63 @@ paths: schema: $ref: "#/components/schemas/ListCustomDomainsResponse" description: Everything worked as expected. + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" security: - - bearerAuth: [] + - bearerAuth: + - domains:read + - oauth2: + - domains:read summary: List custom domains tags: - Custom Domains + x-pagination: + cursorAlias: cursor + cursorParam: pageToken + endOfList: nextPageToken is empty or absent + nextCursorField: nextPageToken + pageSizeParam: pageSize + type: cursor + x-required-scope: domains:read x-accepts: - application/json post: - description: This endpoint allows users to register a new custom domain that - can be used with their Linkbreakers workspace. + description: |- + This endpoint allows users to register a new custom domain that can be used with their Linkbreakers workspace. + + Requires the `domains:write` scope. operationId: CustomDomainsService_Create + parameters: + - description: Makes retrying this request safe. See components.parameters.IdempotencyKey. + explode: false + in: header + name: Idempotency-Key + required: false + schema: + maxLength: 255 + minLength: 1 + type: string + style: simple requestBody: content: application/json: @@ -935,24 +2023,48 @@ paths: schema: $ref: "#/components/schemas/CreateCustomDomainResponse" description: Everything worked as expected. + headers: + Idempotent-Replayed: + $ref: "#/components/headers/Idempotent-Replayed" + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" security: - - bearerAuth: [] + - bearerAuth: + - domains:write + - oauth2: + - domains:write summary: Create a custom domain tags: - Custom Domains + x-required-scope: domains:write x-content-type: application/json x-accepts: - application/json /v1/custom-domains/{id}: delete: - description: Removes a custom domain from the workspace. This operation cannot - be undone. + description: |- + Removes a custom domain from the workspace. This operation cannot be undone. + + Requires the `domains:write` scope. operationId: CustomDomainsService_Delete parameters: - description: The ID of the custom domain to delete (UUID) @@ -970,27 +2082,56 @@ paths: schema: $ref: "#/components/schemas/DeleteCustomDomainResponse" description: Everything worked as expected. + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" "204": content: application/json: schema: {} description: Custom domain deleted successfully + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" security: - - bearerAuth: [] + - bearerAuth: + - domains:write + - oauth2: + - domains:write summary: Delete a custom domain tags: - Custom Domains + x-required-scope: domains:write x-accepts: - application/json get: - description: Retrieves information about a custom domain including its verification - status and timestamps. + description: |- + Retrieves information about a custom domain including its verification status and timestamps. + + Requires the `domains:read` scope. operationId: CustomDomainsService_Get parameters: - description: The ID of the custom domain to retrieve (UUID) @@ -1008,22 +2149,44 @@ paths: schema: $ref: "#/components/schemas/GetCustomDomainResponse" description: Everything worked as expected. + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" security: - - bearerAuth: [] + - bearerAuth: + - domains:read + - oauth2: + - domains:read summary: Get custom domain details tags: - Custom Domains + x-required-scope: domains:read x-accepts: - application/json patch: - description: "Update settings for a custom domain, such as the root destination\ - \ URL." + description: |- + Update settings for a custom domain, such as the root destination URL. + + Requires the `domains:write` scope. operationId: CustomDomainsService_Update parameters: - description: The ID of the custom domain to update (UUID) @@ -1034,6 +2197,16 @@ paths: schema: type: string style: simple + - description: Makes retrying this request safe. See components.parameters.IdempotencyKey. + explode: false + in: header + name: Idempotency-Key + required: false + schema: + maxLength: 255 + minLength: 1 + type: string + style: simple requestBody: content: application/json: @@ -1047,25 +2220,48 @@ paths: schema: $ref: "#/components/schemas/UpdateCustomDomainResponse" description: Everything worked as expected. + headers: + Idempotent-Replayed: + $ref: "#/components/headers/Idempotent-Replayed" + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" security: - - bearerAuth: [] + - bearerAuth: + - domains:write + - oauth2: + - domains:write summary: Update a custom domain tags: - Custom Domains + x-required-scope: domains:write x-content-type: application/json x-accepts: - application/json /v1/custom-domains/{id}/check: post: - description: Check a custom domain by looking up its DNS records and TLS status. - This is automatically done when the domain is created. It will update the - domain status. + description: |- + Check a custom domain by looking up its DNS records and TLS status. This is automatically done when the domain is created. It will update the domain status. + + Requires the `domains:write` scope. operationId: CustomDomainsService_Check parameters: - description: The ID of the custom domain to retrieve (UUID) @@ -1076,6 +2272,16 @@ paths: schema: type: string style: simple + - description: Makes retrying this request safe. See components.parameters.IdempotencyKey. + explode: false + in: header + name: Idempotency-Key + required: false + schema: + maxLength: 255 + minLength: 1 + type: string + style: simple responses: "200": content: @@ -1083,17 +2289,39 @@ paths: schema: $ref: "#/components/schemas/CheckCustomDomainResponse" description: Everything worked as expected. + headers: + Idempotent-Replayed: + $ref: "#/components/headers/Idempotent-Replayed" + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" security: - - bearerAuth: [] + - bearerAuth: + - domains:write + - oauth2: + - domains:write summary: Check a custom domain tags: - Custom Domains + x-required-scope: domains:write x-accepts: - application/json /v1/custom-domains/{id}/setup-guide: @@ -1104,6 +2332,8 @@ paths: settings, the exact records to add (with the host written the way that provider expects it), provider-specific hints, and a one-click setup URL when the provider supports Domain Connect for Linkbreakers. + + Requires the `domains:read` scope. operationId: CustomDomainsService_GetSetupGuide parameters: - description: The ID of the custom domain (UUID) @@ -1121,23 +2351,45 @@ paths: schema: $ref: "#/components/schemas/GetCustomDomainSetupGuideResponse" description: Everything worked as expected. + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" security: - - bearerAuth: [] + - bearerAuth: + - domains:read + - oauth2: + - domains:read summary: Get the setup guide for a custom domain tags: - Custom Domains + x-required-scope: domains:read x-accepts: - application/json /v1/custom-domains/{id}/validation_instructions: get: - description: Get the instructions for validating a custom domain. There may - be a delay before the instructions are available. + description: |- + Get the instructions for validating a custom domain. There may be a delay before the instructions are available. + + Requires the `domains:read` scope. operationId: CustomDomainsService_ValidationInstructions parameters: - description: The ID of the custom domain to retrieve (UUID) @@ -1155,23 +2407,45 @@ paths: schema: $ref: "#/components/schemas/ValidationInstructionsCustomDomainResponse" description: Everything worked as expected. + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" security: - - bearerAuth: [] + - bearerAuth: + - domains:read + - oauth2: + - domains:read summary: Get the validation instructions tags: - Custom Domains + x-required-scope: domains:read x-accepts: - application/json /v1/directories: get: - description: "List directories in the workspace with optional filtering by parent\ - \ directory, search, and pagination." + description: |- + List directories in the workspace with optional filtering by parent directory, search, and pagination. + + Requires the `links:read` scope. operationId: DirectoriesService_List parameters: - description: The maximum number of directories to return @@ -1237,6 +2511,15 @@ paths: schema: type: boolean style: form + - description: "Opaque cursor from the previous page's nextPageToken. Same as\ + \ pageToken; when both are sent, pageToken wins." + explode: true + in: query + name: cursor + required: false + schema: + type: string + style: form responses: "200": content: @@ -1244,23 +2527,63 @@ paths: schema: $ref: "#/components/schemas/ListDirectoriesResponse" description: Everything worked as expected. + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" security: - - bearerAuth: [] + - bearerAuth: + - links:read + - oauth2: + - links:read summary: List directories tags: - Directories + x-pagination: + cursorAlias: cursor + cursorParam: pageToken + endOfList: nextPageToken is empty or absent + nextCursorField: nextPageToken + pageSizeParam: pageSize + type: cursor + x-required-scope: links:read x-accepts: - application/json post: - description: Create a new directory in the workspace. Optionally nest it under - an existing directory. + description: |- + Create a new directory in the workspace. Optionally nest it under an existing directory. + + Requires the `links:write` scope. operationId: DirectoriesService_Create + parameters: + - description: Makes retrying this request safe. See components.parameters.IdempotencyKey. + explode: false + in: header + name: Idempotency-Key + required: false + schema: + maxLength: 255 + minLength: 1 + type: string + style: simple requestBody: content: application/json: @@ -1274,25 +2597,48 @@ paths: schema: $ref: "#/components/schemas/CreateDirectoryResponse" description: Everything worked as expected. + headers: + Idempotent-Replayed: + $ref: "#/components/headers/Idempotent-Replayed" + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" security: - - bearerAuth: [] + - bearerAuth: + - links:write + - oauth2: + - links:write summary: Create a directory tags: - Directories + x-required-scope: links:write x-content-type: application/json x-accepts: - application/json /v1/directories/{id}: delete: - description: Remove a directory from the workspace. This operation cannot be - undone. A directory cannot be deleted while it still contains links or child - directories; move or remove them first. + description: |- + Remove a directory from the workspace. This operation cannot be undone. A directory cannot be deleted while it still contains links or child directories; move or remove them first. + + Requires the `links:write` scope. operationId: DirectoriesService_Delete parameters: - description: "The ID of the directory to delete. The directory must be empty\ @@ -1312,27 +2658,57 @@ paths: schema: $ref: "#/components/schemas/DeleteDirectoryResponse" description: Everything worked as expected. + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" "412": content: application/json: schema: {} description: Directory cannot be deleted because it still contains links or child directories. + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" security: - - bearerAuth: [] + - bearerAuth: + - links:write + - oauth2: + - links:write summary: Delete a directory tags: - Directories + x-required-scope: links:write x-accepts: - application/json get: - description: Retrieve a directory by its unique identifier. + description: |- + Retrieve a directory by its unique identifier. + + Requires the `links:read` scope. operationId: DirectoriesService_Get parameters: - description: The ID of the directory to retrieve (UUID) @@ -1350,21 +2726,44 @@ paths: schema: $ref: "#/components/schemas/GetDirectoryResponse" description: Everything worked as expected. + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" security: - - bearerAuth: [] + - bearerAuth: + - links:read + - oauth2: + - links:read summary: Get a directory tags: - Directories + x-required-scope: links:read x-accepts: - application/json patch: - description: Update a directory's name or move it under a different parent directory. + description: |- + Update a directory's name or move it under a different parent directory. + + Requires the `links:write` scope. operationId: DirectoriesService_Update parameters: - description: The ID of the directory to update (UUID) @@ -1375,6 +2774,16 @@ paths: schema: type: string style: simple + - description: Makes retrying this request safe. See components.parameters.IdempotencyKey. + explode: false + in: header + name: Idempotency-Key + required: false + schema: + maxLength: 255 + minLength: 1 + type: string + style: simple requestBody: content: application/json: @@ -1388,26 +2797,48 @@ paths: schema: $ref: "#/components/schemas/UpdateDirectoryResponse" description: Everything worked as expected. + headers: + Idempotent-Replayed: + $ref: "#/components/headers/Idempotent-Replayed" + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" security: - - bearerAuth: [] + - bearerAuth: + - links:write + - oauth2: + - links:write summary: Update a directory tags: - Directories + x-required-scope: links:write x-content-type: application/json x-accepts: - application/json /v1/events: get: - description: "Retrieves the workspace's event timeline, returning paginated\ - \ JSON by default or CSV payloads for reporting exports. For workspaces on\ - \ the free plan, events older than 2 weeks are restricted, and for light plan\ - \ workspaces, events older than 3 months are restricted." + description: |- + Retrieves the workspace's event timeline, returning paginated JSON by default or CSV payloads for reporting exports. For workspaces on the free plan, events older than 2 weeks are restricted, and for light plan workspaces, events older than 3 months are restricted. + + Requires the `analytics:read` scope. operationId: EventsService_ListEvents parameters: - description: |- @@ -1502,6 +2933,15 @@ paths: schema: type: string style: form + - description: "Opaque cursor from the previous page's nextPageToken. Same as\ + \ pageToken; when both are sent, pageToken wins." + explode: true + in: query + name: cursor + required: false + schema: + type: string + style: form responses: "200": content: @@ -1509,23 +2949,52 @@ paths: schema: $ref: "#/components/schemas/ListEventsResponse" description: Everything worked as expected. + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" security: - - bearerAuth: [] + - bearerAuth: + - analytics:read + - oauth2: + - analytics:read summary: List events tags: - Events + x-pagination: + cursorAlias: cursor + cursorParam: pageToken + endOfList: nextPageToken is empty or absent + nextCursorField: nextPageToken + pageSizeParam: pageSize + type: cursor + x-required-scope: analytics:read x-accepts: - application/json /v1/events/{eventId}/traces: get: - description: "Retrieves all workflow step traces for an event, ordered by completion\ - \ time. Useful for analyzing user engagement and workflow progression." + description: |- + Retrieves all workflow step traces for an event, ordered by completion time. Useful for analyzing user engagement and workflow progression. + + Requires the `analytics:read` scope. operationId: EventsService_ListEventTraces parameters: - description: Event ID to get traces for (UUID) @@ -1543,22 +3012,45 @@ paths: schema: $ref: "#/components/schemas/ListEventTracesResponse" description: Everything worked as expected. + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" security: - - bearerAuth: [] + - bearerAuth: + - analytics:read + - oauth2: + - analytics:read summary: List event traces tags: - Events + x-required-scope: analytics:read x-accepts: - application/json /v1/google-forms-integrations: delete: - description: Disconnect and remove the Google Forms integration from the workspace. + description: |- + Disconnect and remove the Google Forms integration from the workspace. + + Requires the `integrations:write` scope. operationId: GoogleFormsIntegrationsService_Delete responses: "200": @@ -1568,21 +3060,44 @@ paths: properties: {} type: object description: Everything worked as expected. + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" security: - - bearerAuth: [] + - bearerAuth: + - integrations:write + - oauth2: + - integrations:write summary: Disconnect Google Forms integration tags: - Google Forms Integrations + x-required-scope: integrations:write x-accepts: - application/json get: - description: Retrieve the Google Forms integration for the workspace. + description: |- + Retrieve the Google Forms integration for the workspace. + + Requires the `integrations:read` scope. operationId: GoogleFormsIntegrationsService_Get responses: "200": @@ -1591,22 +3106,56 @@ paths: schema: $ref: "#/components/schemas/GetGoogleFormsIntegrationResponse" description: Everything worked as expected. + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" security: - - bearerAuth: [] + - bearerAuth: + - integrations:read + - oauth2: + - integrations:read summary: Get Google Forms integration tags: - Google Forms Integrations + x-required-scope: integrations:read x-accepts: - application/json patch: - description: Update the integration status (pause or resume syncing). + description: |- + Update the integration status (pause or resume syncing). + + Requires the `integrations:write` scope. operationId: GoogleFormsIntegrationsService_Update + parameters: + - description: Makes retrying this request safe. See components.parameters.IdempotencyKey. + explode: false + in: header + name: Idempotency-Key + required: false + schema: + maxLength: 255 + minLength: 1 + type: string + style: simple requestBody: content: application/json: @@ -1620,24 +3169,48 @@ paths: schema: $ref: "#/components/schemas/UpdateGoogleFormsIntegrationResponse" description: Everything worked as expected. + headers: + Idempotent-Replayed: + $ref: "#/components/headers/Idempotent-Replayed" + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" security: - - bearerAuth: [] + - bearerAuth: + - integrations:write + - oauth2: + - integrations:write summary: Update Google Forms integration tags: - Google Forms Integrations + x-required-scope: integrations:write x-content-type: application/json x-accepts: - application/json /v1/google-forms-integrations/detected-forms: get: - description: Returns Google Forms auto-detected from workspace links that have - a Google Form as their redirect destination. + description: |- + Returns Google Forms auto-detected from workspace links that have a Google Form as their redirect destination. + + Requires the `integrations:read` scope. operationId: GoogleFormsIntegrationsService_ListDetectedForms responses: "200": @@ -1646,23 +3219,45 @@ paths: schema: $ref: "#/components/schemas/ListDetectedGoogleFormsResponse" description: Everything worked as expected. + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" security: - - bearerAuth: [] + - bearerAuth: + - integrations:read + - oauth2: + - integrations:read summary: List detected Google Forms tags: - Google Forms Integrations + x-required-scope: integrations:read x-accepts: - application/json /v1/google-forms-integrations/oauth-url: get: - description: Returns the Google OAuth authorization URL to initiate the connection - flow. + description: |- + Returns the Google OAuth authorization URL to initiate the connection flow. + + Requires the `integrations:write` scope. operationId: GoogleFormsIntegrationsService_GetOAuthURL responses: "200": @@ -1671,24 +3266,57 @@ paths: schema: $ref: "#/components/schemas/GetGoogleFormsOAuthURLResponse" description: Everything worked as expected. + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" security: - - bearerAuth: [] + - bearerAuth: + - integrations:write + - oauth2: + - integrations:write summary: Get Google OAuth URL tags: - Google Forms Integrations + x-required-scope: integrations:write x-accepts: - application/json /v1/google-forms-integrations/oauth/complete: post: - description: Exchanges the Google authorization code for tokens and creates - the workspace integration. + description: |- + Exchanges the Google authorization code for tokens and creates the workspace integration. + + Requires the `integrations:write` scope. operationId: GoogleFormsIntegrationsService_CompleteOAuth + parameters: + - description: Makes retrying this request safe. See components.parameters.IdempotencyKey. + explode: false + in: header + name: Idempotency-Key + required: false + schema: + maxLength: 255 + minLength: 1 + type: string + style: simple requestBody: content: application/json: @@ -1702,25 +3330,60 @@ paths: schema: $ref: "#/components/schemas/CompleteGoogleFormsOAuthResponse" description: Everything worked as expected. + headers: + Idempotent-Replayed: + $ref: "#/components/headers/Idempotent-Replayed" + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" security: - - bearerAuth: [] + - bearerAuth: + - integrations:write + - oauth2: + - integrations:write summary: Complete Google OAuth tags: - Google Forms Integrations + x-required-scope: integrations:write x-content-type: application/json x-accepts: - application/json /v1/google-forms-integrations/sync: post: - description: Trigger an immediate sync of new Google Forms responses from all - detected forms. + description: |- + Trigger an immediate sync of new Google Forms responses from all detected forms. + + Requires the `integrations:write` scope. operationId: GoogleFormsIntegrationsService_SyncNow + parameters: + - description: Makes retrying this request safe. See components.parameters.IdempotencyKey. + explode: false + in: header + name: Idempotency-Key + required: false + schema: + maxLength: 255 + minLength: 1 + type: string + style: simple requestBody: content: application/json: @@ -1734,17 +3397,39 @@ paths: schema: $ref: "#/components/schemas/SyncGoogleFormsResponse" description: Everything worked as expected. + headers: + Idempotent-Replayed: + $ref: "#/components/headers/Idempotent-Replayed" + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" security: - - bearerAuth: [] + - bearerAuth: + - integrations:write + - oauth2: + - integrations:write summary: Sync now tags: - Google Forms Integrations + x-required-scope: integrations:write x-content-type: application/json x-accepts: - application/json @@ -1760,6 +3445,16 @@ paths: schema: type: string style: simple + - description: Makes retrying this request safe. See components.parameters.IdempotencyKey. + explode: false + in: header + name: Idempotency-Key + required: false + schema: + maxLength: 255 + minLength: 1 + type: string + style: simple responses: "200": content: @@ -1768,22 +3463,100 @@ paths: properties: {} type: object description: Everything worked as expected. + headers: + Idempotent-Replayed: + $ref: "#/components/headers/Idempotent-Replayed" + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error - security: - - bearerAuth: [] + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + security: [] summary: Track notifies when an integration installation is attempted tags: - IntegrationsService x-accepts: - application/json + /v1/jobs/{id}: + get: + description: |- + Returns the status of a long-running operation and, once it succeeded, + its result. Poll this until the status is JOB_STATUS_SUCCEEDED or + JOB_STATUS_FAILED. + + Requires the `links:read` scope. + operationId: JobsService_Get + parameters: + - description: The job ID returned when the job was accepted. + explode: false + in: path + name: id + required: true + schema: + type: string + style: simple + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/Job" + description: Everything worked as expected. + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" + default: + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + security: + - bearerAuth: + - links:read + - oauth2: + - links:read + summary: Get a job + tags: + - Jobs + x-required-scope: links:read + x-accepts: + - application/json /v1/links: get: - description: Retrieves the shortened links for your workspace + description: |- + Retrieves the shortened links for your workspace + + Requires the `links:read` scope. operationId: LinksService_List parameters: - description: The maximum number of links to return. @@ -1896,6 +3669,15 @@ paths: schema: type: string style: form + - description: "Opaque cursor from the previous page's nextPageToken. Same as\ + \ pageToken; when both are sent, pageToken wins." + explode: true + in: query + name: cursor + required: false + schema: + type: string + style: form responses: "200": content: @@ -1903,58 +3685,274 @@ paths: schema: $ref: "#/components/schemas/ListLinksResponse" description: Everything worked as expected. + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" security: - - bearerAuth: [] + - bearerAuth: + - links:read + - oauth2: + - links:read summary: List links tags: - Links + x-pagination: + cursorAlias: cursor + cursorParam: pageToken + endOfList: nextPageToken is empty or absent + nextCursorField: nextPageToken + pageSizeParam: pageSize + type: cursor + x-required-scope: links:read x-accepts: - application/json post: description: |- This endpoint allows users to create a new shortened URL link in their Linkbreakers workspace. The URL will be checked for malicious content before being shortened. + + Requires the `links:write` scope. operationId: LinksService_Create + parameters: + - description: Makes retrying this request safe. See components.parameters.IdempotencyKey. + explode: false + in: header + name: Idempotency-Key + required: false + schema: + maxLength: 255 + minLength: 1 + type: string + style: simple + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/CreateLinkRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/CreateLinkResponse" + description: Everything worked as expected. + headers: + Idempotent-Replayed: + $ref: "#/components/headers/Idempotent-Replayed" + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" + default: + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + security: + - bearerAuth: + - links:write + - oauth2: + - links:write + summary: Create a new link + tags: + - Links + x-required-scope: links:write + x-content-type: application/json + x-accepts: + - application/json + /v1/links/batch: + post: + description: |- + Creates links in batch using the same per-link options as Create. + This operation is transactional: if one link fails validation or insertion, + no links from the batch are created. + + Requires the `links:write` scope. + operationId: LinksService_CreateBatch + parameters: + - description: Makes retrying this request safe. See components.parameters.IdempotencyKey. + explode: false + in: header + name: Idempotency-Key + required: false + schema: + maxLength: 255 + minLength: 1 + type: string + style: simple + requestBody: + content: + application/json: + schema: + items: + $ref: "#/components/schemas/CreateLinkRequest" + type: array + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/CreateBulkLinksResponse" + description: Everything worked as expected. + headers: + Idempotent-Replayed: + $ref: "#/components/headers/Idempotent-Replayed" + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" + default: + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + security: + - bearerAuth: + - links:write + - oauth2: + - links:write + summary: Create multiple links in a single request + tags: + - Links + x-required-scope: links:write + x-content-type: application/json + x-accepts: + - application/json + /v1/links/bulk: + post: + description: |- + Creates links in batch using the same per-link options as Create. + This operation is transactional: if one link fails validation or insertion, + no links from the batch are created. + + Requires the `links:write` scope. + operationId: LinksService_CreateBulk + parameters: + - description: Makes retrying this request safe. See components.parameters.IdempotencyKey. + explode: false + in: header + name: Idempotency-Key + required: false + schema: + maxLength: 255 + minLength: 1 + type: string + style: simple requestBody: content: application/json: schema: - $ref: "#/components/schemas/CreateLinkRequest" + $ref: "#/components/schemas/CreateBulkLinksRequest" required: true responses: "200": content: application/json: schema: - $ref: "#/components/schemas/CreateLinkResponse" + $ref: "#/components/schemas/CreateBulkLinksResponse" description: Everything worked as expected. + headers: + Idempotent-Replayed: + $ref: "#/components/headers/Idempotent-Replayed" + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" security: - - bearerAuth: [] - summary: Create a new link + - bearerAuth: + - links:write + - oauth2: + - links:write + summary: Create multiple links in a single request tags: - Links + x-required-scope: links:write x-content-type: application/json x-accepts: - application/json - /v1/links/bulk: + /v1/links/bulk/jobs: post: description: |- - Creates links in batch using the same per-link options as Create. - This operation is transactional: if one link fails validation or insertion, - no links from the batch are created. - operationId: LinksService_CreateBulk + Accepts the same batch as POST /v1/links/bulk, answers 202 Accepted at + once with a job and a Location header, and creates the links in the + background. Poll GET /v1/jobs/{id} for the result. The batch is + transactional: when the job fails, no link was created. + + Requires the `links:write` scope. + operationId: LinksService_CreateBulkAsync + parameters: + - description: Makes retrying this request safe. See components.parameters.IdempotencyKey. + explode: false + in: header + name: Idempotency-Key + required: false + schema: + maxLength: 255 + minLength: 1 + type: string + style: simple requestBody: content: application/json: @@ -1962,23 +3960,61 @@ paths: $ref: "#/components/schemas/CreateBulkLinksRequest" required: true responses: - "200": - content: - application/json: - schema: - $ref: "#/components/schemas/CreateBulkLinksResponse" - description: Everything worked as expected. + "202": + content: + application/json: + schema: + $ref: "#/components/schemas/Job" + description: "Accepted. The links are being created; poll the job at the\ + \ Location header (GET /v1/jobs/{id})." + headers: + Idempotent-Replayed: + $ref: "#/components/headers/Idempotent-Replayed" + Location: + description: "Where to poll the job: GET this path until its status\ + \ is JOB_STATUS_SUCCEEDED or JOB_STATUS_FAILED." + explode: false + schema: + example: /v1/jobs/0b5c7a52-4e0d-4f8a-9a39-5f1f3c0d2e11 + type: string + style: simple + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" security: - - bearerAuth: [] - summary: Create multiple links in a single request + - bearerAuth: + - links:write + - oauth2: + - links:write + summary: Create links in bulk in the background tags: - Links + x-async: + idField: id + statusField: status + statusPath: "/v1/jobs/{id}" + terminal: + - JOB_STATUS_SUCCEEDED + - JOB_STATUS_FAILED + x-required-scope: links:write x-content-type: application/json x-accepts: - application/json @@ -1987,7 +4023,20 @@ paths: description: |- This endpoint allows users to create a new vCard contact link in their Linkbreakers workspace. The link will generate a vCard file for contact information sharing. + + Requires the `links:write` scope. operationId: LinksService_CreateContactLink + parameters: + - description: Makes retrying this request safe. See components.parameters.IdempotencyKey. + explode: false + in: header + name: Idempotency-Key + required: false + schema: + maxLength: 255 + minLength: 1 + type: string + style: simple requestBody: content: application/json: @@ -2001,26 +4050,60 @@ paths: schema: $ref: "#/components/schemas/CreateContactLinkResponse" description: Everything worked as expected. + headers: + Idempotent-Replayed: + $ref: "#/components/headers/Idempotent-Replayed" + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" security: - - bearerAuth: [] + - bearerAuth: + - links:write + - oauth2: + - links:write summary: Create a new contact card link tags: - Links + x-required-scope: links:write x-content-type: application/json x-accepts: - application/json /v1/links/qrcode-images:resolve: post: - description: "Return freshly signed QR code image URLs for the given links.\ - \ The URLs expire, so callers fetch them when they need to render rather than\ - \ storing them." + description: |- + Return freshly signed QR code image URLs for the given links. The URLs expire, so callers fetch them when they need to render rather than storing them. + + Requires the `links:read` scope. operationId: LinksService_ResolveQrcodeImages + parameters: + - description: Makes retrying this request safe. See components.parameters.IdempotencyKey. + explode: false + in: header + name: Idempotency-Key + required: false + schema: + maxLength: 255 + minLength: 1 + type: string + style: simple requestBody: content: application/json: @@ -2034,17 +4117,39 @@ paths: schema: $ref: "#/components/schemas/ResolveQrcodeImagesResponse" description: Everything worked as expected. + headers: + Idempotent-Replayed: + $ref: "#/components/headers/Idempotent-Replayed" + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" security: - - bearerAuth: [] + - bearerAuth: + - links:read + - oauth2: + - links:read summary: Resolve QR code image URLs tags: - Links + x-required-scope: links:read x-content-type: application/json x-accepts: - application/json @@ -2053,6 +4158,8 @@ paths: description: |- Checks if a shortlink is available for use to create a new link. A custom domain can be provided to check against. It typically checks the shortlink slugs and shortlink IDs already present within the system. + + Requires the `links:read` scope. operationId: LinksService_ShortlinkAvailability parameters: - description: The shortlink to check availability for. @@ -2080,22 +4187,45 @@ paths: schema: $ref: "#/components/schemas/ShortlinkAvailabilityResponse" description: Everything worked as expected. + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" security: - - bearerAuth: [] + - bearerAuth: + - links:read + - oauth2: + - links:read summary: Check shortlink availability tags: - Links + x-required-scope: links:read x-accepts: - application/json /v1/links/shortlink-random: get: - description: Generates a random availableshortlink for a new link. + description: |- + Generates a random availableshortlink for a new link. + + Requires the `links:read` scope. operationId: LinksService_ShortlinkRandom responses: "200": @@ -2104,24 +4234,57 @@ paths: schema: $ref: "#/components/schemas/ShortlinkRandomResponse" description: Everything worked as expected. + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" security: - - bearerAuth: [] + - bearerAuth: + - links:read + - oauth2: + - links:read summary: Get a random shortlink tags: - Links + x-required-scope: links:read x-accepts: - application/json /v1/links/thank-you: post: - description: This endpoint allows users to create a new link with a thank you - page as the exit step. + description: |- + This endpoint allows users to create a new link with a thank you page as the exit step. + + Requires the `links:write` scope. operationId: LinksService_CreateThankYouLink + parameters: + - description: Makes retrying this request safe. See components.parameters.IdempotencyKey. + explode: false + in: header + name: Idempotency-Key + required: false + schema: + maxLength: 255 + minLength: 1 + type: string + style: simple requestBody: content: application/json: @@ -2135,24 +4298,48 @@ paths: schema: $ref: "#/components/schemas/CreateThankYouLinkResponse" description: Everything worked as expected. + headers: + Idempotent-Replayed: + $ref: "#/components/headers/Idempotent-Replayed" + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" security: - - bearerAuth: [] + - bearerAuth: + - links:write + - oauth2: + - links:write summary: Create a new thank you page link tags: - Links + x-required-scope: links:write x-content-type: application/json x-accepts: - application/json /v1/links/{id}: delete: - description: Removes a shortened link from the workspace. This operation cannot - be undone. + description: |- + Removes a shortened link from the workspace. This operation cannot be undone. + + Requires the `links:write` scope. operationId: LinksService_Delete parameters: - description: The ID of the link to delete (UUID) @@ -2170,22 +4357,44 @@ paths: schema: $ref: "#/components/schemas/DeleteLinkResponse" description: Everything worked as expected. + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" security: - - bearerAuth: [] + - bearerAuth: + - links:write + - oauth2: + - links:write summary: Delete a link tags: - Links + x-required-scope: links:write x-accepts: - application/json get: - description: Retrieves information about a shortened link including its metadata - and metrics. + description: |- + Retrieves information about a shortened link including its metadata and metrics. + + Requires the `links:read` scope. operationId: LinksService_Get parameters: - description: The ID of the link to retrieve (UUID) @@ -2216,21 +4425,44 @@ paths: schema: $ref: "#/components/schemas/GetLinkResponse" description: Everything worked as expected. + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" security: - - bearerAuth: [] + - bearerAuth: + - links:read + - oauth2: + - links:read summary: Get link details tags: - Links + x-required-scope: links:read x-accepts: - application/json patch: - description: Updates an existing shortened link in your Linkbreakers workspace. + description: |- + Updates an existing shortened link in your Linkbreakers workspace. + + Requires the `links:write` scope. operationId: LinksService_Update parameters: - description: The ID of the link to update (UUID) @@ -2241,6 +4473,16 @@ paths: schema: type: string style: simple + - description: Makes retrying this request safe. See components.parameters.IdempotencyKey. + explode: false + in: header + name: Idempotency-Key + required: false + schema: + maxLength: 255 + minLength: 1 + type: string + style: simple requestBody: content: application/json: @@ -2254,23 +4496,48 @@ paths: schema: $ref: "#/components/schemas/UpdateLinkResponse" description: Everything worked as expected. + headers: + Idempotent-Replayed: + $ref: "#/components/headers/Idempotent-Replayed" + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" security: - - bearerAuth: [] + - bearerAuth: + - links:write + - oauth2: + - links:write summary: Update a link tags: - Links + x-required-scope: links:write x-content-type: application/json x-accepts: - application/json /v1/links/{linkId}/workflow-steps: get: - description: Retrieves all workflow steps for a specific link + description: |- + Retrieves all workflow steps for a specific link + + Requires the `workflows:read` scope. operationId: WorkflowStepsService_List parameters: - description: The ID of the link to list workflow steps for (UUID) @@ -2298,6 +4565,15 @@ paths: schema: type: string style: form + - description: "Opaque cursor from the previous page's nextPageToken. Same as\ + \ pageToken; when both are sent, pageToken wins." + explode: true + in: query + name: cursor + required: false + schema: + type: string + style: form responses: "200": content: @@ -2305,23 +4581,52 @@ paths: schema: $ref: "#/components/schemas/ListWorkflowStepsResponse" description: Everything worked as expected. + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" security: - - bearerAuth: [] + - bearerAuth: + - workflows:read + - oauth2: + - workflows:read summary: List workflow steps for a link tags: - Workflow Steps + x-pagination: + cursorAlias: cursor + cursorParam: pageToken + endOfList: nextPageToken is empty or absent + nextCursorField: nextPageToken + pageSizeParam: pageSize + type: cursor + x-required-scope: workflows:read x-accepts: - application/json post: description: |- This endpoint allows users to create a new workflow step for a link. Workflow steps define the behavior of links, such as redirection destinations. + + Requires the `workflows:write` scope. operationId: WorkflowStepsService_Create parameters: - description: The ID of the link to create the workflow step for (UUID) @@ -2332,6 +4637,16 @@ paths: schema: type: string style: simple + - description: Makes retrying this request safe. See components.parameters.IdempotencyKey. + explode: false + in: header + name: Idempotency-Key + required: false + schema: + maxLength: 255 + minLength: 1 + type: string + style: simple requestBody: content: application/json: @@ -2345,17 +4660,39 @@ paths: schema: $ref: "#/components/schemas/CreateWorkflowStepResponse" description: Everything worked as expected. + headers: + Idempotent-Replayed: + $ref: "#/components/headers/Idempotent-Replayed" + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" security: - - bearerAuth: [] + - bearerAuth: + - workflows:write + - oauth2: + - workflows:write summary: Create a new workflow step tags: - Workflow Steps + x-required-scope: workflows:write x-content-type: application/json x-accepts: - application/json @@ -2364,6 +4701,8 @@ paths: description: |- Arranges all workflow steps in a clean left-to-right DAG layout. Useful after building a workflow from scratch. + + Requires the `workflows:write` scope. operationId: WorkflowStepsService_AutoLayoutWorkflow parameters: - explode: false @@ -2373,6 +4712,16 @@ paths: schema: type: string style: simple + - description: Makes retrying this request safe. See components.parameters.IdempotencyKey. + explode: false + in: header + name: Idempotency-Key + required: false + schema: + maxLength: 255 + minLength: 1 + type: string + style: simple requestBody: content: application/json: @@ -2386,22 +4735,45 @@ paths: schema: $ref: "#/components/schemas/AutoLayoutWorkflowResponse" description: Everything worked as expected. + headers: + Idempotent-Replayed: + $ref: "#/components/headers/Idempotent-Replayed" + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" security: - - bearerAuth: [] + - bearerAuth: + - workflows:write + - oauth2: + - workflows:write summary: Auto-layout workflow tags: - Workflow Steps + x-required-scope: workflows:write x-content-type: application/json x-accepts: - application/json /v1/links/{linkId}/workflow-steps/validate: get: + description: Requires the `workflows:read` scope. operationId: WorkflowStepsService_ValidateWorkflow parameters: - explode: false @@ -2418,22 +4790,44 @@ paths: schema: $ref: "#/components/schemas/ValidateWorkflowResponse" description: Everything worked as expected. + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" security: - - bearerAuth: [] + - bearerAuth: + - workflows:read + - oauth2: + - workflows:read tags: - Workflow Steps + x-required-scope: workflows:read x-accepts: - application/json /v1/links/{linkId}/workflow-steps/{id}: delete: - description: Removes a workflow step from the link. This operation cannot be - undone. + description: |- + Removes a workflow step from the link. This operation cannot be undone. + + Requires the `workflows:write` scope. operationId: WorkflowStepsService_Delete parameters: - description: The ID of the link (UUID) @@ -2459,21 +4853,44 @@ paths: schema: $ref: "#/components/schemas/DeleteWorkflowStepResponse" description: Everything worked as expected. + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" security: - - bearerAuth: [] + - bearerAuth: + - workflows:write + - oauth2: + - workflows:write summary: Delete a workflow step tags: - Workflow Steps + x-required-scope: workflows:write x-accepts: - application/json get: - description: Retrieves information about a specific workflow step. + description: |- + Retrieves information about a specific workflow step. + + Requires the `workflows:read` scope. operationId: WorkflowStepsService_Get parameters: - description: The ID of the link (UUID) @@ -2499,21 +4916,44 @@ paths: schema: $ref: "#/components/schemas/GetWorkflowStepResponse" description: Everything worked as expected. + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" security: - - bearerAuth: [] + - bearerAuth: + - workflows:read + - oauth2: + - workflows:read summary: Get workflow step details tags: - Workflow Steps + x-required-scope: workflows:read x-accepts: - application/json patch: - description: Updates an existing workflow step for a link. + description: |- + Updates an existing workflow step for a link. + + Requires the `workflows:write` scope. operationId: WorkflowStepsService_Update parameters: - description: The ID of the link (UUID) @@ -2532,6 +4972,16 @@ paths: schema: type: string style: simple + - description: Makes retrying this request safe. See components.parameters.IdempotencyKey. + explode: false + in: header + name: Idempotency-Key + required: false + schema: + maxLength: 255 + minLength: 1 + type: string + style: simple requestBody: content: application/json: @@ -2545,17 +4995,39 @@ paths: schema: $ref: "#/components/schemas/UpdateWorkflowStepResponse" description: Everything worked as expected. + headers: + Idempotent-Replayed: + $ref: "#/components/headers/Idempotent-Replayed" + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" security: - - bearerAuth: [] + - bearerAuth: + - workflows:write + - oauth2: + - workflows:write summary: Update a workflow step tags: - Workflow Steps + x-required-scope: workflows:write x-content-type: application/json x-accepts: - application/json @@ -2564,6 +5036,8 @@ paths: description: |- Leaves the branch with no destination. Clearing a branch that is already clear succeeds. See ConnectStep for what a branch id is. + + Requires the `workflows:write` scope. operationId: WorkflowStepsService_DisconnectStep parameters: - description: The ID of the link (UUID) @@ -2597,17 +5071,37 @@ paths: schema: $ref: "#/components/schemas/DisconnectWorkflowStepResponse" description: Everything worked as expected. + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" security: - - bearerAuth: [] + - bearerAuth: + - workflows:write + - oauth2: + - workflows:write summary: Clear one exit of a workflow step tags: - Workflow Steps + x-required-scope: workflows:write x-accepts: - application/json put: @@ -2622,6 +5116,8 @@ paths: Read a step to see its branches, their ids and their current destinations. Idempotent: connecting a branch to the step it already leads to is a no-op. + + Requires the `workflows:write` scope. operationId: WorkflowStepsService_ConnectStep parameters: - description: The ID of the link (UUID) @@ -2650,6 +5146,16 @@ paths: schema: type: string style: simple + - description: Makes retrying this request safe. See components.parameters.IdempotencyKey. + explode: false + in: header + name: Idempotency-Key + required: false + schema: + maxLength: 255 + minLength: 1 + type: string + style: simple requestBody: content: application/json: @@ -2663,17 +5169,39 @@ paths: schema: $ref: "#/components/schemas/ConnectWorkflowStepResponse" description: Everything worked as expected. + headers: + Idempotent-Replayed: + $ref: "#/components/headers/Idempotent-Replayed" + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" security: - - bearerAuth: [] + - bearerAuth: + - workflows:write + - oauth2: + - workflows:write summary: Connect one exit of a workflow step to another step tags: - Workflow Steps + x-required-scope: workflows:write x-content-type: application/json x-accepts: - application/json @@ -2683,6 +5211,8 @@ paths: Pushes overlapping steps away from a given anchor step using iterative radial repulsion. The anchor step stays fixed. Use after adding or moving individual steps to preserve the existing layout. + + Requires the `workflows:write` scope. operationId: WorkflowStepsService_ResolveStepCollisions parameters: - explode: false @@ -2699,6 +5229,16 @@ paths: schema: type: string style: simple + - description: Makes retrying this request safe. See components.parameters.IdempotencyKey. + explode: false + in: header + name: Idempotency-Key + required: false + schema: + maxLength: 255 + minLength: 1 + type: string + style: simple requestBody: content: application/json: @@ -2712,23 +5252,48 @@ paths: schema: $ref: "#/components/schemas/ResolveStepCollisionsResponse" description: Everything worked as expected. + headers: + Idempotent-Replayed: + $ref: "#/components/headers/Idempotent-Replayed" + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" security: - - bearerAuth: [] + - bearerAuth: + - workflows:write + - oauth2: + - workflows:write summary: Resolve step collisions tags: - Workflow Steps + x-required-scope: workflows:write x-content-type: application/json x-accepts: - application/json /v1/media: get: - description: Retrieves the media files for your workspace + description: |- + Retrieves the media files for your workspace + + Requires the `media:read` scope. operationId: MediaService_List parameters: - description: The maximum number of media files to return. @@ -2750,6 +5315,15 @@ paths: schema: type: string style: form + - description: "Opaque cursor from the previous page's nextPageToken. Same as\ + \ pageToken; when both are sent, pageToken wins." + explode: true + in: query + name: cursor + required: false + schema: + type: string + style: form responses: "200": content: @@ -2757,17 +5331,44 @@ paths: schema: $ref: "#/components/schemas/ListMediaResponse" description: Everything worked as expected. + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" security: - - bearerAuth: [] + - bearerAuth: + - media:read + - oauth2: + - media:read summary: List media files tags: - Media + x-pagination: + cursorAlias: cursor + cursorParam: pageToken + endOfList: nextPageToken is empty or absent + nextCursorField: nextPageToken + pageSizeParam: pageSize + type: cursor + x-required-scope: media:read x-accepts: - application/json post: @@ -2775,7 +5376,20 @@ paths: This endpoint allows users to upload a new media file to their Linkbreakers workspace. For now the file size limit is 3MB. Example: Uploading an image to be placed in the center of a QR Code. + + Requires the `media:write` scope. operationId: MediaService_Create + parameters: + - description: Makes retrying this request safe. See components.parameters.IdempotencyKey. + explode: false + in: header + name: Idempotency-Key + required: false + schema: + maxLength: 255 + minLength: 1 + type: string + style: simple requestBody: content: application/json: @@ -2789,24 +5403,48 @@ paths: schema: $ref: "#/components/schemas/CreateMediaResponse" description: Everything worked as expected. + headers: + Idempotent-Replayed: + $ref: "#/components/headers/Idempotent-Replayed" + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" security: - - bearerAuth: [] + - bearerAuth: + - media:write + - oauth2: + - media:write summary: Upload a media file tags: - Media + x-required-scope: media:write x-content-type: application/json x-accepts: - application/json /v1/media/{id}: delete: - description: Removes a media file from the workspace. This operation cannot - be undone. + description: |- + Removes a media file from the workspace. This operation cannot be undone. + + Requires the `media:write` scope. operationId: MediaService_Delete parameters: - description: The ID of the media file to delete (UUID) @@ -2824,28 +5462,57 @@ paths: schema: $ref: "#/components/schemas/DeleteMediaResponse" description: Everything worked as expected. + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" "204": content: application/json: schema: {} description: Media file deleted successfully + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" security: - - bearerAuth: [] + - bearerAuth: + - media:write + - oauth2: + - media:write summary: Delete a media file tags: - Media + x-required-scope: media:write x-accepts: - application/json get: description: |- Retrieves information about a media file including its metadata and URL. Example: Getting details for media with ID "med_123". + + Requires the `media:read` scope. operationId: MediaService_Get parameters: - description: The ID of the media file to retrieve (UUID) @@ -2863,23 +5530,45 @@ paths: schema: $ref: "#/components/schemas/GetMediaResponse" description: Everything worked as expected. + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" security: - - bearerAuth: [] + - bearerAuth: + - media:read + - oauth2: + - media:read summary: Get media file details tags: - Media + x-required-scope: media:read x-accepts: - application/json /v1/member: get: - description: Return the member information associated with the authenticated - caller. + description: |- + Return the member information associated with the authenticated caller. + + Requires the `members:read` scope. operationId: MembersService_GetMyself responses: "200": @@ -2888,22 +5577,56 @@ paths: schema: $ref: "#/components/schemas/Member" description: Everything worked as expected. + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" security: - - bearerAuth: [] + - bearerAuth: + - members:read + - oauth2: + - members:read summary: Get the current member tags: - Members + x-required-scope: members:read x-accepts: - application/json put: - description: Let the signed-in member update their own profile or credentials. + description: |- + Let the signed-in member update their own profile or credentials. + + Requires the `members:write` scope. operationId: MembersService_UpdateMyself + parameters: + - description: Makes retrying this request safe. See components.parameters.IdempotencyKey. + explode: false + in: header + name: Idempotency-Key + required: false + schema: + maxLength: 255 + minLength: 1 + type: string + style: simple requestBody: content: application/json: @@ -2917,23 +5640,48 @@ paths: schema: $ref: "#/components/schemas/Member" description: Everything worked as expected. + headers: + Idempotent-Replayed: + $ref: "#/components/headers/Idempotent-Replayed" + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" security: - - bearerAuth: [] + - bearerAuth: + - members:write + - oauth2: + - members:write summary: Update the current member tags: - Members + x-required-scope: members:write x-content-type: application/json x-accepts: - application/json /v1/members: get: - description: Retrieve a paginated list of members in the current workspace. + description: |- + Retrieve a paginated list of members in the current workspace. + + Requires the `members:read` scope. operationId: MembersService_List parameters: - description: "Maximum number of members to return. Defaults to 100, capped\ @@ -2957,6 +5705,15 @@ paths: schema: type: string style: form + - description: "Opaque cursor from the previous page's nextPageToken. Same as\ + \ pageToken; when both are sent, pageToken wins." + explode: true + in: query + name: cursor + required: false + schema: + type: string + style: form responses: "200": content: @@ -2964,28 +5721,76 @@ paths: schema: $ref: "#/components/schemas/ListResponse" description: Everything worked as expected. + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" "201": content: application/json: schema: {} description: Members listed successfully + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" security: - - bearerAuth: [] + - bearerAuth: + - members:read + - oauth2: + - members:read summary: List members tags: - Members + x-pagination: + cursorAlias: cursor + cursorParam: pageToken + endOfList: nextPageToken is empty or absent + nextCursorField: nextPageToken + pageSizeParam: pageSize + type: cursor + x-required-scope: members:read x-accepts: - application/json /v1/members/invite: post: - description: Create a pending member and dispatch an invitation email. + description: |- + Create a pending member and dispatch an invitation email. + + Requires the `members:write` scope. operationId: MembersService_Invite + parameters: + - description: Makes retrying this request safe. See components.parameters.IdempotencyKey. + explode: false + in: header + name: Idempotency-Key + required: false + schema: + maxLength: 255 + minLength: 1 + type: string + style: simple requestBody: content: application/json: @@ -2999,28 +5804,62 @@ paths: schema: $ref: "#/components/schemas/Member" description: Everything worked as expected. + headers: + Idempotent-Replayed: + $ref: "#/components/headers/Idempotent-Replayed" + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" "201": content: application/json: schema: {} description: Member invited successfully + headers: + Idempotent-Replayed: + $ref: "#/components/headers/Idempotent-Replayed" + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" security: - - bearerAuth: [] + - bearerAuth: + - members:write + - oauth2: + - members:write summary: Invite a new member tags: - Members + x-required-scope: members:write x-content-type: application/json x-accepts: - application/json /v1/members/{id}: delete: - description: Permanently remove a member from the workspace roster. + description: |- + Permanently remove a member from the workspace roster. + + Requires the `members:write` scope. operationId: MembersService_Delete parameters: - description: Member identifier (UUID) to delete @@ -3039,21 +5878,44 @@ paths: properties: {} type: object description: Everything worked as expected. + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" security: - - bearerAuth: [] + - bearerAuth: + - members:write + - oauth2: + - members:write summary: Delete a member tags: - Members + x-required-scope: members:write x-accepts: - application/json get: - description: Fetch a single workspace member by the provided identifier. + description: |- + Fetch a single workspace member by the provided identifier. + + Requires the `members:read` scope. operationId: MembersService_Get parameters: - description: Member identifier (UUID) to retrieve @@ -3071,21 +5933,44 @@ paths: schema: $ref: "#/components/schemas/Member" description: Everything worked as expected. + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" security: - - bearerAuth: [] + - bearerAuth: + - members:read + - oauth2: + - members:read summary: Get a member by ID tags: - Members + x-required-scope: members:read x-accepts: - application/json put: - description: Modify profile details or role assignments for an existing member. + description: |- + Modify profile details or role assignments for an existing member. + + Requires the `members:write` scope. operationId: MembersService_Update parameters: - description: Member identifier (UUID) to update @@ -3096,6 +5981,16 @@ paths: schema: type: string style: simple + - description: Makes retrying this request safe. See components.parameters.IdempotencyKey. + explode: false + in: header + name: Idempotency-Key + required: false + schema: + maxLength: 255 + minLength: 1 + type: string + style: simple requestBody: content: application/json: @@ -3109,23 +6004,48 @@ paths: schema: $ref: "#/components/schemas/Member" description: Everything worked as expected. + headers: + Idempotent-Replayed: + $ref: "#/components/headers/Idempotent-Replayed" + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" security: - - bearerAuth: [] + - bearerAuth: + - members:write + - oauth2: + - members:write summary: Update a member tags: - Members + x-required-scope: members:write x-content-type: application/json x-accepts: - application/json /v1/members/{id}/allow: post: - description: Restore workspace access for a previously suspended member. + description: |- + Restore workspace access for a previously suspended member. + + Requires the `members:write` scope. operationId: MembersService_AllowAccess parameters: - description: Member identifier (UUID) whose access should be restored @@ -3136,6 +6056,16 @@ paths: schema: type: string style: simple + - description: Makes retrying this request safe. See components.parameters.IdempotencyKey. + explode: false + in: header + name: Idempotency-Key + required: false + schema: + maxLength: 255 + minLength: 1 + type: string + style: simple requestBody: content: application/json: @@ -3149,23 +6079,48 @@ paths: schema: $ref: "#/components/schemas/Member" description: Everything worked as expected. + headers: + Idempotent-Replayed: + $ref: "#/components/headers/Idempotent-Replayed" + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" security: - - bearerAuth: [] + - bearerAuth: + - members:write + - oauth2: + - members:write summary: Allow access for a member tags: - Members + x-required-scope: members:write x-content-type: application/json x-accepts: - application/json /v1/members/{id}/revoke: post: - description: Suspend a member's access without removing their account. + description: |- + Suspend a member's access without removing their account. + + Requires the `members:write` scope. operationId: MembersService_RevokeAccess parameters: - description: Member identifier (UUID) whose access should be suspended @@ -3176,6 +6131,16 @@ paths: schema: type: string style: simple + - description: Makes retrying this request safe. See components.parameters.IdempotencyKey. + explode: false + in: header + name: Idempotency-Key + required: false + schema: + maxLength: 255 + minLength: 1 + type: string + style: simple requestBody: content: application/json: @@ -3189,23 +6154,48 @@ paths: schema: $ref: "#/components/schemas/Member" description: Everything worked as expected. + headers: + Idempotent-Replayed: + $ref: "#/components/headers/Idempotent-Replayed" + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" security: - - bearerAuth: [] + - bearerAuth: + - members:write + - oauth2: + - members:write summary: Revoke access for a member tags: - Members + x-required-scope: members:write x-content-type: application/json x-accepts: - application/json /v1/members/{id}/signout: post: - description: Terminate all active sessions for the specified member. + description: |- + Terminate all active sessions for the specified member. + + Requires the `members:write` scope. operationId: MembersService_ForceSignout parameters: - description: Member identifier (UUID) to sign out of all sessions @@ -3216,6 +6206,16 @@ paths: schema: type: string style: simple + - description: Makes retrying this request safe. See components.parameters.IdempotencyKey. + explode: false + in: header + name: Idempotency-Key + required: false + schema: + maxLength: 255 + minLength: 1 + type: string + style: simple requestBody: content: application/json: @@ -3229,24 +6229,48 @@ paths: schema: $ref: "#/components/schemas/Member" description: Everything worked as expected. + headers: + Idempotent-Replayed: + $ref: "#/components/headers/Idempotent-Replayed" + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" security: - - bearerAuth: [] + - bearerAuth: + - members:write + - oauth2: + - members:write summary: Force a member to sign out tags: - Members + x-required-scope: members:write x-content-type: application/json x-accepts: - application/json /v1/metrics/events: get: - description: Retrieve aggregated event analytics for the provided time window - and optional link filter. + description: |- + Retrieve aggregated event analytics for the provided time window and optional link filter. + + Requires the `analytics:read` scope. operationId: MetricsService_GetEventsMetric parameters: - description: Inclusive start timestamp for the aggregation @@ -3285,23 +6309,45 @@ paths: schema: $ref: "#/components/schemas/EventsMetric" description: Everything worked as expected. + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" security: - - bearerAuth: [] + - bearerAuth: + - analytics:read + - oauth2: + - analytics:read summary: Get events metric tags: - Workspace Metrics + x-required-scope: analytics:read x-accepts: - application/json /v1/metrics/workspace: get: - description: "Return high-level workspace totals covering members, links, and\ - \ activity volume." + description: |- + Return high-level workspace totals covering members, links, and activity volume. + + Requires the `analytics:read` scope. operationId: MetricsService_GetWorkspaceMetric responses: "200": @@ -3310,23 +6356,45 @@ paths: schema: $ref: "#/components/schemas/WorkspaceMetric" description: Everything worked as expected. + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" security: - - bearerAuth: [] + - bearerAuth: + - analytics:read + - oauth2: + - analytics:read summary: Get workspace metric tags: - Workspace Metrics + x-required-scope: analytics:read x-accepts: - application/json /v1/metrics/workspace/insight: get: - description: Return workspace usage insights including the preferred link type - based on historical link creation patterns. + description: |- + Return workspace usage insights including the preferred link type based on historical link creation patterns. + + Requires the `analytics:read` scope. operationId: MetricsService_GetWorkspaceInsight responses: "200": @@ -3335,23 +6403,45 @@ paths: schema: $ref: "#/components/schemas/WorkspaceInsight" description: Everything worked as expected. + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" security: - - bearerAuth: [] + - bearerAuth: + - analytics:read + - oauth2: + - analytics:read summary: Get workspace insight tags: - Workspace Metrics + x-required-scope: analytics:read x-accepts: - application/json /v1/page-theme-templates: get: - description: Retrieve page theme templates that belong to the authenticated - caller's workspace. + description: |- + Retrieve page theme templates that belong to the authenticated caller's workspace. + + Requires the `page_themes:read` scope. operationId: PageThemeTemplatesService_ListPageThemeTemplates parameters: - explode: true @@ -3399,6 +6489,15 @@ paths: schema: type: string style: form + - description: "Opaque cursor from the previous page's nextPageToken. Same as\ + \ pageToken; when both are sent, pageToken wins." + explode: true + in: query + name: cursor + required: false + schema: + type: string + style: form responses: "200": content: @@ -3406,23 +6505,63 @@ paths: schema: $ref: "#/components/schemas/ListPageThemeTemplatesResponse" description: Everything worked as expected. + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" security: - - bearerAuth: [] + - bearerAuth: + - page_themes:read + - oauth2: + - page_themes:read summary: List my page theme templates tags: - Page Theme Templates + x-pagination: + cursorAlias: cursor + cursorParam: pageToken + endOfList: nextPageToken is empty or absent + nextCursorField: nextPageToken + pageSizeParam: pageSize + type: cursor + x-required-scope: page_themes:read x-accepts: - application/json post: - description: Create a page theme template by copying the styling of an existing - page theme into a fresh detached theme owned by the template. + description: |- + Create a page theme template by copying the styling of an existing page theme into a fresh detached theme owned by the template. + + Requires the `page_themes:write` scope. operationId: PageThemeTemplatesService_CreatePageThemeTemplate + parameters: + - description: Makes retrying this request safe. See components.parameters.IdempotencyKey. + explode: false + in: header + name: Idempotency-Key + required: false + schema: + maxLength: 255 + minLength: 1 + type: string + style: simple requestBody: content: application/json: @@ -3436,26 +6575,60 @@ paths: schema: $ref: "#/components/schemas/CreatePageThemeTemplateResponse" description: Everything worked as expected. + headers: + Idempotent-Replayed: + $ref: "#/components/headers/Idempotent-Replayed" + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" security: - - bearerAuth: [] + - bearerAuth: + - page_themes:write + - oauth2: + - page_themes:write summary: Create a new page theme template tags: - Page Theme Templates + x-required-scope: page_themes:write x-content-type: application/json x-accepts: - application/json /v1/page-theme-templates/images:resolve: post: - description: "Return freshly signed thumbnail, cover and badge URLs for the\ - \ given templates. The URLs expire, so callers fetch them when they need to\ - \ render rather than storing them." + description: |- + Return freshly signed thumbnail, cover and badge URLs for the given templates. The URLs expire, so callers fetch them when they need to render rather than storing them. + + Requires the `page_themes:read` scope. operationId: PageThemeTemplatesService_ResolvePageThemeTemplateImages + parameters: + - description: Makes retrying this request safe. See components.parameters.IdempotencyKey. + explode: false + in: header + name: Idempotency-Key + required: false + schema: + maxLength: 255 + minLength: 1 + type: string + style: simple requestBody: content: application/json: @@ -3469,25 +6642,60 @@ paths: schema: $ref: "#/components/schemas/ResolvePageThemeTemplateImagesResponse" description: Everything worked as expected. + headers: + Idempotent-Replayed: + $ref: "#/components/headers/Idempotent-Replayed" + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" security: - - bearerAuth: [] + - bearerAuth: + - page_themes:read + - oauth2: + - page_themes:read summary: Resolve page theme template images tags: - Page Theme Templates + x-required-scope: page_themes:read x-content-type: application/json x-accepts: - application/json /v1/page-theme-templates/import: post: - description: Import a public page theme template into your workspace by slug. - Creates a private copy owned by your workspace. + description: |- + Import a public page theme template into your workspace by slug. Creates a private copy owned by your workspace. + + Requires the `page_themes:write` scope. operationId: PageThemeTemplatesService_ImportPageThemeTemplate + parameters: + - description: Makes retrying this request safe. See components.parameters.IdempotencyKey. + explode: false + in: header + name: Idempotency-Key + required: false + schema: + maxLength: 255 + minLength: 1 + type: string + style: simple requestBody: content: application/json: @@ -3501,24 +6709,48 @@ paths: schema: $ref: "#/components/schemas/ImportPageThemeTemplateResponse" description: Everything worked as expected. + headers: + Idempotent-Replayed: + $ref: "#/components/headers/Idempotent-Replayed" + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" security: - - bearerAuth: [] + - bearerAuth: + - page_themes:write + - oauth2: + - page_themes:write summary: Import a public page theme template tags: - Page Theme Templates + x-required-scope: page_themes:write x-content-type: application/json x-accepts: - application/json /v1/page-theme-templates/{id}: delete: - description: Remove a page theme template belonging to the authenticated caller's - workspace. Pages already styled from it are unaffected. + description: |- + Remove a page theme template belonging to the authenticated caller's workspace. Pages already styled from it are unaffected. + + Requires the `page_themes:write` scope. operationId: PageThemeTemplatesService_DeletePageThemeTemplate parameters: - explode: false @@ -3535,27 +6767,56 @@ paths: schema: $ref: "#/components/schemas/DeletePageThemeTemplateResponse" description: Everything worked as expected. + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" "204": content: application/json: schema: {} description: Page theme template deleted successfully + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" security: - - bearerAuth: [] + - bearerAuth: + - page_themes:write + - oauth2: + - page_themes:write summary: Delete a workspace page theme template tags: - Page Theme Templates + x-required-scope: page_themes:write x-accepts: - application/json get: - description: Retrieve a page theme template that belongs to the authenticated - caller's workspace. + description: |- + Retrieve a page theme template that belongs to the authenticated caller's workspace. + + Requires the `page_themes:read` scope. operationId: PageThemeTemplatesService_GetPageThemeTemplate parameters: - explode: false @@ -3581,22 +6842,44 @@ paths: schema: $ref: "#/components/schemas/PageThemeTemplate" description: Everything worked as expected. + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" security: - - bearerAuth: [] + - bearerAuth: + - page_themes:read + - oauth2: + - page_themes:read summary: Get a workspace page theme template tags: - Page Theme Templates + x-required-scope: page_themes:read x-accepts: - application/json patch: - description: Modify the metadata of a page theme template owned by the authenticated - workspace. + description: |- + Modify the metadata of a page theme template owned by the authenticated workspace. + + Requires the `page_themes:write` scope. operationId: PageThemeTemplatesService_UpdatePageThemeTemplate parameters: - description: The ID of the page theme template to update (UUID) @@ -3607,6 +6890,16 @@ paths: schema: type: string style: simple + - description: Makes retrying this request safe. See components.parameters.IdempotencyKey. + explode: false + in: header + name: Idempotency-Key + required: false + schema: + maxLength: 255 + minLength: 1 + type: string + style: simple requestBody: content: application/json: @@ -3620,25 +6913,48 @@ paths: schema: $ref: "#/components/schemas/UpdatePageThemeTemplateResponse" description: Everything worked as expected. + headers: + Idempotent-Replayed: + $ref: "#/components/headers/Idempotent-Replayed" + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" security: - - bearerAuth: [] + - bearerAuth: + - page_themes:write + - oauth2: + - page_themes:write summary: Update a workspace page theme template tags: - Page Theme Templates + x-required-scope: page_themes:write x-content-type: application/json x-accepts: - application/json /v1/page-theme-templates/{id}/publish: post: - description: "Publish a page theme template to make it available in the public\ - \ gallery. Requires workspace to be public and template to have slug, description,\ - \ and name." + description: |- + Publish a page theme template to make it available in the public gallery. Requires workspace to be public and template to have slug, description, and name. + + Requires the `page_themes:write` scope. operationId: PageThemeTemplatesService_PublishPageThemeTemplate parameters: - description: The ID of the page theme template to publish (UUID) @@ -3649,6 +6965,16 @@ paths: schema: type: string style: simple + - description: Makes retrying this request safe. See components.parameters.IdempotencyKey. + explode: false + in: header + name: Idempotency-Key + required: false + schema: + maxLength: 255 + minLength: 1 + type: string + style: simple requestBody: content: application/json: @@ -3662,24 +6988,48 @@ paths: schema: $ref: "#/components/schemas/PublishPageThemeTemplateResponse" description: Everything worked as expected. + headers: + Idempotent-Replayed: + $ref: "#/components/headers/Idempotent-Replayed" + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" security: - - bearerAuth: [] + - bearerAuth: + - page_themes:write + - oauth2: + - page_themes:write summary: Publish a workspace page theme template tags: - Page Theme Templates + x-required-scope: page_themes:write x-content-type: application/json x-accepts: - application/json /v1/page-theme-templates/{id}/styling: patch: - description: "Edit the colours, typography, container and media of a page theme\ - \ template. Queues a thumbnail regeneration." + description: |- + Edit the colours, typography, container and media of a page theme template. Queues a thumbnail regeneration. + + Requires the `page_themes:write` scope. operationId: PageThemeTemplatesService_UpdatePageThemeTemplateStyling parameters: - description: The ID of the page theme template whose styling to update (UUID) @@ -3690,6 +7040,16 @@ paths: schema: type: string style: simple + - description: Makes retrying this request safe. See components.parameters.IdempotencyKey. + explode: false + in: header + name: Idempotency-Key + required: false + schema: + maxLength: 255 + minLength: 1 + type: string + style: simple requestBody: content: application/json: @@ -3703,23 +7063,48 @@ paths: schema: $ref: "#/components/schemas/UpdatePageThemeTemplateStylingResponse" description: Everything worked as expected. + headers: + Idempotent-Replayed: + $ref: "#/components/headers/Idempotent-Replayed" + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" security: - - bearerAuth: [] + - bearerAuth: + - page_themes:write + - oauth2: + - page_themes:write summary: Update a page theme template's styling tags: - Page Theme Templates + x-required-scope: page_themes:write x-content-type: application/json x-accepts: - application/json /v1/page-themes: get: - description: Retrieves all page themes belonging to the caller's workspace. + description: |- + Retrieves all page themes belonging to the caller's workspace. + + Requires the `page_themes:read` scope. operationId: PageThemesService_ListPageThemes parameters: - description: "Maximum number of page themes to return. Defaults to 100, capped\ @@ -3743,6 +7128,15 @@ paths: schema: type: string style: form + - description: "Opaque cursor from the previous page's nextPageToken. Same as\ + \ pageToken; when both are sent, pageToken wins." + explode: true + in: query + name: cursor + required: false + schema: + type: string + style: form responses: "200": content: @@ -3750,17 +7144,44 @@ paths: schema: $ref: "#/components/schemas/ListPageThemesResponse" description: Everything worked as expected. + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" security: - - bearerAuth: [] + - bearerAuth: + - page_themes:read + - oauth2: + - page_themes:read summary: List page themes for the current workspace tags: - Page Themes + x-pagination: + cursorAlias: cursor + cursorParam: pageToken + endOfList: nextPageToken is empty or absent + nextCursorField: nextPageToken + pageSizeParam: pageSize + type: cursor + x-required-scope: page_themes:read x-accepts: - application/json /v1/page-themes/apply-template: @@ -3770,7 +7191,20 @@ paths: own theme row, so the template can later be edited or deleted without changing any page that was styled from it. Cover and badge media are copied into the caller's workspace when the template carries them. + + Requires the `page_themes:write` scope. operationId: PageThemesService_ApplyPageThemeTemplate + parameters: + - description: Makes retrying this request safe. See components.parameters.IdempotencyKey. + explode: false + in: header + name: Idempotency-Key + required: false + schema: + maxLength: 255 + minLength: 1 + type: string + style: simple requestBody: content: application/json: @@ -3784,30 +7218,60 @@ paths: schema: $ref: "#/components/schemas/ApplyPageThemeTemplateResponse" description: Everything worked as expected. + headers: + Idempotent-Replayed: + $ref: "#/components/headers/Idempotent-Replayed" + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" "404": content: application/json: schema: {} description: The requested resource doesn't exist. + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" security: - - bearerAuth: [] + - bearerAuth: + - page_themes:write + - oauth2: + - page_themes:write summary: Apply a page theme template to a link tags: - Page Themes + x-required-scope: page_themes:write x-content-type: application/json x-accepts: - application/json /v1/page-themes/matching-template: get: - description: "Returns the page theme template available to the workspace whose\ - \ styling is identical to the link's current page theme, if one exists. Saving\ - \ the theme as a template again would only duplicate it." + description: |- + Returns the page theme template available to the workspace whose styling is identical to the link's current page theme, if one exists. Saving the theme as a template again would only duplicate it. + + Requires the `page_themes:read` scope. operationId: PageThemeTemplatesService_FindMatchingPageThemeTemplate parameters: - description: Link whose current page theme should be matched @@ -3825,22 +7289,45 @@ paths: schema: $ref: "#/components/schemas/FindMatchingPageThemeTemplateResponse" description: Everything worked as expected. + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" security: - - bearerAuth: [] + - bearerAuth: + - page_themes:read + - oauth2: + - page_themes:read summary: Find a page theme template matching a link's styling tags: - Page Themes + x-required-scope: page_themes:read x-accepts: - application/json /v1/page-themes/{id}: get: - description: Retrieves a specific page theme by ID. + description: |- + Retrieves a specific page theme by ID. + + Requires the `page_themes:read` scope. operationId: PageThemesService_GetPageTheme parameters: - description: Page theme ID to retrieve @@ -3858,27 +7345,56 @@ paths: schema: $ref: "#/components/schemas/GetPageThemeResponse" description: Everything worked as expected. + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" "404": content: application/json: schema: {} description: The requested resource doesn't exist. + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" security: - - bearerAuth: [] + - bearerAuth: + - page_themes:read + - oauth2: + - page_themes:read summary: Get a page theme tags: - Page Themes + x-required-scope: page_themes:read x-accepts: - application/json patch: - description: Updates an existing page theme. Cannot update page themes that - are currently attached to links. + description: |- + Updates an existing page theme. Cannot update page themes that are currently attached to links. + + Requires the `page_themes:write` scope. operationId: PageThemesService_UpdatePageTheme parameters: - description: Page theme ID to update @@ -3889,6 +7405,16 @@ paths: schema: type: string style: simple + - description: Makes retrying this request safe. See components.parameters.IdempotencyKey. + explode: false + in: header + name: Idempotency-Key + required: false + schema: + maxLength: 255 + minLength: 1 + type: string + style: simple requestBody: content: application/json: @@ -3902,31 +7428,107 @@ paths: schema: $ref: "#/components/schemas/UpdatePageThemeResponse" description: Everything worked as expected. + headers: + Idempotent-Replayed: + $ref: "#/components/headers/Idempotent-Replayed" + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" "400": content: application/json: schema: {} description: "The request was unacceptable, often due to missing a required\ \ parameter." + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" "404": content: application/json: schema: {} description: The requested resource doesn't exist. + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" security: - - bearerAuth: [] + - bearerAuth: + - page_themes:write + - oauth2: + - page_themes:write summary: Update a page theme tags: - Page Themes + x-required-scope: page_themes:write x-content-type: application/json x-accepts: - application/json + /v1/pricing/plans: + get: + description: "Retrieve every plan with its prices, limits and features. Public,\ + \ no authentication required." + operationId: PricingService_ListPricingPlans + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/ListPricingPlansResponse" + description: Everything worked as expected. + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" + default: + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + security: [] + summary: List pricing plans + tags: + - Pricing + x-accepts: + - application/json /v1/public/page-theme-templates: get: description: "Retrieve available public page theme templates, optionally filtered\ @@ -3982,6 +7584,15 @@ paths: schema: type: string style: form + - description: "Opaque cursor from the previous page's nextPageToken. Same as\ + \ pageToken; when both are sent, pageToken wins." + explode: true + in: query + name: cursor + required: false + schema: + type: string + style: form responses: "200": content: @@ -3989,17 +7600,39 @@ paths: schema: $ref: "#/components/schemas/PublicListPageThemeTemplatesResponse" description: Everything worked as expected. + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error - security: - - bearerAuth: [] + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + security: [] summary: List page theme templates tags: - Page Theme Templates + x-pagination: + cursorAlias: cursor + cursorParam: pageToken + endOfList: nextPageToken is empty or absent + nextCursorField: nextPageToken + pageSizeParam: pageSize + type: cursor x-accepts: - application/json /v1/public/page-theme-templates/{slug}: @@ -4035,14 +7668,29 @@ paths: schema: $ref: "#/components/schemas/PublicPageThemeTemplate" description: Everything worked as expected. + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error - security: - - bearerAuth: [] + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + security: [] summary: Get a public page theme template tags: - Page Theme Templates @@ -4053,6 +7701,17 @@ paths: description: Provision a QR code styling preset that can be reused across links or templates. operationId: QrcodeDesignService_PublicCreate + parameters: + - description: Makes retrying this request safe. See components.parameters.IdempotencyKey. + explode: false + in: header + name: Idempotency-Key + required: false + schema: + maxLength: 255 + minLength: 1 + type: string + style: simple requestBody: content: application/json: @@ -4066,19 +7725,45 @@ paths: schema: $ref: "#/components/schemas/PublicCreateQrcodeDesignResponse" description: Everything worked as expected. + headers: + Idempotent-Replayed: + $ref: "#/components/headers/Idempotent-Replayed" + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" "201": content: application/json: schema: {} description: QR code design created successfully + headers: + Idempotent-Replayed: + $ref: "#/components/headers/Idempotent-Replayed" + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error - security: - - bearerAuth: [] + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + security: [] summary: Create a new QR code design tags: - QR Code Designs @@ -4140,6 +7825,15 @@ paths: schema: type: string style: form + - description: "Opaque cursor from the previous page's nextPageToken. Same as\ + \ pageToken; when both are sent, pageToken wins." + explode: true + in: query + name: cursor + required: false + schema: + type: string + style: form responses: "200": content: @@ -4147,17 +7841,39 @@ paths: schema: $ref: "#/components/schemas/PublicListQrcodeTemplatesResponse" description: Everything worked as expected. + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error - security: - - bearerAuth: [] + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + security: [] summary: List QR code templates tags: - QR Code Templates + x-pagination: + cursorAlias: cursor + cursorParam: pageToken + endOfList: nextPageToken is empty or absent + nextCursorField: nextPageToken + pageSizeParam: pageSize + type: cursor x-accepts: - application/json /v1/public/qrcode-templates/{slug}: @@ -4193,14 +7909,29 @@ paths: schema: $ref: "#/components/schemas/PublicQrcodeTemplate" description: Everything worked as expected. + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error - security: - - bearerAuth: [] + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + security: [] summary: Get a public QR code template tags: - QR Code Templates @@ -4226,14 +7957,29 @@ paths: schema: $ref: "#/components/schemas/PublicWorkspace" description: Everything worked as expected. + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error - security: - - bearerAuth: [] + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + security: [] summary: Get a public workspace by slug tags: - Workspaces @@ -4241,10 +7987,22 @@ paths: - application/json /v1/qrcode-designs/apply-template: post: - description: Copy all design settings from a community QR code template to an - existing link's QR code design. This replaces the current design with the - template's styling. + description: |- + Copy all design settings from a community QR code template to an existing link's QR code design. This replaces the current design with the template's styling. + + Requires the `qrcodes:write` scope. operationId: QrcodeDesignService_ApplyTemplate + parameters: + - description: Makes retrying this request safe. See components.parameters.IdempotencyKey. + explode: false + in: header + name: Idempotency-Key + required: false + schema: + maxLength: 255 + minLength: 1 + type: string + style: simple requestBody: content: application/json: @@ -4258,23 +8016,48 @@ paths: schema: $ref: "#/components/schemas/ApplyQrcodeTemplateResponse" description: Everything worked as expected. + headers: + Idempotent-Replayed: + $ref: "#/components/headers/Idempotent-Replayed" + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" security: - - bearerAuth: [] + - bearerAuth: + - qrcodes:write + - oauth2: + - qrcodes:write summary: Apply a QR code template to a link tags: - QR Code Designs + x-required-scope: qrcodes:write x-content-type: application/json x-accepts: - application/json /v1/qrcode-designs/{id}: delete: - description: Remove a QR code design that is no longer in use by any assets. + description: |- + Remove a QR code design that is no longer in use by any assets. + + Requires the `qrcodes:write` scope. operationId: QrcodeDesignService_Delete parameters: - description: The ID of the QR code design to delete @@ -4292,26 +8075,56 @@ paths: schema: $ref: "#/components/schemas/DeleteQrcodeDesignResponse" description: Everything worked as expected. + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" "204": content: application/json: schema: {} description: QR code design deleted successfully + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" security: - - bearerAuth: [] + - bearerAuth: + - qrcodes:write + - oauth2: + - qrcodes:write summary: Delete a QR code design tags: - QR Code Designs + x-required-scope: qrcodes:write x-accepts: - application/json get: - description: Fetch a QR code design by its identifier including computed metadata. + description: |- + Fetch a QR code design by its identifier including computed metadata. + + Requires the `qrcodes:read` scope. operationId: QrcodeDesignService_Get parameters: - description: The ID of the QR code design to get (UUID) @@ -4329,21 +8142,44 @@ paths: schema: $ref: "#/components/schemas/GetQrcodeDesignResponse" description: Everything worked as expected. + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" security: - - bearerAuth: [] + - bearerAuth: + - qrcodes:read + - oauth2: + - qrcodes:read summary: Get a QR code design tags: - QR Code Designs + x-required-scope: qrcodes:read x-accepts: - application/json patch: - description: Apply styling tweaks or media changes to an existing QR code design. + description: |- + Apply styling tweaks or media changes to an existing QR code design. + + Requires the `qrcodes:write` scope. operationId: QrcodeDesignService_Update parameters: - description: The ID of the QR code design to update (UUID) @@ -4354,6 +8190,16 @@ paths: schema: type: string style: simple + - description: Makes retrying this request safe. See components.parameters.IdempotencyKey. + explode: false + in: header + name: Idempotency-Key + required: false + schema: + maxLength: 255 + minLength: 1 + type: string + style: simple requestBody: content: application/json: @@ -4367,24 +8213,48 @@ paths: schema: $ref: "#/components/schemas/UpdateQrcodeDesignResponse" description: Everything worked as expected. + headers: + Idempotent-Replayed: + $ref: "#/components/headers/Idempotent-Replayed" + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" security: - - bearerAuth: [] + - bearerAuth: + - qrcodes:write + - oauth2: + - qrcodes:write summary: Update a QR code design tags: - QR Code Designs + x-required-scope: qrcodes:write x-content-type: application/json x-accepts: - application/json /v1/qrcode-templates: get: - description: Retrieve QR code templates that belong to the authenticated caller's - workspace. + description: |- + Retrieve QR code templates that belong to the authenticated caller's workspace. + + Requires the `qrcodes:read` scope. operationId: QrcodeTemplatesService_ListQrcodeTemplates parameters: - explode: true @@ -4432,6 +8302,15 @@ paths: schema: type: string style: form + - description: "Opaque cursor from the previous page's nextPageToken. Same as\ + \ pageToken; when both are sent, pageToken wins." + explode: true + in: query + name: cursor + required: false + schema: + type: string + style: form responses: "200": content: @@ -4439,23 +8318,63 @@ paths: schema: $ref: "#/components/schemas/ListQrcodeTemplatesResponse" description: Everything worked as expected. + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" security: - - bearerAuth: [] + - bearerAuth: + - qrcodes:read + - oauth2: + - qrcodes:read summary: List my QR code templates tags: - QR Code Templates + x-pagination: + cursorAlias: cursor + cursorParam: pageToken + endOfList: nextPageToken is empty or absent + nextCursorField: nextPageToken + pageSizeParam: pageSize + type: cursor + x-required-scope: qrcodes:read x-accepts: - application/json post: - description: Create a new QR code template using a fresh design. The design - must not be used by any other links or templates. + description: |- + Create a new QR code template using a fresh design. The design must not be used by any other links or templates. + + Requires the `qrcodes:write` scope. operationId: QrcodeTemplatesService_CreateQrcodeTemplate + parameters: + - description: Makes retrying this request safe. See components.parameters.IdempotencyKey. + explode: false + in: header + name: Idempotency-Key + required: false + schema: + maxLength: 255 + minLength: 1 + type: string + style: simple requestBody: content: application/json: @@ -4469,26 +8388,60 @@ paths: schema: $ref: "#/components/schemas/CreateQrcodeTemplateResponse" description: Everything worked as expected. + headers: + Idempotent-Replayed: + $ref: "#/components/headers/Idempotent-Replayed" + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" security: - - bearerAuth: [] + - bearerAuth: + - qrcodes:write + - oauth2: + - qrcodes:write summary: Create a new QR code template tags: - QR Code Templates + x-required-scope: qrcodes:write x-content-type: application/json x-accepts: - application/json /v1/qrcode-templates/images:resolve: post: - description: "Return freshly signed thumbnail URLs for the given templates.\ - \ The URLs expire, so callers fetch them when they need to render rather than\ - \ storing them." + description: |- + Return freshly signed thumbnail URLs for the given templates. The URLs expire, so callers fetch them when they need to render rather than storing them. + + Requires the `qrcodes:read` scope. operationId: QrcodeTemplatesService_ResolveQrcodeTemplateImages + parameters: + - description: Makes retrying this request safe. See components.parameters.IdempotencyKey. + explode: false + in: header + name: Idempotency-Key + required: false + schema: + maxLength: 255 + minLength: 1 + type: string + style: simple requestBody: content: application/json: @@ -4502,25 +8455,60 @@ paths: schema: $ref: "#/components/schemas/ResolveQrcodeTemplateImagesResponse" description: Everything worked as expected. + headers: + Idempotent-Replayed: + $ref: "#/components/headers/Idempotent-Replayed" + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" security: - - bearerAuth: [] + - bearerAuth: + - qrcodes:read + - oauth2: + - qrcodes:read summary: Resolve QR code template thumbnails tags: - QR Code Templates + x-required-scope: qrcodes:read x-content-type: application/json x-accepts: - application/json /v1/qrcode-templates/import: post: - description: Import a public QR code template into your workspace by slug. Creates - a private copy owned by your workspace. + description: |- + Import a public QR code template into your workspace by slug. Creates a private copy owned by your workspace. + + Requires the `qrcodes:write` scope. operationId: QrcodeTemplatesService_ImportQrcodeTemplate + parameters: + - description: Makes retrying this request safe. See components.parameters.IdempotencyKey. + explode: false + in: header + name: Idempotency-Key + required: false + schema: + maxLength: 255 + minLength: 1 + type: string + style: simple requestBody: content: application/json: @@ -4534,24 +8522,48 @@ paths: schema: $ref: "#/components/schemas/ImportQrcodeTemplateResponse" description: Everything worked as expected. + headers: + Idempotent-Replayed: + $ref: "#/components/headers/Idempotent-Replayed" + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" security: - - bearerAuth: [] + - bearerAuth: + - qrcodes:write + - oauth2: + - qrcodes:write summary: Import a public QR code template tags: - QR Code Templates + x-required-scope: qrcodes:write x-content-type: application/json x-accepts: - application/json /v1/qrcode-templates/{id}: delete: - description: Remove a QR code template belonging to the authenticated caller's - workspace. + description: |- + Remove a QR code template belonging to the authenticated caller's workspace. + + Requires the `qrcodes:write` scope. operationId: QrcodeTemplatesService_DeleteQrcodeTemplate parameters: - explode: false @@ -4568,27 +8580,56 @@ paths: schema: $ref: "#/components/schemas/DeleteQrcodeTemplateResponse" description: Everything worked as expected. + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" "204": content: application/json: schema: {} description: QR code template deleted successfully + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" security: - - bearerAuth: [] + - bearerAuth: + - qrcodes:write + - oauth2: + - qrcodes:write summary: Delete a workspace QR code template tags: - QR Code Templates + x-required-scope: qrcodes:write x-accepts: - application/json get: - description: Retrieve a QR code template that belongs to the authenticated caller's - workspace. + description: |- + Retrieve a QR code template that belongs to the authenticated caller's workspace. + + Requires the `qrcodes:read` scope. operationId: QrcodeTemplatesService_GetQrcodeTemplate parameters: - explode: false @@ -4614,22 +8655,44 @@ paths: schema: $ref: "#/components/schemas/QrcodeTemplate" description: Everything worked as expected. + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" security: - - bearerAuth: [] + - bearerAuth: + - qrcodes:read + - oauth2: + - qrcodes:read summary: Get a workspace QR code template tags: - QR Code Templates + x-required-scope: qrcodes:read x-accepts: - application/json patch: - description: Modify the name or description of a QR code template owned by the - authenticated workspace. + description: |- + Modify the name or description of a QR code template owned by the authenticated workspace. + + Requires the `qrcodes:write` scope. operationId: QrcodeTemplatesService_UpdateQrcodeTemplate parameters: - description: The ID of the QR code template to update (UUID) @@ -4640,6 +8703,16 @@ paths: schema: type: string style: simple + - description: Makes retrying this request safe. See components.parameters.IdempotencyKey. + explode: false + in: header + name: Idempotency-Key + required: false + schema: + maxLength: 255 + minLength: 1 + type: string + style: simple requestBody: content: application/json: @@ -4653,25 +8726,48 @@ paths: schema: $ref: "#/components/schemas/UpdateQrcodeTemplateResponse" description: Everything worked as expected. + headers: + Idempotent-Replayed: + $ref: "#/components/headers/Idempotent-Replayed" + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" security: - - bearerAuth: [] + - bearerAuth: + - qrcodes:write + - oauth2: + - qrcodes:write summary: Update a workspace QR code template tags: - QR Code Templates + x-required-scope: qrcodes:write x-content-type: application/json x-accepts: - application/json /v1/qrcode-templates/{id}/publish: post: - description: "Publish a QR code template to make it available in the public\ - \ gallery. Requires workspace to be public and template to have slug, description,\ - \ and name." + description: |- + Publish a QR code template to make it available in the public gallery. Requires workspace to be public and template to have slug, description, and name. + + Requires the `qrcodes:write` scope. operationId: QrcodeTemplatesService_PublishQrcodeTemplate parameters: - description: The ID of the QR code template to publish (UUID) @@ -4682,6 +8778,16 @@ paths: schema: type: string style: simple + - description: Makes retrying this request safe. See components.parameters.IdempotencyKey. + explode: false + in: header + name: Idempotency-Key + required: false + schema: + maxLength: 255 + minLength: 1 + type: string + style: simple requestBody: content: application/json: @@ -4695,24 +8801,218 @@ paths: schema: $ref: "#/components/schemas/PublishQrcodeTemplateResponse" description: Everything worked as expected. + headers: + Idempotent-Replayed: + $ref: "#/components/headers/Idempotent-Replayed" + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" security: - - bearerAuth: [] + - bearerAuth: + - qrcodes:write + - oauth2: + - qrcodes:write summary: Publish a workspace QR code template tags: - QR Code Templates + x-required-scope: qrcodes:write + x-content-type: application/json + x-accepts: + - application/json + /v1/sandboxes: + get: + description: |- + List the sandbox workspaces this workspace created, newest first, with when each one expires. + + Requires the `tokens:read` scope. + operationId: SandboxesService_List + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/ListSandboxesResponse" + description: Everything worked as expected. + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" + default: + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + security: + - bearerAuth: + - tokens:read + - oauth2: + - tokens:read + summary: List sandboxes + tags: + - Sandboxes + x-required-scope: tokens:read + x-accepts: + - application/json + post: + description: |- + Create an API-only sandbox workspace and return its first token. The token starts with `lb_test_`, holds the scopes of the credential that created it, and is shown only once. Call this with a live workspace credential; a sandbox cannot create sandboxes. + + Requires the `tokens:write` scope. + operationId: SandboxesService_Create + parameters: + - description: Makes retrying this request safe. See components.parameters.IdempotencyKey. + explode: false + in: header + name: Idempotency-Key + required: false + schema: + maxLength: 255 + minLength: 1 + type: string + style: simple + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/CreateSandboxRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/CreateSandboxResponse" + description: Everything worked as expected. + headers: + Idempotent-Replayed: + $ref: "#/components/headers/Idempotent-Replayed" + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" + default: + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + security: + - bearerAuth: + - tokens:write + - oauth2: + - tokens:write + summary: Create a sandbox + tags: + - Sandboxes + x-required-scope: tokens:write x-content-type: application/json x-accepts: - application/json + /v1/sandboxes/{id}: + delete: + description: |- + Delete a sandbox workspace now, with its links, visitors, events and tokens. Sandboxes are also deleted automatically 30 days after creation. + + Requires the `tokens:write` scope. + operationId: SandboxesService_Delete + parameters: + - description: "The sandbox to delete (UUID), with everything in it." + explode: false + in: path + name: id + required: true + schema: + type: string + style: simple + responses: + "200": + content: + application/json: + schema: + properties: {} + type: object + description: Everything worked as expected. + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" + default: + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + security: + - bearerAuth: + - tokens:write + - oauth2: + - tokens:write + summary: Delete a sandbox + tags: + - Sandboxes + x-required-scope: tokens:write + x-accepts: + - application/json /v1/settings/link-setting/{id}: get: - description: Retrieve the current visitor data collection configuration for - a link. + description: |- + Retrieve the current visitor data collection configuration for a link. + + Requires the `links:read` scope. operationId: SettingsService_GetLinkSetting parameters: - description: Identifier of the link setting profile (UUID) @@ -4730,21 +9030,44 @@ paths: schema: $ref: "#/components/schemas/GetLinkSettingResponse" description: Everything worked as expected. + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" security: - - bearerAuth: [] + - bearerAuth: + - links:read + - oauth2: + - links:read summary: Get a link setting tags: - Link Settings + x-required-scope: links:read x-accepts: - application/json put: - description: Adjust the data collection policy associated with a specific link. + description: |- + Adjust the data collection policy associated with a specific link. + + Requires the `links:write` scope. operationId: SettingsService_UpdateLinkSetting parameters: - description: The ID of the link setting to update (UUID) @@ -4755,6 +9078,16 @@ paths: schema: type: string style: simple + - description: Makes retrying this request safe. See components.parameters.IdempotencyKey. + explode: false + in: header + name: Idempotency-Key + required: false + schema: + maxLength: 255 + minLength: 1 + type: string + style: simple requestBody: content: application/json: @@ -4768,23 +9101,48 @@ paths: schema: $ref: "#/components/schemas/UpdateLinkSettingResponse" description: Everything worked as expected. + headers: + Idempotent-Replayed: + $ref: "#/components/headers/Idempotent-Replayed" + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" security: - - bearerAuth: [] + - bearerAuth: + - links:write + - oauth2: + - links:write summary: Update a link setting tags: - Link Settings + x-required-scope: links:write x-content-type: application/json x-accepts: - application/json /v1/slack-integrations: delete: - description: Disconnect and remove the Slack integration from the workspace. + description: |- + Disconnect and remove the Slack integration from the workspace. + + Requires the `integrations:write` scope. operationId: SlackIntegrationsService_Delete responses: "200": @@ -4794,21 +9152,44 @@ paths: properties: {} type: object description: Everything worked as expected. + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" security: - - bearerAuth: [] + - bearerAuth: + - integrations:write + - oauth2: + - integrations:write summary: Disconnect Slack integration tags: - Slack Integrations + x-required-scope: integrations:write x-accepts: - application/json get: - description: Retrieve the Slack integration configuration for the workspace. + description: |- + Retrieve the Slack integration configuration for the workspace. + + Requires the `integrations:read` scope. operationId: SlackIntegrationsService_Get responses: "200": @@ -4817,23 +9198,56 @@ paths: schema: $ref: "#/components/schemas/GetSlackIntegrationResponse" description: Everything worked as expected. + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" security: - - bearerAuth: [] + - bearerAuth: + - integrations:read + - oauth2: + - integrations:read summary: Get Slack integration tags: - Slack Integrations + x-required-scope: integrations:read x-accepts: - application/json patch: - description: "Update the Slack integration configuration (channel, triggers,\ - \ status)." + description: |- + Update the Slack integration configuration (channel, triggers, status). + + Requires the `integrations:write` scope. operationId: SlackIntegrationsService_Update + parameters: + - description: Makes retrying this request safe. See components.parameters.IdempotencyKey. + explode: false + in: header + name: Idempotency-Key + required: false + schema: + maxLength: 255 + minLength: 1 + type: string + style: simple requestBody: content: application/json: @@ -4847,23 +9261,48 @@ paths: schema: $ref: "#/components/schemas/UpdateSlackIntegrationResponse" description: Everything worked as expected. + headers: + Idempotent-Replayed: + $ref: "#/components/headers/Idempotent-Replayed" + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" security: - - bearerAuth: [] + - bearerAuth: + - integrations:write + - oauth2: + - integrations:write summary: Update Slack integration tags: - Slack Integrations + x-required-scope: integrations:write x-content-type: application/json x-accepts: - application/json /v1/slack-integrations/channels: get: - description: List available Slack channels the bot can send notifications to. + description: |- + List available Slack channels the bot can send notifications to. + + Requires the `integrations:read` scope. operationId: SlackIntegrationsService_ListChannels responses: "200": @@ -4872,23 +9311,45 @@ paths: schema: $ref: "#/components/schemas/ListSlackChannelsResponse" description: Everything worked as expected. + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" security: - - bearerAuth: [] + - bearerAuth: + - integrations:read + - oauth2: + - integrations:read summary: List Slack channels tags: - Slack Integrations + x-required-scope: integrations:read x-accepts: - application/json /v1/slack-integrations/oauth-url: get: - description: Returns the Slack OAuth authorization URL to initiate the Add to - Slack flow. + description: |- + Returns the Slack OAuth authorization URL to initiate the Add to Slack flow. + + Requires the `integrations:write` scope. operationId: SlackIntegrationsService_GetOAuthURL responses: "200": @@ -4897,24 +9358,57 @@ paths: schema: $ref: "#/components/schemas/GetSlackOAuthURLResponse" description: Everything worked as expected. + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" security: - - bearerAuth: [] + - bearerAuth: + - integrations:write + - oauth2: + - integrations:write summary: Get Slack OAuth URL tags: - Slack Integrations + x-required-scope: integrations:write x-accepts: - application/json /v1/slack-integrations/oauth/complete: post: - description: Exchanges the Slack authorization code for a bot token and creates - the workspace integration. + description: |- + Exchanges the Slack authorization code for a bot token and creates the workspace integration. + + Requires the `integrations:write` scope. operationId: SlackIntegrationsService_CompleteOAuth + parameters: + - description: Makes retrying this request safe. See components.parameters.IdempotencyKey. + explode: false + in: header + name: Idempotency-Key + required: false + schema: + maxLength: 255 + minLength: 1 + type: string + style: simple requestBody: content: application/json: @@ -4928,24 +9422,60 @@ paths: schema: $ref: "#/components/schemas/CompleteSlackOAuthResponse" description: Everything worked as expected. + headers: + Idempotent-Replayed: + $ref: "#/components/headers/Idempotent-Replayed" + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" security: - - bearerAuth: [] + - bearerAuth: + - integrations:write + - oauth2: + - integrations:write summary: Complete Slack OAuth tags: - Slack Integrations + x-required-scope: integrations:write x-content-type: application/json x-accepts: - application/json /v1/slack-integrations/test: post: - description: Send a test notification to verify the Slack integration is working. + description: |- + Send a test notification to verify the Slack integration is working. + + Requires the `integrations:write` scope. operationId: SlackIntegrationsService_Test + parameters: + - description: Makes retrying this request safe. See components.parameters.IdempotencyKey. + explode: false + in: header + name: Idempotency-Key + required: false + schema: + maxLength: 255 + minLength: 1 + type: string + style: simple requestBody: content: application/json: @@ -4959,24 +9489,48 @@ paths: schema: $ref: "#/components/schemas/TestSlackIntegrationResponse" description: Everything worked as expected. + headers: + Idempotent-Replayed: + $ref: "#/components/headers/Idempotent-Replayed" + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" security: - - bearerAuth: [] + - bearerAuth: + - integrations:write + - oauth2: + - integrations:write summary: Test Slack integration tags: - Slack Integrations + x-required-scope: integrations:write x-content-type: application/json x-accepts: - application/json /v1/tags: delete: - description: Remove a tag by name so it no longer appears for links or analytics - filters. + description: |- + Remove a tag by name so it no longer appears for links or analytics filters. + + Requires the `links:write` scope. operationId: TagsService_Delete parameters: - description: Tag name to remove (must exactly match an existing tag within @@ -4995,21 +9549,44 @@ paths: schema: $ref: "#/components/schemas/DeleteTagResponse" description: Everything worked as expected. + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" security: - - bearerAuth: [] + - bearerAuth: + - links:write + - oauth2: + - links:write summary: Delete tags tags: - Tags + x-required-scope: links:write x-accepts: - application/json get: - description: Search workspace tags by name and paginate through matching results. + description: |- + Search workspace tags by name and paginate through matching results. + + Requires the `links:read` scope. operationId: TagsService_List parameters: - description: The search query to filter tags by name @@ -5034,7 +9611,16 @@ paths: If not provided, the first page of results will be returned explode: true in: query - name: pageToken + name: pageToken + required: false + schema: + type: string + style: form + - description: "Opaque cursor from the previous page's nextPageToken. Same as\ + \ pageToken; when both are sent, pageToken wins." + explode: true + in: query + name: cursor required: false schema: type: string @@ -5046,22 +9632,61 @@ paths: schema: $ref: "#/components/schemas/ListTagsResponse" description: Everything worked as expected. + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" security: - - bearerAuth: [] + - bearerAuth: + - links:read + - oauth2: + - links:read summary: List tags tags: - Tags + x-pagination: + cursorAlias: cursor + cursorParam: pageToken + endOfList: nextPageToken is empty or absent + nextCursorField: nextPageToken + pageSizeParam: pageSize + type: cursor + x-required-scope: links:read x-accepts: - application/json /v1/timeseries/events: post: + description: Requires the `analytics:read` scope. operationId: TimeSeriesService_GetEventsTimeSeries + parameters: + - description: Makes retrying this request safe. See components.parameters.IdempotencyKey. + explode: false + in: header + name: Idempotency-Key + required: false + schema: + maxLength: 255 + minLength: 1 + type: string + style: simple requestBody: content: application/json: @@ -5075,28 +9700,61 @@ paths: schema: $ref: "#/components/schemas/GetEventsTimeSeriesResponse" description: Everything worked as expected. + headers: + Idempotent-Replayed: + $ref: "#/components/headers/Idempotent-Replayed" + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" security: - - bearerAuth: [] + - bearerAuth: + - analytics:read + - oauth2: + - analytics:read summary: Get events time series tags: - Time Series + x-required-scope: analytics:read x-content-type: application/json x-accepts: - application/json /v1/visitor/devices/{id}/update: {} /v1/visitor/identify: post: - description: "Identifies a visitor from an LBID. Anonymous visitors (created\ - \ at scan time) are promoted or merged into existing identified visitors.\ - \ If the identity matches an existing visitor, devices and events converge\ - \ into that source-of-truth record." + description: |- + Identifies a visitor from an LBID. Anonymous visitors (created at scan time) are promoted or merged into existing identified visitors. If the identity matches an existing visitor, devices and events converge into that source-of-truth record. + + Requires the `visitors:write` scope. operationId: VisitorsService_Identify + parameters: + - description: Makes retrying this request safe. See components.parameters.IdempotencyKey. + explode: false + in: header + name: Idempotency-Key + required: false + schema: + maxLength: 255 + minLength: 1 + type: string + style: simple requestBody: content: application/json: @@ -5110,25 +9768,48 @@ paths: schema: $ref: "#/components/schemas/IdentifyResponse" description: Everything worked as expected. + headers: + Idempotent-Replayed: + $ref: "#/components/headers/Idempotent-Replayed" + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" security: - - bearerAuth: [] + - bearerAuth: + - visitors:write + - oauth2: + - visitors:write summary: Identify visitor tags: - Visitors + x-required-scope: visitors:write x-content-type: application/json x-accepts: - application/json /v1/visitors: get: - description: "Returns a paginated collection of visitors with optional filters,\ - \ includes, and CSV export. To filter on visitor attributes, use POST /v1/visitors/search,\ - \ which takes the same parameters as a JSON body." + description: |- + Returns a paginated collection of visitors with optional filters, includes, and CSV export. To filter on visitor attributes, use POST /v1/visitors/search, which takes the same parameters as a JSON body. + + Requires the `visitors:read` scope. operationId: VisitorsService_List parameters: - description: "Maximum number of visitors to return (default 50, max 200)" @@ -5221,6 +9902,15 @@ paths: schema: type: string style: form + - description: "Opaque cursor from the previous page's nextPageToken. Same as\ + \ pageToken; when both are sent, pageToken wins." + explode: true + in: query + name: cursor + required: false + schema: + type: string + style: form responses: "200": content: @@ -5228,23 +9918,52 @@ paths: schema: $ref: "#/components/schemas/ListVisitorsResponse" description: Everything worked as expected. + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" security: - - bearerAuth: [] + - bearerAuth: + - visitors:read + - oauth2: + - visitors:read summary: List visitors tags: - Visitors + x-pagination: + cursorAlias: cursor + cursorParam: pageToken + endOfList: nextPageToken is empty or absent + nextCursorField: nextPageToken + pageSizeParam: pageSize + type: cursor + x-required-scope: visitors:read x-accepts: - application/json /v1/visitors/attributes: get: - description: Returns the distinct visitor attribute keys available in the workspace - or scoped to a single link. + description: |- + Returns the distinct visitor attribute keys available in the workspace or scoped to a single link. + + Requires the `visitors:read` scope. operationId: VisitorsService_ListAttributeKeys parameters: - description: "Optional link identifier (UUID). When set, returns keys observed\ @@ -5263,25 +9982,57 @@ paths: schema: $ref: "#/components/schemas/ListVisitorAttributeKeysResponse" description: Everything worked as expected. + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" security: - - bearerAuth: [] + - bearerAuth: + - visitors:read + - oauth2: + - visitors:read summary: List visitor attribute keys tags: - Visitors + x-required-scope: visitors:read x-accepts: - application/json /v1/visitors/search: post: - description: "Same as List visitors, with the parameters sent as a JSON body\ - \ so they can include attributeFilters. Every filter must match, for example\ - \ budget at least 800000 and timeline equal to under_6_months." + description: |- + Same as List visitors, with the parameters sent as a JSON body so they can include attributeFilters. Every filter must match, for example budget at least 800000 and timeline equal to under_6_months. + + Requires the `visitors:read` scope. operationId: VisitorsService_Search + parameters: + - description: Makes retrying this request safe. See components.parameters.IdempotencyKey. + explode: false + in: header + name: Idempotency-Key + required: false + schema: + maxLength: 255 + minLength: 1 + type: string + style: simple requestBody: content: application/json: @@ -5295,23 +10046,48 @@ paths: schema: $ref: "#/components/schemas/ListVisitorsResponse" description: Everything worked as expected. + headers: + Idempotent-Replayed: + $ref: "#/components/headers/Idempotent-Replayed" + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" security: - - bearerAuth: [] + - bearerAuth: + - visitors:read + - oauth2: + - visitors:read summary: Search visitors tags: - Visitors + x-required-scope: visitors:read x-content-type: application/json x-accepts: - application/json /v1/visitors/{id}: delete: - description: Removes a visitor profile and its stored attributes from the workspace. + description: |- + Removes a visitor profile and its stored attributes from the workspace. + + Requires the `visitors:write` scope. operationId: VisitorsService_Delete parameters: - description: Visitor identifier to remove (UUID) @@ -5329,22 +10105,44 @@ paths: schema: $ref: "#/components/schemas/DeleteVisitorResponse" description: Everything worked as expected. + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" security: - - bearerAuth: [] + - bearerAuth: + - visitors:write + - oauth2: + - visitors:write summary: Delete a visitor tags: - Visitors + x-required-scope: visitors:write x-accepts: - application/json get: - description: "Retrieves a visitor profile by ID with optional devices, events,\ - \ or links included." + description: |- + Retrieves a visitor profile by ID with optional devices, events, or links included. + + Requires the `visitors:read` scope. operationId: VisitorsService_Get parameters: - description: Visitor identifier (UUID) @@ -5373,21 +10171,44 @@ paths: schema: $ref: "#/components/schemas/Visitor" description: Everything worked as expected. + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" security: - - bearerAuth: [] + - bearerAuth: + - visitors:read + - oauth2: + - visitors:read summary: Get a visitor tags: - Visitors + x-required-scope: visitors:read x-accepts: - application/json patch: - description: Applies partial attribute updates to an existing visitor profile. + description: |- + Applies partial attribute updates to an existing visitor profile. + + Requires the `visitors:write` scope. operationId: VisitorsService_Update parameters: - description: Visitor identifier (UUID) @@ -5398,6 +10219,16 @@ paths: schema: type: string style: simple + - description: Makes retrying this request safe. See components.parameters.IdempotencyKey. + explode: false + in: header + name: Idempotency-Key + required: false + schema: + maxLength: 255 + minLength: 1 + type: string + style: simple requestBody: content: application/json: @@ -5411,24 +10242,48 @@ paths: schema: $ref: "#/components/schemas/Visitor" description: Everything worked as expected. + headers: + Idempotent-Replayed: + $ref: "#/components/headers/Idempotent-Replayed" + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" security: - - bearerAuth: [] + - bearerAuth: + - visitors:write + - oauth2: + - visitors:write summary: Update a visitor tags: - Visitors + x-required-scope: visitors:write x-content-type: application/json x-accepts: - application/json /v1/visitors/{id}/attributes/{attributeKey}: delete: - description: Deletes a single attribute from the visitor profile without affecting - other data. + description: |- + Deletes a single attribute from the visitor profile without affecting other data. + + Requires the `visitors:write` scope. operationId: VisitorsService_DeleteAttribute parameters: - description: Visitor identifier whose attribute should be removed (UUID) @@ -5454,22 +10309,45 @@ paths: schema: $ref: "#/components/schemas/DeleteAttributeResponse" description: Everything worked as expected. + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" security: - - bearerAuth: [] + - bearerAuth: + - visitors:write + - oauth2: + - visitors:write summary: Delete a visitor attribute tags: - Visitors + x-required-scope: visitors:write x-accepts: - application/json /v1/webhooks: get: - description: Enumerate all webhooks for the workspace to manage event integrations. + description: |- + Enumerate all webhooks for the workspace to manage event integrations. + + Requires the `webhooks:read` scope. operationId: WebhooksService_List parameters: - description: |- @@ -5507,6 +10385,15 @@ paths: schema: type: string style: form + - description: "Opaque cursor from the previous page's nextPageToken. Same as\ + \ pageToken; when both are sent, pageToken wins." + explode: true + in: query + name: cursor + required: false + schema: + type: string + style: form responses: "200": content: @@ -5514,23 +10401,63 @@ paths: schema: $ref: "#/components/schemas/ListWebhooksResponse" description: Everything worked as expected. + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" security: - - bearerAuth: [] + - bearerAuth: + - webhooks:read + - oauth2: + - webhooks:read summary: List webhooks tags: - Webhooks + x-pagination: + cursorAlias: cursor + cursorParam: pageToken + endOfList: nextPageToken is empty or absent + nextCursorField: nextPageToken + pageSizeParam: pageSize + type: cursor + x-required-scope: webhooks:read x-accepts: - application/json post: - description: Create a new webhook endpoint to receive event notifications when - workflow steps complete. + description: |- + Create a new webhook endpoint to receive event notifications when workflow steps complete. + + Requires the `webhooks:write` scope. operationId: WebhooksService_Create + parameters: + - description: Makes retrying this request safe. See components.parameters.IdempotencyKey. + explode: false + in: header + name: Idempotency-Key + required: false + schema: + maxLength: 255 + minLength: 1 + type: string + style: simple requestBody: content: application/json: @@ -5544,23 +10471,48 @@ paths: schema: $ref: "#/components/schemas/CreateWebhookResponse" description: Everything worked as expected. + headers: + Idempotent-Replayed: + $ref: "#/components/headers/Idempotent-Replayed" + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" security: - - bearerAuth: [] + - bearerAuth: + - webhooks:write + - oauth2: + - webhooks:write summary: Create a webhook tags: - Webhooks + x-required-scope: webhooks:write x-content-type: application/json x-accepts: - application/json /v1/webhooks/{id}: delete: - description: Remove a webhook endpoint so it no longer receives event notifications. + description: |- + Remove a webhook endpoint so it no longer receives event notifications. + + Requires the `webhooks:write` scope. operationId: WebhooksService_Delete parameters: - description: Identifier of the webhook to delete (UUID) @@ -5579,21 +10531,44 @@ paths: properties: {} type: object description: Everything worked as expected. + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" security: - - bearerAuth: [] + - bearerAuth: + - webhooks:write + - oauth2: + - webhooks:write summary: Delete a webhook tags: - Webhooks + x-required-scope: webhooks:write x-accepts: - application/json get: - description: Retrieve details for a specific webhook endpoint. + description: |- + Retrieve details for a specific webhook endpoint. + + Requires the `webhooks:read` scope. operationId: WebhooksService_Get parameters: - description: Identifier of the desired webhook (UUID) @@ -5611,21 +10586,44 @@ paths: schema: $ref: "#/components/schemas/GetWebhookResponse" description: Everything worked as expected. + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" security: - - bearerAuth: [] + - bearerAuth: + - webhooks:read + - oauth2: + - webhooks:read summary: Get a webhook tags: - Webhooks + x-required-scope: webhooks:read x-accepts: - application/json patch: - description: Modify an existing webhook endpoint configuration. + description: |- + Modify an existing webhook endpoint configuration. + + Requires the `webhooks:write` scope. operationId: WebhooksService_Update parameters: - description: Identifier of the webhook to update (UUID) @@ -5636,6 +10634,16 @@ paths: schema: type: string style: simple + - description: Makes retrying this request safe. See components.parameters.IdempotencyKey. + explode: false + in: header + name: Idempotency-Key + required: false + schema: + maxLength: 255 + minLength: 1 + type: string + style: simple requestBody: content: application/json: @@ -5649,25 +10657,49 @@ paths: schema: $ref: "#/components/schemas/UpdateWebhookResponse" description: Everything worked as expected. + headers: + Idempotent-Replayed: + $ref: "#/components/headers/Idempotent-Replayed" + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" security: - - bearerAuth: [] + - bearerAuth: + - webhooks:write + - oauth2: + - webhooks:write summary: Update a webhook tags: - Webhooks + x-required-scope: webhooks:write x-content-type: application/json x-accepts: - application/json /v1/websocket/contract: {} /v1/workspace: delete: - description: Soft-delete the workspace associated with the authenticated member's - session. This operation can be reversed by contacting support. + description: |- + Soft-delete the workspace associated with the authenticated member's session. This operation can be reversed by contacting support. + + Requires the `workspace:write` scope. operationId: WorkspacesService_Delete responses: "200": @@ -5677,22 +10709,44 @@ paths: properties: {} type: object description: Everything worked as expected. + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" security: - - bearerAuth: [] + - bearerAuth: + - workspace:write + - oauth2: + - workspace:write summary: Delete workspace tags: - Workspaces + x-required-scope: workspace:write x-accepts: - application/json get: - description: Return the workspace associated with the authenticated member's - current session. + description: |- + Return the workspace associated with the authenticated member's current session. + + Requires the `workspace:read` scope. operationId: WorkspacesService_GetMyWorkspace responses: "200": @@ -5701,23 +10755,56 @@ paths: schema: $ref: "#/components/schemas/Workspace" description: Everything worked as expected. + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" security: - - bearerAuth: [] + - bearerAuth: + - workspace:read + - oauth2: + - workspace:read summary: Get my workspace tags: - Workspaces + x-required-scope: workspace:read x-accepts: - application/json put: - description: Modify workspace settings such as the display name and MFA enforcement - policy. + description: |- + Modify workspace settings such as the display name and MFA enforcement policy. + + Requires the `workspace:write` scope. operationId: WorkspacesService_Update + parameters: + - description: Makes retrying this request safe. See components.parameters.IdempotencyKey. + explode: false + in: header + name: Idempotency-Key + required: false + schema: + maxLength: 255 + minLength: 1 + type: string + style: simple requestBody: content: application/json: @@ -5731,23 +10818,48 @@ paths: schema: $ref: "#/components/schemas/Workspace" description: Everything worked as expected. + headers: + Idempotent-Replayed: + $ref: "#/components/headers/Idempotent-Replayed" + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" security: - - bearerAuth: [] + - bearerAuth: + - workspace:write + - oauth2: + - workspace:write summary: Update a workspace tags: - Workspaces + x-required-scope: workspace:write x-content-type: application/json x-accepts: - application/json /v1/workspace-tokens: get: - description: Enumerate all active workspace tokens for auditing and management. + description: |- + Enumerate all active workspace tokens for auditing and management. + + Requires the `tokens:read` scope. operationId: WorkspaceTokensService_List parameters: - description: "Maximum number to return. Defaults to 100, capped at 1000." @@ -5770,6 +10882,15 @@ paths: schema: type: string style: form + - description: "Opaque cursor from the previous page's nextPageToken. Same as\ + \ pageToken; when both are sent, pageToken wins." + explode: true + in: query + name: cursor + required: false + schema: + type: string + style: form responses: "200": content: @@ -5777,23 +10898,63 @@ paths: schema: $ref: "#/components/schemas/ListWorkspaceTokensResponse" description: Everything worked as expected. + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" security: - - bearerAuth: [] + - bearerAuth: + - tokens:read + - oauth2: + - tokens:read summary: List workspace tokens tags: - Workspace Tokens + x-pagination: + cursorAlias: cursor + cursorParam: pageToken + endOfList: nextPageToken is empty or absent + nextCursorField: nextPageToken + pageSizeParam: pageSize + type: cursor + x-required-scope: tokens:read x-accepts: - application/json post: - description: Generate a new long-lived API token and return the one-time access - secret. + description: |- + Generate a new long-lived API token and return the one-time access secret. + + Requires the `tokens:write` scope. operationId: WorkspaceTokensService_Create + parameters: + - description: Makes retrying this request safe. See components.parameters.IdempotencyKey. + explode: false + in: header + name: Idempotency-Key + required: false + schema: + maxLength: 255 + minLength: 1 + type: string + style: simple requestBody: content: application/json: @@ -5807,23 +10968,48 @@ paths: schema: $ref: "#/components/schemas/CreateWorkspaceTokenResponse" description: Everything worked as expected. + headers: + Idempotent-Replayed: + $ref: "#/components/headers/Idempotent-Replayed" + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" security: - - bearerAuth: [] + - bearerAuth: + - tokens:write + - oauth2: + - tokens:write summary: Create a workspace token tags: - Workspace Tokens + x-required-scope: tokens:write x-content-type: application/json x-accepts: - application/json /v1/workspace-tokens/{id}: delete: - description: Revoke a workspace token immediately so it can no longer authenticate. + description: |- + Revoke a workspace token immediately so it can no longer authenticate. + + Requires the `tokens:write` scope. operationId: WorkspaceTokensService_Delete parameters: - description: Identifier of the token to revoke (UUID) @@ -5842,22 +11028,44 @@ paths: properties: {} type: object description: Everything worked as expected. + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" security: - - bearerAuth: [] + - bearerAuth: + - tokens:write + - oauth2: + - tokens:write summary: Delete a workspace token tags: - Workspace Tokens + x-required-scope: tokens:write x-accepts: - application/json get: - description: Retrieve metadata for a specific workspace token without revealing - its secret. + description: |- + Retrieve metadata for a specific workspace token without revealing its secret. + + Requires the `tokens:read` scope. operationId: WorkspaceTokensService_Get parameters: - description: Identifier of the desired token (UUID) @@ -5875,24 +11083,131 @@ paths: schema: $ref: "#/components/schemas/GetWorkspaceTokenResponse" description: Everything worked as expected. + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" security: - - bearerAuth: [] + - bearerAuth: + - tokens:read + - oauth2: + - tokens:read summary: Get a workspace token tags: - Workspace Tokens + x-required-scope: tokens:read + x-accepts: + - application/json + patch: + description: |- + Rename a workspace token or change its scopes. Changes reach every request within 30 seconds. A token can only grant scopes it holds itself. + + Requires the `tokens:write` scope. + operationId: WorkspaceTokensService_Update + parameters: + - description: Identifier of the token to update (UUID) + explode: false + in: path + name: id + required: true + schema: + type: string + style: simple + - description: Makes retrying this request safe. See components.parameters.IdempotencyKey. + explode: false + in: header + name: Idempotency-Key + required: false + schema: + maxLength: 255 + minLength: 1 + type: string + style: simple + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/WorkspaceTokensServiceUpdateBody" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/UpdateWorkspaceTokenResponse" + description: Everything worked as expected. + headers: + Idempotent-Replayed: + $ref: "#/components/headers/Idempotent-Replayed" + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" + default: + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + security: + - bearerAuth: + - tokens:write + - oauth2: + - tokens:write + summary: Update a workspace token + tags: + - Workspace Tokens + x-required-scope: tokens:write + x-content-type: application/json x-accepts: - application/json /v1/workspace/origin-inquiry: post: - description: Persist how a workspace discovered Linkbreakers without exposing - the value to other workspace APIs. + description: |- + Persist how a workspace discovered Linkbreakers without exposing the value to other workspace APIs. + + Requires the `workspace:write` scope. operationId: WorkspacesService_UpdateOriginInquiry + parameters: + - description: Makes retrying this request safe. See components.parameters.IdempotencyKey. + explode: false + in: header + name: Idempotency-Key + required: false + schema: + maxLength: 255 + minLength: 1 + type: string + style: simple requestBody: content: application/json: @@ -5907,25 +11222,60 @@ paths: properties: {} type: object description: Everything worked as expected. + headers: + Idempotent-Replayed: + $ref: "#/components/headers/Idempotent-Replayed" + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" security: - - bearerAuth: [] + - bearerAuth: + - workspace:write + - oauth2: + - workspace:write summary: Update workspace origin inquiry tags: - Workspaces + x-required-scope: workspace:write x-content-type: application/json x-accepts: - application/json /v1/workspace/origin-purpose: post: - description: Persist what the workspace wants to build with Linkbreakers for - AI assistance without exposing the value to other workspace APIs. + description: |- + Persist what the workspace wants to build with Linkbreakers for AI assistance without exposing the value to other workspace APIs. + + Requires the `workspace:write` scope. operationId: WorkspacesService_UpdateOriginPurpose + parameters: + - description: Makes retrying this request safe. See components.parameters.IdempotencyKey. + explode: false + in: header + name: Idempotency-Key + required: false + schema: + maxLength: 255 + minLength: 1 + type: string + style: simple requestBody: content: application/json: @@ -5940,25 +11290,60 @@ paths: properties: {} type: object description: Everything worked as expected. + headers: + Idempotent-Replayed: + $ref: "#/components/headers/Idempotent-Replayed" + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" security: - - bearerAuth: [] + - bearerAuth: + - workspace:write + - oauth2: + - workspace:write summary: Update workspace origin purpose tags: - Workspaces + x-required-scope: workspace:write x-content-type: application/json x-accepts: - application/json /v1/workspace/request-enrollment: post: - description: "Submit a request for workspace enrollment, setting the enroll_requested_at\ - \ timestamp." + description: |- + Submit a request for workspace enrollment, setting the enroll_requested_at timestamp. + + Requires the `workspace:write` scope. operationId: WorkspacesService_RequestEnrollment + parameters: + - description: Makes retrying this request safe. See components.parameters.IdempotencyKey. + explode: false + in: header + name: Idempotency-Key + required: false + schema: + maxLength: 255 + minLength: 1 + type: string + style: simple requestBody: content: application/json: @@ -5973,24 +11358,48 @@ paths: properties: {} type: object description: Everything worked as expected. + headers: + Idempotent-Replayed: + $ref: "#/components/headers/Idempotent-Replayed" + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" security: - - bearerAuth: [] + - bearerAuth: + - workspace:write + - oauth2: + - workspace:write summary: Request workspace enrollment tags: - Workspaces + x-required-scope: workspace:write x-content-type: application/json x-accepts: - application/json /v1/workspaces/{id}: get: - description: "Retrieve workspace details for the provided identifier, typically\ - \ for internal tooling." + description: |- + Retrieve workspace details for the provided identifier, typically for internal tooling. + + Requires the `workspace:read` scope. operationId: WorkspacesService_GetWorkspace parameters: - description: Workspace identifier (UUID) to retrieve @@ -6008,20 +11417,147 @@ paths: schema: $ref: "#/components/schemas/Workspace" description: Everything worked as expected. + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + "429": + $ref: "#/components/responses/TooManyRequests" default: content: application/json: schema: $ref: "#/components/schemas/ErrorResponse" description: Unexpected error + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" security: - - bearerAuth: [] + - bearerAuth: + - workspace:read + - oauth2: + - workspace:read summary: Get a workspace by ID tags: - Workspaces + x-required-scope: workspace:read x-accepts: - application/json components: + headers: + Deprecation: + description: "Present when the operation is deprecated (RFC 9745): the Unix\ + \ time, prefixed with @, at which it was deprecated. A Link field with rel=\"\ + deprecation\" points to the policy." + explode: false + schema: + example: '@1798761600' + type: string + style: simple + Idempotent-Replayed: + description: true when this response is the stored answer to an earlier request + with the same Idempotency-Key. + explode: false + schema: + type: boolean + style: simple + RateLimit: + description: "What is left of the quota: `\"\";r=;t=` (draft-ietf-httpapi-ratelimit-headers)." + explode: false + schema: + example: '"token";r=598;t=42' + type: string + style: simple + RateLimit-Limit: + description: Requests allowed in the current window. + explode: false + schema: + example: 600 + type: integer + style: simple + RateLimit-Policy: + description: "The quota that applies to this caller, as a structured field:\ + \ `\"\";q=;w=` (draft-ietf-httpapi-ratelimit-headers)." + explode: false + schema: + example: '"token";q=600;w=60' + type: string + style: simple + RateLimit-Remaining: + description: Requests left in the current window. + explode: false + schema: + example: 598 + type: integer + style: simple + RateLimit-Reset: + description: Seconds until the current window resets. + explode: false + schema: + example: 42 + type: integer + style: simple + Retry-After: + description: Seconds to wait before retrying a refused request. + explode: false + schema: + example: 42 + type: integer + style: simple + Sunset: + description: "Present when a deprecated operation has a scheduled end (RFC 8594):\ + \ the HTTP date after which it may stop working." + explode: false + schema: + example: "Thu, 01 Jul 2027 00:00:00 GMT" + type: string + style: simple + X-RateLimit-Limit: + description: "Same as RateLimit-Limit, for clients that read the X- convention." + explode: false + schema: + example: 600 + type: integer + style: simple + X-RateLimit-Remaining: + description: "Same as RateLimit-Remaining, for clients that read the X- convention." + explode: false + schema: + example: 598 + type: integer + style: simple + X-RateLimit-Reset: + description: "Unix time, in seconds, at which the current window resets." + explode: false + schema: + example: 1791650400 + type: integer + style: simple + parameters: + IdempotencyKey: + description: "A unique value, such as a UUID, that makes retrying this request\ + \ safe (draft-ietf-httpapi-idempotency-key-header). A retry with the same\ + \ key and the same request returns the first response, with Idempotent-Replayed:\ + \ true, instead of running again. Keys are scoped to the token and kept for\ + \ 24 hours. The same key with a different request is refused with 422; a retry\ + \ while the first request is still running gets 409 with Retry-After." + explode: false + in: header + name: Idempotency-Key + required: false + schema: + example: 4f7d2c1e-8a8b-4b5e-9f8c-2d3e1a6b7c90 + maxLength: 255 + minLength: 1 + style: simple responses: "200": description: Everything worked as expected. @@ -6094,6 +11630,32 @@ components: schema: $ref: "#/components/schemas/ErrorResponse" description: Something went wrong on the server end. + TooManyRequests: + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + description: "Too many requests. Wait the number of seconds in Retry-After,\ + \ or until the RateLimit window resets, then retry." + headers: + RateLimit: + $ref: "#/components/headers/RateLimit" + RateLimit-Limit: + $ref: "#/components/headers/RateLimit-Limit" + RateLimit-Policy: + $ref: "#/components/headers/RateLimit-Policy" + RateLimit-Remaining: + $ref: "#/components/headers/RateLimit-Remaining" + RateLimit-Reset: + $ref: "#/components/headers/RateLimit-Reset" + Retry-After: + $ref: "#/components/headers/Retry-After" + X-RateLimit-Limit: + $ref: "#/components/headers/X-RateLimit-Limit" + X-RateLimit-Remaining: + $ref: "#/components/headers/X-RateLimit-Remaining" + X-RateLimit-Reset: + $ref: "#/components/headers/X-RateLimit-Reset" default: content: application/json: @@ -6113,6 +11675,54 @@ components: - ACTION_CLICK title: The type of event action type: string + AgentClaim: + description: What a claim link would hand over. + example: + registeredAt: 2000-01-23T04:56:07.000+00:00 + email: email + expiresAt: 2000-01-23T04:56:07.000+00:00 + postClaimScopes: + - API_SCOPE_UNSPECIFIED + - API_SCOPE_UNSPECIFIED + status: "" + properties: + email: + description: The email the agent named for this claim. The workspace can + only be claimed with it. + type: string + expiresAt: + format: date-time + title: When the code stops working + type: string + postClaimScopes: + items: + $ref: "#/components/schemas/ApiScope" + title: What the agent may do once the workspace is claimed + type: array + registeredAt: + format: date-time + title: When the agent registered + type: string + status: + allOf: + - $ref: "#/components/schemas/AgentClaimStatus" + title: Where the link stands + title: AgentClaim + AgentClaimStatus: + default: AGENT_CLAIM_STATUS_UNSPECIFIED + description: |- + Where a claim link stands. + + - AGENT_CLAIM_STATUS_PENDING: The link is live: enter the code to claim the workspace + - AGENT_CLAIM_STATUS_CLAIMED: The workspace has been claimed + - AGENT_CLAIM_STATUS_EXPIRED: The link or the registration expired, or the agent started a newer claim + enum: + - AGENT_CLAIM_STATUS_UNSPECIFIED + - AGENT_CLAIM_STATUS_PENDING + - AGENT_CLAIM_STATUS_CLAIMED + - AGENT_CLAIM_STATUS_EXPIRED + title: AgentClaimStatus + type: string AnalyticsDashboard: example: createdAt: 2000-01-23T04:56:07.000+00:00 @@ -6230,6 +11840,182 @@ components: type: string widgetId: type: string + ApiScope: + default: API_SCOPE_UNSPECIFIED + description: |- + ApiScope is one permission an API token or OAuth grant can hold. + + A write scope also grants the read scope of the same resource. + + - API_SCOPE_UNSPECIFIED: Not a scope. Rejected wherever a scope is expected. + - API_SCOPE_LINKS_READ: Read links, their QR code images, tags, folders and link settings. + - API_SCOPE_LINKS_WRITE: Create, update and delete links, tags, folders and link settings. + - API_SCOPE_WORKFLOWS_READ: Read the workflow steps behind a link and validate them. + - API_SCOPE_WORKFLOWS_WRITE: Create, connect, update, lay out and delete workflow steps. + - API_SCOPE_QRCODES_READ: Read QR code designs and QR code templates. + - API_SCOPE_QRCODES_WRITE: Change QR code designs and create, publish and delete QR code templates. + - API_SCOPE_PAGE_THEMES_READ: Read page themes and page theme templates. + - API_SCOPE_PAGE_THEMES_WRITE: Change page themes and create, publish and delete page theme templates. + - API_SCOPE_MEDIA_READ: Read uploaded media. + - API_SCOPE_MEDIA_WRITE: Upload and delete media. + - API_SCOPE_DOMAINS_READ: Read custom domains and their DNS instructions. + - API_SCOPE_DOMAINS_WRITE: Add, verify, update and delete custom domains. + - API_SCOPE_VISITORS_READ: Read and search visitors and their attributes. + - API_SCOPE_VISITORS_WRITE: Identify, update and delete visitors and their attributes. + - API_SCOPE_ANALYTICS_READ: Read events, metrics, time series, analytics data and dashboards. + - API_SCOPE_ANALYTICS_WRITE: Create, update and delete analytics dashboards and generate widget summaries. + - API_SCOPE_WEBHOOKS_READ: Read webhooks. + - API_SCOPE_WEBHOOKS_WRITE: Create, update and delete webhooks. + - API_SCOPE_INTEGRATIONS_READ: Read the Slack and Google Forms integrations. + - API_SCOPE_INTEGRATIONS_WRITE: Connect, configure, test, sync and disconnect the Slack and Google Forms integrations. + - API_SCOPE_WORKSPACE_READ: Read the workspace and its settings. + - API_SCOPE_WORKSPACE_WRITE: Update the workspace, request enrollment and delete the workspace. + - API_SCOPE_MEMBERS_READ: Read workspace members. + - API_SCOPE_MEMBERS_WRITE: Update, revoke, sign out and remove members. Inviting a member or changing a sign-in email or password needs full access. + - API_SCOPE_TOKENS_READ: Read API tokens and their scopes, never their secrets. + - API_SCOPE_TOKENS_WRITE: Create, update and delete API tokens, limited to the scopes the calling token holds. + - API_SCOPE_BILLING_WRITE: Open checkout, credit top-up and billing portal sessions. + - API_SCOPE_ASSISTANT_READ: Read the Assistant conversation. + - API_SCOPE_ASSISTANT_WRITE: Send files to the Assistant, clear the conversation and contact support. + enum: + - API_SCOPE_UNSPECIFIED + - API_SCOPE_LINKS_READ + - API_SCOPE_LINKS_WRITE + - API_SCOPE_WORKFLOWS_READ + - API_SCOPE_WORKFLOWS_WRITE + - API_SCOPE_QRCODES_READ + - API_SCOPE_QRCODES_WRITE + - API_SCOPE_PAGE_THEMES_READ + - API_SCOPE_PAGE_THEMES_WRITE + - API_SCOPE_MEDIA_READ + - API_SCOPE_MEDIA_WRITE + - API_SCOPE_DOMAINS_READ + - API_SCOPE_DOMAINS_WRITE + - API_SCOPE_VISITORS_READ + - API_SCOPE_VISITORS_WRITE + - API_SCOPE_ANALYTICS_READ + - API_SCOPE_ANALYTICS_WRITE + - API_SCOPE_WEBHOOKS_READ + - API_SCOPE_WEBHOOKS_WRITE + - API_SCOPE_INTEGRATIONS_READ + - API_SCOPE_INTEGRATIONS_WRITE + - API_SCOPE_WORKSPACE_READ + - API_SCOPE_WORKSPACE_WRITE + - API_SCOPE_MEMBERS_READ + - API_SCOPE_MEMBERS_WRITE + - API_SCOPE_TOKENS_READ + - API_SCOPE_TOKENS_WRITE + - API_SCOPE_BILLING_WRITE + - API_SCOPE_ASSISTANT_READ + - API_SCOPE_ASSISTANT_WRITE + type: string + ApiScopeAccess: + default: API_SCOPE_ACCESS_UNSPECIFIED + description: |- + ApiScopeAccess is what a scope allows on its resource. + + - API_SCOPE_ACCESS_UNSPECIFIED: Not set. + - API_SCOPE_ACCESS_READ: Reads only. + - API_SCOPE_ACCESS_WRITE: Reads and writes. + enum: + - API_SCOPE_ACCESS_UNSPECIFIED + - API_SCOPE_ACCESS_READ + - API_SCOPE_ACCESS_WRITE + type: string + ApiScopeInfo: + description: ApiScopeInfo describes one scope for people and agents choosing + scopes. + example: + access: "" + resource: links + scope: API_SCOPE_UNSPECIFIED + name: links:read + description: description + properties: + access: + allOf: + - $ref: "#/components/schemas/ApiScopeAccess" + description: Whether the scope reads or writes the resource. + description: + description: What the scope allows. + type: string + name: + description: The scope string as it appears in OAuth grants and error messages + (e.g. links:read). + example: links:read + type: string + resource: + description: The resource the scope covers (e.g. links). + example: links + type: string + scope: + description: |- + ApiScope is one permission an API token or OAuth grant can hold. + + A write scope also grants the read scope of the same resource. + + - API_SCOPE_UNSPECIFIED: Not a scope. Rejected wherever a scope is expected. + - API_SCOPE_LINKS_READ: Read links, their QR code images, tags, folders and link settings. + - API_SCOPE_LINKS_WRITE: Create, update and delete links, tags, folders and link settings. + - API_SCOPE_WORKFLOWS_READ: Read the workflow steps behind a link and validate them. + - API_SCOPE_WORKFLOWS_WRITE: Create, connect, update, lay out and delete workflow steps. + - API_SCOPE_QRCODES_READ: Read QR code designs and QR code templates. + - API_SCOPE_QRCODES_WRITE: Change QR code designs and create, publish and delete QR code templates. + - API_SCOPE_PAGE_THEMES_READ: Read page themes and page theme templates. + - API_SCOPE_PAGE_THEMES_WRITE: Change page themes and create, publish and delete page theme templates. + - API_SCOPE_MEDIA_READ: Read uploaded media. + - API_SCOPE_MEDIA_WRITE: Upload and delete media. + - API_SCOPE_DOMAINS_READ: Read custom domains and their DNS instructions. + - API_SCOPE_DOMAINS_WRITE: Add, verify, update and delete custom domains. + - API_SCOPE_VISITORS_READ: Read and search visitors and their attributes. + - API_SCOPE_VISITORS_WRITE: Identify, update and delete visitors and their attributes. + - API_SCOPE_ANALYTICS_READ: Read events, metrics, time series, analytics data and dashboards. + - API_SCOPE_ANALYTICS_WRITE: Create, update and delete analytics dashboards and generate widget summaries. + - API_SCOPE_WEBHOOKS_READ: Read webhooks. + - API_SCOPE_WEBHOOKS_WRITE: Create, update and delete webhooks. + - API_SCOPE_INTEGRATIONS_READ: Read the Slack and Google Forms integrations. + - API_SCOPE_INTEGRATIONS_WRITE: Connect, configure, test, sync and disconnect the Slack and Google Forms integrations. + - API_SCOPE_WORKSPACE_READ: Read the workspace and its settings. + - API_SCOPE_WORKSPACE_WRITE: Update the workspace, request enrollment and delete the workspace. + - API_SCOPE_MEMBERS_READ: Read workspace members. + - API_SCOPE_MEMBERS_WRITE: Update, revoke, sign out and remove members. Inviting a member or changing a sign-in email or password needs full access. + - API_SCOPE_TOKENS_READ: Read API tokens and their scopes, never their secrets. + - API_SCOPE_TOKENS_WRITE: Create, update and delete API tokens, limited to the scopes the calling token holds. + - API_SCOPE_BILLING_WRITE: Open checkout, credit top-up and billing portal sessions. + - API_SCOPE_ASSISTANT_READ: Read the Assistant conversation. + - API_SCOPE_ASSISTANT_WRITE: Send files to the Assistant, clear the conversation and contact support. + enum: + - API_SCOPE_UNSPECIFIED + - API_SCOPE_LINKS_READ + - API_SCOPE_LINKS_WRITE + - API_SCOPE_WORKFLOWS_READ + - API_SCOPE_WORKFLOWS_WRITE + - API_SCOPE_QRCODES_READ + - API_SCOPE_QRCODES_WRITE + - API_SCOPE_PAGE_THEMES_READ + - API_SCOPE_PAGE_THEMES_WRITE + - API_SCOPE_MEDIA_READ + - API_SCOPE_MEDIA_WRITE + - API_SCOPE_DOMAINS_READ + - API_SCOPE_DOMAINS_WRITE + - API_SCOPE_VISITORS_READ + - API_SCOPE_VISITORS_WRITE + - API_SCOPE_ANALYTICS_READ + - API_SCOPE_ANALYTICS_WRITE + - API_SCOPE_WEBHOOKS_READ + - API_SCOPE_WEBHOOKS_WRITE + - API_SCOPE_INTEGRATIONS_READ + - API_SCOPE_INTEGRATIONS_WRITE + - API_SCOPE_WORKSPACE_READ + - API_SCOPE_WORKSPACE_WRITE + - API_SCOPE_MEMBERS_READ + - API_SCOPE_MEMBERS_WRITE + - API_SCOPE_TOKENS_READ + - API_SCOPE_TOKENS_WRITE + - API_SCOPE_BILLING_WRITE + - API_SCOPE_ASSISTANT_READ + - API_SCOPE_ASSISTANT_WRITE + type: string ApplyPageThemeTemplateRequest: example: linkId: linkId @@ -6641,6 +12427,20 @@ components: - $ref: "#/components/schemas/ThemeColor" title: Color configuration supporting solid colors and gradients title: BackgroundOptions represents the styling options for the QR code background + BillingInterval: + default: BILLING_INTERVAL_UNSPECIFIED + description: |- + - BILLING_INTERVAL_UNSPECIFIED: Not set + - BILLING_INTERVAL_MONTH: Charged every month + - BILLING_INTERVAL_YEAR: Charged every year + - BILLING_INTERVAL_ONE_TIME: Charged once + enum: + - BILLING_INTERVAL_UNSPECIFIED + - BILLING_INTERVAL_MONTH + - BILLING_INTERVAL_YEAR + - BILLING_INTERVAL_ONE_TIME + title: BillingInterval is how often a price is charged + type: string BreakdownDataPoint: example: code: code @@ -6749,6 +12549,27 @@ components: customDomain: $ref: "#/components/schemas/CustomDomain" title: Response containing the status of a custom domain + ClaimAgentWorkspaceRequest: + example: + password: password + firebaseToken: firebaseToken + claimAttemptToken: claimAttemptToken + userCode: userCode + properties: + claimAttemptToken: + title: The claim_attempt_token from the link the agent handed over + type: string + firebaseToken: + description: "A Firebase ID token from Google or Microsoft sign-in, for\ + \ the claim email. Set this or password." + type: string + password: + description: A password for the claim email. Set this or firebase_token. + type: string + userCode: + title: The 6-digit code the agent gave you + type: string + title: Request to claim an agent's workspace ClientRedirectPayload: properties: conversionTracking: @@ -7822,6 +13643,35 @@ components: title: The created QR code template title: CreateQrcodeTemplateResponse represents the response for creating a QR code template + CreateSandboxRequest: + example: + name: name + properties: + name: + description: "Optional name, at most 80 characters. Defaults to \"Sandbox\"\ + \ and the creation time." + type: string + CreateSandboxResponse: + example: + sandbox: + createdAt: 2000-01-23T04:56:07.000+00:00 + name: CI integration tests + id: 5b1e4d42-c0d3-4afe-a6fd-0c5f5c3962d0 + expiresAt: 2000-01-23T04:56:07.000+00:00 + accessToken: accessToken + token: "" + properties: + accessToken: + description: "The secret, starting with lb_test_. Returned only once." + type: string + sandbox: + $ref: "#/components/schemas/Sandbox" + token: + allOf: + - $ref: "#/components/schemas/WorkspaceToken" + description: |- + The sandbox's first API token, with the same scopes as the credential + that created the sandbox. CreateThankYouLinkRequest: description: Request to create a new thank you page link. example: @@ -8072,15 +13922,99 @@ components: CreateWorkspaceTokenRequest: example: name: name - keyType: "" + scopes: + - API_SCOPE_UNSPECIFIED + - API_SCOPE_UNSPECIFIED + keyType: WORKSPACE_TOKEN_KEY_TYPE_UNSPECIFIED properties: keyType: - allOf: - - $ref: "#/components/schemas/WorkspaceTokenKeyType" + description: |- + - WORKSPACE_TOKEN_KEY_TYPE_UNSPECIFIED: Default value (should not be used) + - WORKSPACE_TOKEN_KEY_TYPE_SECRET: Secret key with full API access + - WORKSPACE_TOKEN_KEY_TYPE_PUBLISHABLE: Publishable key with limited access + enum: + - WORKSPACE_TOKEN_KEY_TYPE_UNSPECIFIED + - WORKSPACE_TOKEN_KEY_TYPE_SECRET + - WORKSPACE_TOKEN_KEY_TYPE_PUBLISHABLE title: The key type of the token (required) + type: string name: title: The name of the token type: string + scopes: + description: |- + The scopes the token may use. Leave empty for full access. A write scope + also grants the read scope of the same resource. Publishable keys take no + scopes. A token can only grant scopes it holds itself. + items: + description: |- + ApiScope is one permission an API token or OAuth grant can hold. + + A write scope also grants the read scope of the same resource. + + - API_SCOPE_UNSPECIFIED: Not a scope. Rejected wherever a scope is expected. + - API_SCOPE_LINKS_READ: Read links, their QR code images, tags, folders and link settings. + - API_SCOPE_LINKS_WRITE: Create, update and delete links, tags, folders and link settings. + - API_SCOPE_WORKFLOWS_READ: Read the workflow steps behind a link and validate them. + - API_SCOPE_WORKFLOWS_WRITE: Create, connect, update, lay out and delete workflow steps. + - API_SCOPE_QRCODES_READ: Read QR code designs and QR code templates. + - API_SCOPE_QRCODES_WRITE: Change QR code designs and create, publish and delete QR code templates. + - API_SCOPE_PAGE_THEMES_READ: Read page themes and page theme templates. + - API_SCOPE_PAGE_THEMES_WRITE: Change page themes and create, publish and delete page theme templates. + - API_SCOPE_MEDIA_READ: Read uploaded media. + - API_SCOPE_MEDIA_WRITE: Upload and delete media. + - API_SCOPE_DOMAINS_READ: Read custom domains and their DNS instructions. + - API_SCOPE_DOMAINS_WRITE: Add, verify, update and delete custom domains. + - API_SCOPE_VISITORS_READ: Read and search visitors and their attributes. + - API_SCOPE_VISITORS_WRITE: Identify, update and delete visitors and their attributes. + - API_SCOPE_ANALYTICS_READ: Read events, metrics, time series, analytics data and dashboards. + - API_SCOPE_ANALYTICS_WRITE: Create, update and delete analytics dashboards and generate widget summaries. + - API_SCOPE_WEBHOOKS_READ: Read webhooks. + - API_SCOPE_WEBHOOKS_WRITE: Create, update and delete webhooks. + - API_SCOPE_INTEGRATIONS_READ: Read the Slack and Google Forms integrations. + - API_SCOPE_INTEGRATIONS_WRITE: Connect, configure, test, sync and disconnect the Slack and Google Forms integrations. + - API_SCOPE_WORKSPACE_READ: Read the workspace and its settings. + - API_SCOPE_WORKSPACE_WRITE: Update the workspace, request enrollment and delete the workspace. + - API_SCOPE_MEMBERS_READ: Read workspace members. + - API_SCOPE_MEMBERS_WRITE: Update, revoke, sign out and remove members. Inviting a member or changing a sign-in email or password needs full access. + - API_SCOPE_TOKENS_READ: Read API tokens and their scopes, never their secrets. + - API_SCOPE_TOKENS_WRITE: Create, update and delete API tokens, limited to the scopes the calling token holds. + - API_SCOPE_BILLING_WRITE: Open checkout, credit top-up and billing portal sessions. + - API_SCOPE_ASSISTANT_READ: Read the Assistant conversation. + - API_SCOPE_ASSISTANT_WRITE: Send files to the Assistant, clear the conversation and contact support. + enum: + - API_SCOPE_UNSPECIFIED + - API_SCOPE_LINKS_READ + - API_SCOPE_LINKS_WRITE + - API_SCOPE_WORKFLOWS_READ + - API_SCOPE_WORKFLOWS_WRITE + - API_SCOPE_QRCODES_READ + - API_SCOPE_QRCODES_WRITE + - API_SCOPE_PAGE_THEMES_READ + - API_SCOPE_PAGE_THEMES_WRITE + - API_SCOPE_MEDIA_READ + - API_SCOPE_MEDIA_WRITE + - API_SCOPE_DOMAINS_READ + - API_SCOPE_DOMAINS_WRITE + - API_SCOPE_VISITORS_READ + - API_SCOPE_VISITORS_WRITE + - API_SCOPE_ANALYTICS_READ + - API_SCOPE_ANALYTICS_WRITE + - API_SCOPE_WEBHOOKS_READ + - API_SCOPE_WEBHOOKS_WRITE + - API_SCOPE_INTEGRATIONS_READ + - API_SCOPE_INTEGRATIONS_WRITE + - API_SCOPE_WORKSPACE_READ + - API_SCOPE_WORKSPACE_WRITE + - API_SCOPE_MEMBERS_READ + - API_SCOPE_MEMBERS_WRITE + - API_SCOPE_TOKENS_READ + - API_SCOPE_TOKENS_WRITE + - API_SCOPE_BILLING_WRITE + - API_SCOPE_ASSISTANT_READ + - API_SCOPE_ASSISTANT_WRITE + type: string + type: array required: - keyType title: CreateWorkspaceTokenRequest represents the request to create a new workspace @@ -8101,6 +14035,18 @@ components: title: The workspace token title: CreateWorkspaceTokenResponse represents the response after creating a workspace token + CreditTopup: + properties: + amounts: + items: + $ref: "#/components/schemas/Money" + title: "Price of one unit, one entry per currency" + type: array + creditsPerUnit: + format: int32 + title: Credits bought per unit + type: integer + title: CreditTopup is the price of buying platform credits outside a plan CustomDomain: description: |- Captures a branded hostname that Linkbreakers provisions for a workspace so scans and shortlinks resolve @@ -8224,10 +14170,16 @@ components: purpose: "" host: host name: name + detected: true type: "" value: value required: true properties: + detected: + title: |- + Whether the record is already published with this value, read from public + DNS when the guide was built + type: boolean host: description: |- What to type in the provider's host field: the name relative to the zone, @@ -8243,8 +14195,9 @@ components: title: Why the record is needed required: description: |- - Whether the domain cannot work without it. Optional records make setup - smoother, such as certificates renewing on their own. + Whether setup is incomplete without it. The routing record and the + certificate delegation record (which keeps HTTPS renewing on its own) are + both required. type: boolean type: allOf: @@ -8278,12 +14231,14 @@ components: - purpose: "" host: host name: name + detected: true type: "" value: value required: true - purpose: "" host: host name: name + detected: true type: "" value: value required: true @@ -9488,6 +15443,16 @@ components: - $ref: "#/components/schemas/WorkflowStep" title: "The step the connection left from, as it now stands" title: Response for clearing a workflow step branch + DismissAllowanceNoticeRequest: + example: + key: "" + properties: + key: + allOf: + - $ref: "#/components/schemas/PlanLimitKey" + title: The limit whose notice to dismiss + title: Request to stop showing the over-limit notice for one limit until its + next cycle DnsProvider: default: DNS_PROVIDER_UNSPECIFIED description: |- @@ -9601,7 +15566,7 @@ components: type: string ErrorResponse: example: - code: 5 + code: 0 codeType: UNKNOWN details: - "{}" @@ -10541,6 +16506,14 @@ components: title: Percentage of total events type: number title: GeoDataPoint represents a geographic location with its event count + GetAgentClaimRequest: + example: + claimAttemptToken: claimAttemptToken + properties: + claimAttemptToken: + title: The claim_attempt_token from the link the agent handed over + type: string + title: Request to read a claim link GetAttributeDistributionRequest: example: linkId: linkId @@ -10773,12 +16746,14 @@ components: - purpose: "" host: host name: name + detected: true type: "" value: value required: true - purpose: "" host: host name: name + detected: true type: "" value: value required: true @@ -11574,6 +17549,109 @@ components: lastName: title: Last name used in invitation email and dashboard type: string + Job: + description: A long-running operation. + example: + createdAt: 2000-01-23T04:56:07.000+00:00 + completedAt: 2000-01-23T04:56:07.000+00:00 + statusUrl: statusUrl + id: id + error: "" + linksBulkCreate: "" + type: JOB_TYPE_UNSPECIFIED + itemCount: 0 + status: JOB_STATUS_UNSPECIFIED + properties: + completedAt: + description: "When the job finished, once it has." + format: date-time + type: string + createdAt: + description: When the job was accepted. + format: date-time + type: string + error: + allOf: + - $ref: "#/components/schemas/JobError" + description: Set when status is JOB_STATUS_FAILED. + id: + description: Job ID (UUID). + type: string + itemCount: + description: How many items the job was submitted with. + format: int32 + type: integer + linksBulkCreate: + allOf: + - $ref: "#/components/schemas/LinksBulkCreateResult" + description: Set when a JOB_TYPE_LINKS_BULK_CREATE job succeeded. + status: + description: |- + Where a job stands. + + - JOB_STATUS_UNSPECIFIED: Not set. + - JOB_STATUS_PENDING: Accepted and waiting to run. + - JOB_STATUS_RUNNING: Running now. + - JOB_STATUS_SUCCEEDED: Finished; the result is set. + - JOB_STATUS_FAILED: Finished without doing its work; error says why. Nothing was created. + enum: + - JOB_STATUS_UNSPECIFIED + - JOB_STATUS_PENDING + - JOB_STATUS_RUNNING + - JOB_STATUS_SUCCEEDED + - JOB_STATUS_FAILED + type: string + statusUrl: + description: Path to poll for this job's status. + type: string + type: + description: |- + What a job does. + + - JOB_TYPE_UNSPECIFIED: Not set. + - JOB_TYPE_LINKS_BULK_CREATE: Creates a batch of links (POST /v1/links/bulk/jobs). + enum: + - JOB_TYPE_UNSPECIFIED + - JOB_TYPE_LINKS_BULK_CREATE + type: string + JobError: + description: Why a job failed. + properties: + codeType: + description: "Stable error code, the same codeType a synchronous call would\ + \ return." + type: string + message: + description: Human-readable explanation. + type: string + JobStatus: + default: JOB_STATUS_UNSPECIFIED + description: |- + Where a job stands. + + - JOB_STATUS_UNSPECIFIED: Not set. + - JOB_STATUS_PENDING: Accepted and waiting to run. + - JOB_STATUS_RUNNING: Running now. + - JOB_STATUS_SUCCEEDED: Finished; the result is set. + - JOB_STATUS_FAILED: Finished without doing its work; error says why. Nothing was created. + enum: + - JOB_STATUS_UNSPECIFIED + - JOB_STATUS_PENDING + - JOB_STATUS_RUNNING + - JOB_STATUS_SUCCEEDED + - JOB_STATUS_FAILED + type: string + JobType: + default: JOB_TYPE_UNSPECIFIED + description: |- + What a job does. + + - JOB_TYPE_UNSPECIFIED: Not set. + - JOB_TYPE_LINKS_BULK_CREATE: Creates a batch of links (POST /v1/links/bulk/jobs). + enum: + - JOB_TYPE_UNSPECIFIED + - JOB_TYPE_LINKS_BULK_CREATE + type: string JourneyProgress: description: |- How far one visit got through a workflow. Conditions are not counted, @@ -11847,6 +17925,16 @@ components: description: Reserved for future link visit specific configuration title: Entry payload for EVENT_ACTION_LINK_VISIT (currently no specific fields) type: object + LinksBulkCreateResult: + description: Result of a JOB_TYPE_LINKS_BULK_CREATE job. + properties: + linkIds: + description: |- + IDs of the created links, in the order they were submitted. Fetch each + with GET /v1/links/{id}. + items: + type: string + type: array LinksServiceUpdateBody: example: expiresAtDelete: true @@ -11943,6 +18031,79 @@ components: If true, all tags will be removed from the link. type: boolean title: Request to update a link + ListAllowancesResponse: + example: + allowances: + - cycleStartAt: 2000-01-23T04:56:07.000+00:00 + cheapestActionCost: 0 + cycleEndAt: 2000-01-23T04:56:07.000+00:00 + kind: "" + reached: true + limit: 6 + used: 5 + noticeDismissed: true + resetsOn: "" + key: "" + remaining: 1 + - cycleStartAt: 2000-01-23T04:56:07.000+00:00 + cheapestActionCost: 0 + cycleEndAt: 2000-01-23T04:56:07.000+00:00 + kind: "" + reached: true + limit: 6 + used: 5 + noticeDismissed: true + resetsOn: "" + key: "" + remaining: 1 + plan: "" + limits: + - kind: PLAN_LIMIT_KIND_UNSPECIFIED + value: 5 + key: PLAN_LIMIT_KEY_UNSPECIFIED + - kind: PLAN_LIMIT_KIND_UNSPECIFIED + value: 5 + key: PLAN_LIMIT_KEY_UNSPECIFIED + properties: + allowances: + items: + $ref: "#/components/schemas/WorkspaceAllowance" + title: One entry per limit the plan sets + type: array + limits: + description: "Every limit this workspace is allowed, as enforced for its\ + \ subscription, including the ones not counted per cycle such as webhooks\ + \ and the Assistant rate. A trial or sponsored workspace can be allowed\ + \ less than the plan it reports, and these are what it gets." + items: + $ref: "#/components/schemas/PlanLimit" + type: array + plan: + allOf: + - $ref: "#/components/schemas/PricingPlanId" + description: The plan the limits come from. A trial or sponsored workspace + reports the plan it is allowed what of. + title: The workspace's allowances + ListApiScopesResponse: + description: ListApiScopesResponse lists every scope a token can hold. + example: + scopes: + - access: "" + resource: links + scope: API_SCOPE_UNSPECIFIED + name: links:read + description: description + - access: "" + resource: links + scope: API_SCOPE_UNSPECIFIED + name: links:read + description: description + properties: + scopes: + description: "Every scope, ordered by resource then read before write." + items: + $ref: "#/components/schemas/ApiScopeInfo" + type: array ListCustomDomainsResponse: example: customDomains: @@ -13201,6 +19362,107 @@ components: format: int64 type: string title: Response containing page themes + ListPricingPlansResponse: + example: + plans: + - features: + - PLAN_FEATURE_UNSPECIFIED + - PLAN_FEATURE_UNSPECIFIED + name: name + contactUrl: contactUrl + id: PRICING_PLAN_ID_UNSPECIFIED + prices: + - monthlyEquivalents: + - currency: currency + amountMinor: 6 + - currency: currency + amountMinor: 6 + amounts: + - currency: currency + amountMinor: 6 + - currency: currency + amountMinor: 6 + interval: "" + - monthlyEquivalents: + - currency: currency + amountMinor: 6 + - currency: currency + amountMinor: 6 + amounts: + - currency: currency + amountMinor: 6 + - currency: currency + amountMinor: 6 + interval: "" + limits: + - kind: PLAN_LIMIT_KIND_UNSPECIFIED + value: 5 + key: PLAN_LIMIT_KEY_UNSPECIFIED + - kind: PLAN_LIMIT_KIND_UNSPECIFIED + value: 5 + key: PLAN_LIMIT_KEY_UNSPECIFIED + trial: "" + - features: + - PLAN_FEATURE_UNSPECIFIED + - PLAN_FEATURE_UNSPECIFIED + name: name + contactUrl: contactUrl + id: PRICING_PLAN_ID_UNSPECIFIED + prices: + - monthlyEquivalents: + - currency: currency + amountMinor: 6 + - currency: currency + amountMinor: 6 + amounts: + - currency: currency + amountMinor: 6 + - currency: currency + amountMinor: 6 + interval: "" + - monthlyEquivalents: + - currency: currency + amountMinor: 6 + - currency: currency + amountMinor: 6 + amounts: + - currency: currency + amountMinor: 6 + - currency: currency + amountMinor: 6 + interval: "" + limits: + - kind: PLAN_LIMIT_KIND_UNSPECIFIED + value: 5 + key: PLAN_LIMIT_KEY_UNSPECIFIED + - kind: PLAN_LIMIT_KIND_UNSPECIFIED + value: 5 + key: PLAN_LIMIT_KEY_UNSPECIFIED + trial: "" + creditTopup: "" + linkCreatedCreditCost: 0 + pricesUpdatedAt: 2000-01-23T04:56:07.000+00:00 + properties: + creditTopup: + allOf: + - $ref: "#/components/schemas/CreditTopup" + description: Price of buying more credits. Absent when prices could not + be read. + linkCreatedCreditCost: + format: int32 + title: Platform credits spent by creating one link + type: integer + plans: + items: + $ref: "#/components/schemas/PricingPlan" + title: "Plans, cheapest first" + type: array + pricesUpdatedAt: + description: When the prices were read from the billing provider. Absent + when they never could be. + format: date-time + type: string + title: The pricing catalog ListQrcodeTemplatesResponse: example: nextPageToken: eyJxdHMiOiJxdGVtcGxhdGUifQ== @@ -13359,6 +19621,27 @@ components: given matches what it received. format: int64 type: string + ListSandboxesResponse: + example: + totalCount: totalCount + sandboxes: + - createdAt: 2000-01-23T04:56:07.000+00:00 + name: CI integration tests + id: 5b1e4d42-c0d3-4afe-a6fd-0c5f5c3962d0 + expiresAt: 2000-01-23T04:56:07.000+00:00 + - createdAt: 2000-01-23T04:56:07.000+00:00 + name: CI integration tests + id: 5b1e4d42-c0d3-4afe-a6fd-0c5f5c3962d0 + expiresAt: 2000-01-23T04:56:07.000+00:00 + properties: + sandboxes: + items: + $ref: "#/components/schemas/Sandbox" + type: array + totalCount: + description: How many sandboxes the workspace holds. + format: int64 + type: string ListSlackChannelsResponse: example: channels: @@ -13707,18 +19990,26 @@ components: tokens: - createdAt: 2000-01-23T04:56:07.000+00:00 createdBy: 123e4567-e89b-12d3-a456-426614174000 + fullAccess: true lastUsedAt: 2000-01-23T04:56:07.000+00:00 name: Production token id: d22f7bf1-83a9-4f3a-9b37-9a3a21b6ac11 - keyType: "" + scopes: + - API_SCOPE_UNSPECIFIED + - API_SCOPE_UNSPECIFIED + keyType: WORKSPACE_TOKEN_KEY_TYPE_UNSPECIFIED updatedAt: 2000-01-23T04:56:07.000+00:00 workspaceId: c0d3cafe-5b1e-4d42-a6fd-0c5f5c3962d0 - createdAt: 2000-01-23T04:56:07.000+00:00 createdBy: 123e4567-e89b-12d3-a456-426614174000 + fullAccess: true lastUsedAt: 2000-01-23T04:56:07.000+00:00 name: Production token id: d22f7bf1-83a9-4f3a-9b37-9a3a21b6ac11 - keyType: "" + scopes: + - API_SCOPE_UNSPECIFIED + - API_SCOPE_UNSPECIFIED + keyType: WORKSPACE_TOKEN_KEY_TYPE_UNSPECIFIED updatedAt: 2000-01-23T04:56:07.000+00:00 workspaceId: c0d3cafe-5b1e-4d42-a6fd-0c5f5c3962d0 totalCount: totalCount @@ -13934,10 +20225,18 @@ components: title: Last time the member successfully authenticated type: string role: - allOf: - - $ref: "#/components/schemas/Role" + description: |- + Role enumerates the built-in permission tiers that control what teammates can manage inside a workspace. + + - ROLE_UNSPECIFIED: Role not specified (defaults to viewer permissions) + enum: + - ROLE_UNSPECIFIED + - ROLE_VIEWER + - ROLE_ADMIN + - ROLE_TECH example: ROLE_ADMIN title: Workspace role that controls product permissions + type: string updatedAt: format: date-time title: Timestamp when member metadata was last updated @@ -13979,10 +20278,18 @@ components: title: Last name to display in the product type: string role: - allOf: - - $ref: "#/components/schemas/Role" + description: |- + Role enumerates the built-in permission tiers that control what teammates can manage inside a workspace. + + - ROLE_UNSPECIFIED: Role not specified (defaults to viewer permissions) + enum: + - ROLE_UNSPECIFIED + - ROLE_VIEWER + - ROLE_ADMIN + - ROLE_TECH example: ROLE_TECH title: Role that defines workspace permissions + type: string MessagePageNavigationType: default: MESSAGE_PAGE_NAVIGATION_TYPE_UNSPECIFIED description: |- @@ -14027,6 +20334,19 @@ components: - navigationType - title title: MessagePagePayload is a mid-flow informational page with mandatory navigation + Money: + example: + currency: currency + amountMinor: 6 + properties: + amountMinor: + format: int32 + title: "Amount in the currency's minor unit, e.g. 790 for 7.90 USD" + type: integer + currency: + title: "ISO 4217 currency code, upper case, e.g. \"USD\"" + type: string + title: Money is an amount in one currency MultiLinkButton: properties: id: @@ -14715,6 +21035,161 @@ components: type: string validated: type: boolean + PlanFeature: + default: PLAN_FEATURE_UNSPECIFIED + description: |- + - PLAN_FEATURE_UNSPECIFIED: Not set + - PLAN_FEATURE_BRAND_FREE_PAGES: Visitor pages carry no Linkbreakers branding + enum: + - PLAN_FEATURE_UNSPECIFIED + - PLAN_FEATURE_BRAND_FREE_PAGES + title: PlanFeature names a capability that depends on the plan + type: string + PlanLimit: + example: + kind: PLAN_LIMIT_KIND_UNSPECIFIED + value: 5 + key: PLAN_LIMIT_KEY_UNSPECIFIED + properties: + key: + description: |- + - PLAN_LIMIT_KEY_UNSPECIFIED: Not set + - PLAN_LIMIT_KEY_CUSTOM_DOMAINS: Custom domains connected to the workspace + - PLAN_LIMIT_KEY_TEAM_MEMBERS: Members of the workspace + - PLAN_LIMIT_KEY_PLATFORM_CREDITS: Platform credits, spent by creating links and by AI features + - PLAN_LIMIT_KEY_TRACKED_VISITS: Tracked visits (scans and clicks) + - PLAN_LIMIT_KEY_PUBLIC_API_CALLS: Public API calls + - PLAN_LIMIT_KEY_WEBHOOKS: Webhooks configured in the workspace + - PLAN_LIMIT_KEY_ASSISTANT_MESSAGES_PER_MINUTE: Assistant messages per minute + - PLAN_LIMIT_KEY_LINKS_INCLUDED: Links the monthly platform credits pay for. Links are not capped on their own: each one spends credits. + enum: + - PLAN_LIMIT_KEY_UNSPECIFIED + - PLAN_LIMIT_KEY_CUSTOM_DOMAINS + - PLAN_LIMIT_KEY_TEAM_MEMBERS + - PLAN_LIMIT_KEY_PLATFORM_CREDITS + - PLAN_LIMIT_KEY_TRACKED_VISITS + - PLAN_LIMIT_KEY_PUBLIC_API_CALLS + - PLAN_LIMIT_KEY_WEBHOOKS + - PLAN_LIMIT_KEY_ASSISTANT_MESSAGES_PER_MINUTE + - PLAN_LIMIT_KEY_LINKS_INCLUDED + title: What the limit is on + type: string + kind: + description: |- + - PLAN_LIMIT_KIND_UNSPECIFIED: Not set + - PLAN_LIMIT_KIND_TOTAL: A standing total that does not refill, such as connected domains + - PLAN_LIMIT_KIND_MONTHLY: An allowance that refills every month + - PLAN_LIMIT_KIND_PER_MINUTE: A rate that refills every minute + - PLAN_LIMIT_KIND_UNLIMITED: No ceiling + - PLAN_LIMIT_KIND_METERED: No ceiling; every unit is billed + enum: + - PLAN_LIMIT_KIND_UNSPECIFIED + - PLAN_LIMIT_KIND_TOTAL + - PLAN_LIMIT_KIND_MONTHLY + - PLAN_LIMIT_KIND_PER_MINUTE + - PLAN_LIMIT_KIND_UNLIMITED + - PLAN_LIMIT_KIND_METERED + title: How the limit behaves + type: string + value: + description: The ceiling. Absent when kind is PLAN_LIMIT_KIND_UNLIMITED + or PLAN_LIMIT_KIND_METERED. + format: int32 + type: integer + title: PlanLimit is one number a plan puts on something + PlanLimitKey: + default: PLAN_LIMIT_KEY_UNSPECIFIED + description: |- + - PLAN_LIMIT_KEY_UNSPECIFIED: Not set + - PLAN_LIMIT_KEY_CUSTOM_DOMAINS: Custom domains connected to the workspace + - PLAN_LIMIT_KEY_TEAM_MEMBERS: Members of the workspace + - PLAN_LIMIT_KEY_PLATFORM_CREDITS: Platform credits, spent by creating links and by AI features + - PLAN_LIMIT_KEY_TRACKED_VISITS: Tracked visits (scans and clicks) + - PLAN_LIMIT_KEY_PUBLIC_API_CALLS: Public API calls + - PLAN_LIMIT_KEY_WEBHOOKS: Webhooks configured in the workspace + - PLAN_LIMIT_KEY_ASSISTANT_MESSAGES_PER_MINUTE: Assistant messages per minute + - PLAN_LIMIT_KEY_LINKS_INCLUDED: Links the monthly platform credits pay for. Links are not capped on their own: each one spends credits. + enum: + - PLAN_LIMIT_KEY_UNSPECIFIED + - PLAN_LIMIT_KEY_CUSTOM_DOMAINS + - PLAN_LIMIT_KEY_TEAM_MEMBERS + - PLAN_LIMIT_KEY_PLATFORM_CREDITS + - PLAN_LIMIT_KEY_TRACKED_VISITS + - PLAN_LIMIT_KEY_PUBLIC_API_CALLS + - PLAN_LIMIT_KEY_WEBHOOKS + - PLAN_LIMIT_KEY_ASSISTANT_MESSAGES_PER_MINUTE + - PLAN_LIMIT_KEY_LINKS_INCLUDED + title: PlanLimitKey names one thing a plan puts a number on + type: string + PlanLimitKind: + default: PLAN_LIMIT_KIND_UNSPECIFIED + description: |- + - PLAN_LIMIT_KIND_UNSPECIFIED: Not set + - PLAN_LIMIT_KIND_TOTAL: A standing total that does not refill, such as connected domains + - PLAN_LIMIT_KIND_MONTHLY: An allowance that refills every month + - PLAN_LIMIT_KIND_PER_MINUTE: A rate that refills every minute + - PLAN_LIMIT_KIND_UNLIMITED: No ceiling + - PLAN_LIMIT_KIND_METERED: No ceiling; every unit is billed + enum: + - PLAN_LIMIT_KIND_UNSPECIFIED + - PLAN_LIMIT_KIND_TOTAL + - PLAN_LIMIT_KIND_MONTHLY + - PLAN_LIMIT_KIND_PER_MINUTE + - PLAN_LIMIT_KIND_UNLIMITED + - PLAN_LIMIT_KIND_METERED + title: PlanLimitKind says how a limit behaves + type: string + PlanPrice: + example: + monthlyEquivalents: + - currency: currency + amountMinor: 6 + - currency: currency + amountMinor: 6 + amounts: + - currency: currency + amountMinor: 6 + - currency: currency + amountMinor: 6 + interval: "" + properties: + amounts: + items: + $ref: "#/components/schemas/Money" + title: "The charge for the whole interval, one entry per currency the price\ + \ is offered in" + type: array + interval: + allOf: + - $ref: "#/components/schemas/BillingInterval" + title: How often the price is charged + monthlyEquivalents: + description: "The charge spread over one month, one entry per currency.\ + \ Equals amounts for a monthly price." + items: + $ref: "#/components/schemas/Money" + type: array + title: PlanPrice is what a plan costs for one billing interval + PlanTrial: + properties: + days: + format: int32 + title: Length of the trial in days + type: integer + limits: + description: "What a workspace on the trial is allowed. Mostly the plan's\ + \ limits, with the exceptions enforcement makes." + items: + $ref: "#/components/schemas/PlanLimit" + type: array + signupOffer: + title: Value of the offer query parameter on the signup link that starts + the trial + type: string + signupUrl: + title: Signup link that starts the trial + type: string + title: "PlanTrial is a free, self-serve trial of a plan" PreferredLinkType: default: PREFERRED_LINK_TYPE_URL description: |- @@ -14730,6 +21205,109 @@ components: - PREFERRED_LINK_TYPE_SOCIAL_LINKS_PAGE - PREFERRED_LINK_TYPE_MIX type: string + PricingPlan: + description: "One plan: what it costs and what it allows." + example: + features: + - PLAN_FEATURE_UNSPECIFIED + - PLAN_FEATURE_UNSPECIFIED + name: name + contactUrl: contactUrl + id: PRICING_PLAN_ID_UNSPECIFIED + prices: + - monthlyEquivalents: + - currency: currency + amountMinor: 6 + - currency: currency + amountMinor: 6 + amounts: + - currency: currency + amountMinor: 6 + - currency: currency + amountMinor: 6 + interval: "" + - monthlyEquivalents: + - currency: currency + amountMinor: 6 + - currency: currency + amountMinor: 6 + amounts: + - currency: currency + amountMinor: 6 + - currency: currency + amountMinor: 6 + interval: "" + limits: + - kind: PLAN_LIMIT_KIND_UNSPECIFIED + value: 5 + key: PLAN_LIMIT_KEY_UNSPECIFIED + - kind: PLAN_LIMIT_KIND_UNSPECIFIED + value: 5 + key: PLAN_LIMIT_KEY_UNSPECIFIED + trial: "" + properties: + contactUrl: + description: |- + Where to ask for this plan's price. Set only for a plan priced on request, such as Enterprise, + which is billed on the platform credits it uses at a rate agreed with sales. + type: string + features: + items: + $ref: "#/components/schemas/PlanFeature" + title: Capabilities the plan includes + type: array + id: + description: |- + - PRICING_PLAN_ID_UNSPECIFIED: Not set + - PRICING_PLAN_ID_FREE: Free plan, no payment + - PRICING_PLAN_ID_LIGHT: Light plan + - PRICING_PLAN_ID_PRO: Pro plan. Trials and sponsored workspaces are allowed what Pro allows unless a limit says otherwise. + - PRICING_PLAN_ID_ENTERPRISE: Enterprise plan, billed on usage and priced on request through sales + enum: + - PRICING_PLAN_ID_UNSPECIFIED + - PRICING_PLAN_ID_FREE + - PRICING_PLAN_ID_LIGHT + - PRICING_PLAN_ID_PRO + - PRICING_PLAN_ID_ENTERPRISE + title: Plan identifier + type: string + limits: + items: + $ref: "#/components/schemas/PlanLimit" + title: Every limit the plan enforces + type: array + name: + title: Display name + type: string + prices: + description: |- + Recurring prices. Empty for the free plan and for Enterprise, which is priced on request. + Also empty for a paid plan whose prices could not be read: treat that as unknown, not free. + items: + $ref: "#/components/schemas/PlanPrice" + type: array + trial: + allOf: + - $ref: "#/components/schemas/PlanTrial" + description: Self-serve free trial of this plan. Absent when the plan has + none. + title: PricingPlan + PricingPlanId: + default: PRICING_PLAN_ID_UNSPECIFIED + description: |- + - PRICING_PLAN_ID_UNSPECIFIED: Not set + - PRICING_PLAN_ID_FREE: Free plan, no payment + - PRICING_PLAN_ID_LIGHT: Light plan + - PRICING_PLAN_ID_PRO: Pro plan. Trials and sponsored workspaces are allowed what Pro allows unless a limit says otherwise. + - PRICING_PLAN_ID_ENTERPRISE: Enterprise plan, billed on usage and priced on request through sales + enum: + - PRICING_PLAN_ID_UNSPECIFIED + - PRICING_PLAN_ID_FREE + - PRICING_PLAN_ID_LIGHT + - PRICING_PLAN_ID_PRO + - PRICING_PLAN_ID_ENTERPRISE + title: PricingPlanId identifies a plan a workspace can subscribe to + type: string PublicCreateQrcodeDesignRequest: description: PublicCreateQrcodeDesignRequest provisions a new reusable QR code styling preset. @@ -15628,6 +22206,32 @@ components: - ROLE_ADMIN - ROLE_TECH type: string + Sandbox: + description: |- + A sandbox workspace for testing, empty when created, reachable only through + its own lb_test_ API tokens, and purged at expires_at. + example: + createdAt: 2000-01-23T04:56:07.000+00:00 + name: CI integration tests + id: 5b1e4d42-c0d3-4afe-a6fd-0c5f5c3962d0 + expiresAt: 2000-01-23T04:56:07.000+00:00 + properties: + createdAt: + format: date-time + readOnly: true + type: string + expiresAt: + description: When the sandbox and everything in it is deleted. + format: date-time + readOnly: true + type: string + id: + description: The sandbox workspace id (UUID). Its tokens act on this workspace. + example: 5b1e4d42-c0d3-4afe-a6fd-0c5f5c3962d0 + type: string + name: + example: CI integration tests + type: string SettingsServiceUpdateLinkSettingBody: description: UpdateLinkSettingRequest changes the visitor-data policy tied to a specific link. @@ -16832,6 +23436,15 @@ components: title: Website URL for the workspace type: string title: UpdateWorkspaceRequest represents the request to update a workspace + UpdateWorkspaceTokenResponse: + description: UpdateWorkspaceTokenResponse returns the updated token. + example: + token: "" + properties: + token: + allOf: + - $ref: "#/components/schemas/WorkspaceToken" + title: Token metadata (does not include the secret access token) VCardData: properties: buttonLabel: @@ -18492,8 +25105,10 @@ components: subscriptionType: SUBSCRIPTION_TYPE_PRO_PLAN faq: faq name: name + sandboxExpiresAt: 2000-01-23T04:56:07.000+00:00 id: c0d3cafe-5b1e-4d42-a6fd-0c5f5c3962d0 digestFrequency: DIGEST_FREQUENCY_UNSPECIFIED + isSandbox: true slug: slug updatedAt: 2000-01-23T04:56:07.000+00:00 externalDocs: @@ -18546,6 +25161,11 @@ components: title: When the workspace was flagged as inactive due to lack of activity (cleared on next sign-in/scan) type: string + isSandbox: + description: "True for a sandbox workspace: API-only, with its own caps,\ + \ never billed." + readOnly: true + type: boolean linkSettingId: example: fbb5c4b6-2a10-4f35-8cb1-60c613a92d2a title: Link setting configuration that governs visitor data collection (UUID) @@ -18557,6 +25177,11 @@ components: format: date-time title: Timestamp when the workspace was published/made public type: string + sandboxExpiresAt: + description: When a sandbox workspace is deleted. Unset for a live workspace. + format: date-time + readOnly: true + type: string shortDescription: title: Short description for the workspace type: string @@ -18604,6 +25229,79 @@ components: title: Website URL for the workspace type: string title: Workspace + WorkspaceAllowance: + description: "One limit the workspace's plan sets, with what the workspace has\ + \ used of it." + example: + cycleStartAt: 2000-01-23T04:56:07.000+00:00 + cheapestActionCost: 0 + cycleEndAt: 2000-01-23T04:56:07.000+00:00 + kind: "" + reached: true + limit: 6 + used: 5 + noticeDismissed: true + resetsOn: "" + key: "" + remaining: 1 + properties: + cheapestActionCost: + format: int32 + title: "Platform credits only: the credits the cheapest action that spends\ + \ them needs before it runs" + type: integer + cycleEndAt: + description: The last second of the current cycle; the allowance refills + one second later. Absent for totals that never refill and when nothing + has been counted yet. + format: date-time + type: string + cycleStartAt: + description: Start of the current cycle. Absent when nothing has been counted + yet. + format: date-time + type: string + key: + allOf: + - $ref: "#/components/schemas/PlanLimitKey" + title: What the limit is on + kind: + allOf: + - $ref: "#/components/schemas/PlanLimitKind" + title: How the limit behaves + limit: + description: The ceiling. Absent when kind is PLAN_LIMIT_KIND_UNLIMITED + or PLAN_LIMIT_KIND_METERED. + format: int32 + type: integer + noticeDismissed: + title: Whether the calling member dismissed the over-limit notice for this + limit in the current cycle + type: boolean + reached: + description: "Whether the limit is used up for the current cycle. Platform\ + \ credits count as reached once neither the monthly credits nor the purchased\ + \ top-up credits hold cheapest_action_cost, so nothing that spends credits\ + \ can run. Never reached on a plan billed per unit used." + type: boolean + remaining: + description: "Units left in the current cycle. For platform credits, the\ + \ monthly credits left plus the purchased top-up credits left. Absent\ + \ when there is no ceiling." + format: int32 + type: integer + resetsOn: + allOf: + - $ref: "#/components/schemas/typeDate" + description: "The day the allowance refills, which is the first day of the\ + \ next cycle in the workspace's timezone. Absent for totals that never\ + \ refill and when nothing has been counted yet." + used: + description: "Units used in the current cycle. For a total such as custom\ + \ domains, what the workspace holds." + format: int32 + type: integer + title: WorkspaceAllowance WorkspaceInsight: description: |- Derived workspace usage insight that helps the UI pre-select the right link type when creating new links. @@ -18684,10 +25382,14 @@ components: example: createdAt: 2000-01-23T04:56:07.000+00:00 createdBy: 123e4567-e89b-12d3-a456-426614174000 + fullAccess: true lastUsedAt: 2000-01-23T04:56:07.000+00:00 name: Production token id: d22f7bf1-83a9-4f3a-9b37-9a3a21b6ac11 - keyType: "" + scopes: + - API_SCOPE_UNSPECIFIED + - API_SCOPE_UNSPECIFIED + keyType: WORKSPACE_TOKEN_KEY_TYPE_UNSPECIFIED updatedAt: 2000-01-23T04:56:07.000+00:00 workspaceId: c0d3cafe-5b1e-4d42-a6fd-0c5f5c3962d0 properties: @@ -18700,15 +25402,28 @@ components: example: 123e4567-e89b-12d3-a456-426614174000 title: The member who created the token (UUID of creator) type: string + fullAccess: + description: |- + True when the token may call every endpoint, including ones behind scopes + added later. Tokens created without scopes have full access. + readOnly: true + type: boolean id: example: d22f7bf1-83a9-4f3a-9b37-9a3a21b6ac11 title: The unique identifier of the workspace token (UUID) type: string keyType: - allOf: - - $ref: "#/components/schemas/WorkspaceTokenKeyType" + description: |- + - WORKSPACE_TOKEN_KEY_TYPE_UNSPECIFIED: Default value (should not be used) + - WORKSPACE_TOKEN_KEY_TYPE_SECRET: Secret key with full API access + - WORKSPACE_TOKEN_KEY_TYPE_PUBLISHABLE: Publishable key with limited access + enum: + - WORKSPACE_TOKEN_KEY_TYPE_UNSPECIFIED + - WORKSPACE_TOKEN_KEY_TYPE_SECRET + - WORKSPACE_TOKEN_KEY_TYPE_PUBLISHABLE readOnly: true title: The key type of the token (secret or publishable) + type: string lastUsedAt: format: date-time readOnly: true @@ -18718,6 +25433,79 @@ components: example: Production token title: The name of the token type: string + scopes: + description: "The scopes the token holds. With full access, every scope\ + \ that exists today." + items: + description: |- + ApiScope is one permission an API token or OAuth grant can hold. + + A write scope also grants the read scope of the same resource. + + - API_SCOPE_UNSPECIFIED: Not a scope. Rejected wherever a scope is expected. + - API_SCOPE_LINKS_READ: Read links, their QR code images, tags, folders and link settings. + - API_SCOPE_LINKS_WRITE: Create, update and delete links, tags, folders and link settings. + - API_SCOPE_WORKFLOWS_READ: Read the workflow steps behind a link and validate them. + - API_SCOPE_WORKFLOWS_WRITE: Create, connect, update, lay out and delete workflow steps. + - API_SCOPE_QRCODES_READ: Read QR code designs and QR code templates. + - API_SCOPE_QRCODES_WRITE: Change QR code designs and create, publish and delete QR code templates. + - API_SCOPE_PAGE_THEMES_READ: Read page themes and page theme templates. + - API_SCOPE_PAGE_THEMES_WRITE: Change page themes and create, publish and delete page theme templates. + - API_SCOPE_MEDIA_READ: Read uploaded media. + - API_SCOPE_MEDIA_WRITE: Upload and delete media. + - API_SCOPE_DOMAINS_READ: Read custom domains and their DNS instructions. + - API_SCOPE_DOMAINS_WRITE: Add, verify, update and delete custom domains. + - API_SCOPE_VISITORS_READ: Read and search visitors and their attributes. + - API_SCOPE_VISITORS_WRITE: Identify, update and delete visitors and their attributes. + - API_SCOPE_ANALYTICS_READ: Read events, metrics, time series, analytics data and dashboards. + - API_SCOPE_ANALYTICS_WRITE: Create, update and delete analytics dashboards and generate widget summaries. + - API_SCOPE_WEBHOOKS_READ: Read webhooks. + - API_SCOPE_WEBHOOKS_WRITE: Create, update and delete webhooks. + - API_SCOPE_INTEGRATIONS_READ: Read the Slack and Google Forms integrations. + - API_SCOPE_INTEGRATIONS_WRITE: Connect, configure, test, sync and disconnect the Slack and Google Forms integrations. + - API_SCOPE_WORKSPACE_READ: Read the workspace and its settings. + - API_SCOPE_WORKSPACE_WRITE: Update the workspace, request enrollment and delete the workspace. + - API_SCOPE_MEMBERS_READ: Read workspace members. + - API_SCOPE_MEMBERS_WRITE: Update, revoke, sign out and remove members. Inviting a member or changing a sign-in email or password needs full access. + - API_SCOPE_TOKENS_READ: Read API tokens and their scopes, never their secrets. + - API_SCOPE_TOKENS_WRITE: Create, update and delete API tokens, limited to the scopes the calling token holds. + - API_SCOPE_BILLING_WRITE: Open checkout, credit top-up and billing portal sessions. + - API_SCOPE_ASSISTANT_READ: Read the Assistant conversation. + - API_SCOPE_ASSISTANT_WRITE: Send files to the Assistant, clear the conversation and contact support. + enum: + - API_SCOPE_UNSPECIFIED + - API_SCOPE_LINKS_READ + - API_SCOPE_LINKS_WRITE + - API_SCOPE_WORKFLOWS_READ + - API_SCOPE_WORKFLOWS_WRITE + - API_SCOPE_QRCODES_READ + - API_SCOPE_QRCODES_WRITE + - API_SCOPE_PAGE_THEMES_READ + - API_SCOPE_PAGE_THEMES_WRITE + - API_SCOPE_MEDIA_READ + - API_SCOPE_MEDIA_WRITE + - API_SCOPE_DOMAINS_READ + - API_SCOPE_DOMAINS_WRITE + - API_SCOPE_VISITORS_READ + - API_SCOPE_VISITORS_WRITE + - API_SCOPE_ANALYTICS_READ + - API_SCOPE_ANALYTICS_WRITE + - API_SCOPE_WEBHOOKS_READ + - API_SCOPE_WEBHOOKS_WRITE + - API_SCOPE_INTEGRATIONS_READ + - API_SCOPE_INTEGRATIONS_WRITE + - API_SCOPE_WORKSPACE_READ + - API_SCOPE_WORKSPACE_WRITE + - API_SCOPE_MEMBERS_READ + - API_SCOPE_MEMBERS_WRITE + - API_SCOPE_TOKENS_READ + - API_SCOPE_TOKENS_WRITE + - API_SCOPE_BILLING_WRITE + - API_SCOPE_ASSISTANT_READ + - API_SCOPE_ASSISTANT_WRITE + type: string + readOnly: true + type: array updatedAt: format: date-time readOnly: true @@ -18740,6 +25528,95 @@ components: - WORKSPACE_TOKEN_KEY_TYPE_PUBLISHABLE title: WorkspaceTokenKeyType defines the access level of a workspace token type: string + WorkspaceTokensServiceUpdateBody: + description: UpdateWorkspaceTokenRequest renames a token or changes what it + may access. + example: + fullAccess: true + name: name + scopes: + - API_SCOPE_UNSPECIFIED + - API_SCOPE_UNSPECIFIED + properties: + fullAccess: + description: Set to true to give the token full access again. Cannot be + combined with scopes. + type: boolean + name: + description: New name for the token. Left unchanged when omitted. + type: string + scopes: + description: Replace the token's scopes with these. Cannot be combined with + full_access. + items: + description: |- + ApiScope is one permission an API token or OAuth grant can hold. + + A write scope also grants the read scope of the same resource. + + - API_SCOPE_UNSPECIFIED: Not a scope. Rejected wherever a scope is expected. + - API_SCOPE_LINKS_READ: Read links, their QR code images, tags, folders and link settings. + - API_SCOPE_LINKS_WRITE: Create, update and delete links, tags, folders and link settings. + - API_SCOPE_WORKFLOWS_READ: Read the workflow steps behind a link and validate them. + - API_SCOPE_WORKFLOWS_WRITE: Create, connect, update, lay out and delete workflow steps. + - API_SCOPE_QRCODES_READ: Read QR code designs and QR code templates. + - API_SCOPE_QRCODES_WRITE: Change QR code designs and create, publish and delete QR code templates. + - API_SCOPE_PAGE_THEMES_READ: Read page themes and page theme templates. + - API_SCOPE_PAGE_THEMES_WRITE: Change page themes and create, publish and delete page theme templates. + - API_SCOPE_MEDIA_READ: Read uploaded media. + - API_SCOPE_MEDIA_WRITE: Upload and delete media. + - API_SCOPE_DOMAINS_READ: Read custom domains and their DNS instructions. + - API_SCOPE_DOMAINS_WRITE: Add, verify, update and delete custom domains. + - API_SCOPE_VISITORS_READ: Read and search visitors and their attributes. + - API_SCOPE_VISITORS_WRITE: Identify, update and delete visitors and their attributes. + - API_SCOPE_ANALYTICS_READ: Read events, metrics, time series, analytics data and dashboards. + - API_SCOPE_ANALYTICS_WRITE: Create, update and delete analytics dashboards and generate widget summaries. + - API_SCOPE_WEBHOOKS_READ: Read webhooks. + - API_SCOPE_WEBHOOKS_WRITE: Create, update and delete webhooks. + - API_SCOPE_INTEGRATIONS_READ: Read the Slack and Google Forms integrations. + - API_SCOPE_INTEGRATIONS_WRITE: Connect, configure, test, sync and disconnect the Slack and Google Forms integrations. + - API_SCOPE_WORKSPACE_READ: Read the workspace and its settings. + - API_SCOPE_WORKSPACE_WRITE: Update the workspace, request enrollment and delete the workspace. + - API_SCOPE_MEMBERS_READ: Read workspace members. + - API_SCOPE_MEMBERS_WRITE: Update, revoke, sign out and remove members. Inviting a member or changing a sign-in email or password needs full access. + - API_SCOPE_TOKENS_READ: Read API tokens and their scopes, never their secrets. + - API_SCOPE_TOKENS_WRITE: Create, update and delete API tokens, limited to the scopes the calling token holds. + - API_SCOPE_BILLING_WRITE: Open checkout, credit top-up and billing portal sessions. + - API_SCOPE_ASSISTANT_READ: Read the Assistant conversation. + - API_SCOPE_ASSISTANT_WRITE: Send files to the Assistant, clear the conversation and contact support. + enum: + - API_SCOPE_UNSPECIFIED + - API_SCOPE_LINKS_READ + - API_SCOPE_LINKS_WRITE + - API_SCOPE_WORKFLOWS_READ + - API_SCOPE_WORKFLOWS_WRITE + - API_SCOPE_QRCODES_READ + - API_SCOPE_QRCODES_WRITE + - API_SCOPE_PAGE_THEMES_READ + - API_SCOPE_PAGE_THEMES_WRITE + - API_SCOPE_MEDIA_READ + - API_SCOPE_MEDIA_WRITE + - API_SCOPE_DOMAINS_READ + - API_SCOPE_DOMAINS_WRITE + - API_SCOPE_VISITORS_READ + - API_SCOPE_VISITORS_WRITE + - API_SCOPE_ANALYTICS_READ + - API_SCOPE_ANALYTICS_WRITE + - API_SCOPE_WEBHOOKS_READ + - API_SCOPE_WEBHOOKS_WRITE + - API_SCOPE_INTEGRATIONS_READ + - API_SCOPE_INTEGRATIONS_WRITE + - API_SCOPE_WORKSPACE_READ + - API_SCOPE_WORKSPACE_WRITE + - API_SCOPE_MEMBERS_READ + - API_SCOPE_MEMBERS_WRITE + - API_SCOPE_TOKENS_READ + - API_SCOPE_TOKENS_WRITE + - API_SCOPE_BILLING_WRITE + - API_SCOPE_ASSISTANT_READ + - API_SCOPE_ASSISTANT_WRITE + type: string + type: array apiTag: description: |- Provides lightweight segmentation metadata Linkbreakers attaches to links and analytics so teams can group campaigns @@ -18799,12 +25676,103 @@ components: enum: - NULL_VALUE type: string + typeDate: + description: |- + * A full date, with non-zero year, month, and day values + * A month and day value, with a zero year, such as an anniversary + * A year on its own, with zero month and day values + * A year and month value, with a zero day, such as a credit card expiration + date + + Related types are [google.type.TimeOfDay][google.type.TimeOfDay] and + `google.protobuf.Timestamp`. + properties: + day: + description: |- + Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 + to specify a year by itself or a year and month where the day isn't + significant. + format: int32 + type: integer + month: + description: |- + Month of a year. Must be from 1 to 12, or 0 to specify a year without a + month and day. + format: int32 + type: integer + year: + description: |- + Year of the date. Must be from 1 to 9999, or 0 to specify a date without + a year. + format: int32 + type: integer + title: |- + Represents a whole or partial calendar date, such as a birthday. The time of + day and time zone are either specified elsewhere or are insignificant. The + date is relative to the Gregorian Calendar. This can represent one of the + following: securitySchemes: bearerAuth: bearerFormat: JWT description: "JWT Bearer token authentication. Use a workspace API token obtained\ \ from the Linkbreakers dashboard. When using the SDK, pass this token to\ - \ the `accessToken` field in the Configuration constructor (not `apiKey`)." + \ the `accessToken` field in the Configuration constructor (not `apiKey`).\ + \ A token has full access or a list of scopes; each operation lists the one\ + \ scope it requires, and a write scope also grants the read scope of the same\ + \ resource. GET /v1/api-scopes lists every scope." scheme: bearer type: http + oauth2: + description: OAuth 2.0 authorization code flow with PKCE and dynamic client + registration. Request only the scopes you need. The scope names are the same + ones workspace API tokens hold. + flows: + authorizationCode: + authorizationUrl: https://mcp.linkbreakers.com/oauth/authorize + refreshUrl: https://mcp.linkbreakers.com/oauth/token + scopes: + analytics:read: "Read events, metrics, time series, analytics data and\ + \ dashboards." + analytics:write: "Create, update and delete analytics dashboards and generate\ + \ widget summaries." + assistant:read: Read the Assistant conversation. + assistant:write: "Send files to the Assistant, clear the conversation\ + \ and contact support." + billing:write: "Open checkout, credit top-up and billing portal sessions." + domains:read: Read custom domains and their DNS instructions. + domains:write: "Add, verify, update and delete custom domains." + integrations:read: Read the Slack and Google Forms integrations. + integrations:write: "Connect, configure, test, sync and disconnect the\ + \ Slack and Google Forms integrations." + links:read: "Read links, their QR code images, tags, folders and link\ + \ settings." + links:write: "Create, update and delete links, tags, folders and link\ + \ settings." + mcp:tools: "Full access, including scopes added later." + media:read: Read uploaded media. + media:write: Upload and delete media. + members:read: Read workspace members. + members:write: "Update, revoke, sign out and remove members. Inviting\ + \ a member or changing a sign-in email or password needs full access." + page_themes:read: Read page themes and page theme templates. + page_themes:write: "Change page themes and create, publish and delete\ + \ page theme templates." + qrcodes:read: Read QR code designs and QR code templates. + qrcodes:write: "Change QR code designs and create, publish and delete\ + \ QR code templates." + tokens:read: "Read API tokens and their scopes, never their secrets." + tokens:write: "Create, update and delete API tokens, limited to the scopes\ + \ the calling token holds." + visitors:read: Read and search visitors and their attributes. + visitors:write: "Identify, update and delete visitors and their attributes." + webhooks:read: Read webhooks. + webhooks:write: "Create, update and delete webhooks." + workflows:read: Read the workflow steps behind a link and validate them. + workflows:write: "Create, connect, update, lay out and delete workflow\ + \ steps." + workspace:read: Read the workspace and its settings. + workspace:write: "Update the workspace, request enrollment and delete\ + \ the workspace." + tokenUrl: https://mcp.linkbreakers.com/oauth/token + type: oauth2 diff --git a/build.gradle b/build.gradle index 955dba7ab..8889485e1 100644 --- a/build.gradle +++ b/build.gradle @@ -113,6 +113,7 @@ dependencies { implementation 'io.gsonfire:gson-fire:1.9.0' implementation 'jakarta.ws.rs:jakarta.ws.rs-api:2.1.6' implementation 'org.openapitools:jackson-databind-nullable:0.2.9' + implementation group: 'org.apache.oltu.oauth2', name: 'org.apache.oltu.oauth2.client', version: '1.0.2' implementation group: 'org.apache.commons', name: 'commons-lang3', version: '3.18.0' implementation "jakarta.annotation:jakarta.annotation-api:$jakarta_annotation_version" testImplementation 'org.junit.jupiter:junit-jupiter-api:5.10.3' diff --git a/build.sbt b/build.sbt index ef96e045e..701329e4a 100644 --- a/build.sbt +++ b/build.sbt @@ -16,6 +16,7 @@ lazy val root = (project in file(".")). "org.apache.commons" % "commons-lang3" % "3.18.0", "jakarta.ws.rs" % "jakarta.ws.rs-api" % "2.1.6", "org.openapitools" % "jackson-databind-nullable" % "0.2.9", + "org.apache.oltu.oauth2" % "org.apache.oltu.oauth2.client" % "1.0.2", "io.gsonfire" % "gson-fire" % "1.9.0" % "compile", "jakarta.annotation" % "jakarta.annotation-api" % "1.3.5" % "compile", "com.google.code.findbugs" % "jsr305" % "3.0.2" % "compile", diff --git a/git_push.sh b/git_push.sh index f53a75d4f..03100f956 100644 --- a/git_push.sh +++ b/git_push.sh @@ -14,12 +14,12 @@ if [ "$git_host" = "" ]; then fi if [ "$git_user_id" = "" ]; then - git_user_id="GIT_USER_ID" + git_user_id="linkbreakers-com" echo "[INFO] No command line input provided. Set \$git_user_id to $git_user_id" fi if [ "$git_repo_id" = "" ]; then - git_repo_id="GIT_REPO_ID" + git_repo_id="linkbreakers-java" echo "[INFO] No command line input provided. Set \$git_repo_id to $git_repo_id" fi diff --git a/pom.xml b/pom.xml index 972ac62bd..c4cc72721 100644 --- a/pom.xml +++ b/pom.xml @@ -11,7 +11,7 @@ Linkbreakers SDK Official Java SDK for the Linkbreakers API - https://github.com/linkbreakers-com/linkbreakers-java + https://linkbreakers.com @@ -70,6 +70,13 @@ 1.9.0 + + + org.apache.oltu.oauth2 + org.apache.oltu.oauth2.client + 1.0.2 + + com.google.code.findbugs diff --git a/scripts/check-docs.sh b/scripts/check-docs.sh new file mode 100755 index 000000000..1fdf4c5df --- /dev/null +++ b/scripts/check-docs.sh @@ -0,0 +1,45 @@ +#!/usr/bin/env bash +# Compiles every Java block in README.md against the generated SDK, so the +# hand-written README cannot call methods the generator does not produce. +# Each block must be a complete compilation unit with one public class. +set -euo pipefail + +root="$(cd "$(dirname "$0")/.." && pwd)" +work="$root/target/docs-check" +rm -rf "$work" +mkdir -p "$work" + +awk -v dir="$work" ' + /^```java$/ { n++; inside = 1; file = sprintf("%s/block%d.java.tmp", dir, n); next } + /^```$/ && inside { inside = 0; close(file); next } + inside { print > file } +' "$root/README.md" + +count=0 +for tmp in "$work"/block*.java.tmp; do + [ -e "$tmp" ] || continue + class=$(sed -n 's/^public class \([A-Za-z0-9_]*\).*/\1/p' "$tmp" | head -1) + if [ -z "$class" ]; then + echo "$(basename "$tmp" .java.tmp) in README.md has no public class" >&2 + exit 1 + fi + dir="${tmp%.java.tmp}" + mkdir -p "$dir" + mv "$tmp" "$dir/$class.java" + count=$((count + 1)) +done +if [ "$count" = "0" ]; then + echo "No Java blocks found in README.md" >&2 + exit 1 +fi + +cd "$root" +mvn -q -B compile dependency:build-classpath -Dmdep.outputFile="$work/classpath.txt" +classpath="$root/target/classes:$(cat "$work/classpath.txt")" +for dir in "$work"/block*/; do + if ! javac -nowarn -d "$work/classes" -cp "$classpath" "$dir"*.java; then + echo "A README.md Java block no longer compiles against the generated SDK." >&2 + exit 1 + fi +done +echo "Compiled $count README.md Java blocks against the generated SDK." diff --git a/src/main/java/com/linkbreakers/ApiCallback.java b/src/main/java/com/linkbreakers/ApiCallback.java index a8b7ca4a7..934d6a6d0 100644 --- a/src/main/java/com/linkbreakers/ApiCallback.java +++ b/src/main/java/com/linkbreakers/ApiCallback.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/ApiClient.java b/src/main/java/com/linkbreakers/ApiClient.java index 9880ff767..d3c367f3a 100644 --- a/src/main/java/com/linkbreakers/ApiClient.java +++ b/src/main/java/com/linkbreakers/ApiClient.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -21,6 +21,8 @@ import okio.Buffer; import okio.BufferedSink; import okio.Okio; +import org.apache.oltu.oauth2.client.request.OAuthClientRequest.TokenRequestBuilder; +import org.apache.oltu.oauth2.common.message.types.GrantType; import javax.net.ssl.*; import java.io.File; @@ -55,6 +57,9 @@ import com.linkbreakers.auth.HttpBasicAuth; import com.linkbreakers.auth.HttpBearerAuth; import com.linkbreakers.auth.ApiKeyAuth; +import com.linkbreakers.auth.OAuth; +import com.linkbreakers.auth.RetryingOAuth; +import com.linkbreakers.auth.OAuthFlow; /** *

ApiClient class.

@@ -102,6 +107,7 @@ public ApiClient() { // Setup authentications (key: authentication name, value: authentication). authentications.put("bearerAuth", new HttpBearerAuth("bearer")); + authentications.put("oauth2", new OAuth()); // Prevent the authentications from being modified. authentications = Collections.unmodifiableMap(authentications); } @@ -118,6 +124,74 @@ public ApiClient(OkHttpClient client) { // Setup authentications (key: authentication name, value: authentication). authentications.put("bearerAuth", new HttpBearerAuth("bearer")); + authentications.put("oauth2", new OAuth()); + // Prevent the authentications from being modified. + authentications = Collections.unmodifiableMap(authentications); + } + + /** + * Constructor for ApiClient to support access token retry on 401/403 configured with client ID + * + * @param clientId client ID + */ + public ApiClient(String clientId) { + this(clientId, null, null); + } + + /** + * Constructor for ApiClient to support access token retry on 401/403 configured with client ID and additional parameters + * + * @param clientId client ID + * @param parameters a {@link java.util.Map} of parameters + */ + public ApiClient(String clientId, Map parameters) { + this(clientId, null, parameters); + } + + /** + * Constructor for ApiClient to support access token retry on 401/403 configured with client ID, secret, and additional parameters + * + * @param clientId client ID + * @param clientSecret client secret + * @param parameters a {@link java.util.Map} of parameters + */ + public ApiClient(String clientId, String clientSecret, Map parameters) { + this(null, clientId, clientSecret, parameters); + } + + /** + * Constructor for ApiClient to support access token retry on 401/403 configured with base path, client ID, secret, and additional parameters + * + * @param basePath base path + * @param clientId client ID + * @param clientSecret client secret + * @param parameters a {@link java.util.Map} of parameters + */ + public ApiClient(String basePath, String clientId, String clientSecret, Map parameters) { + init(); + if (basePath != null) { + this.basePath = basePath; + } + + String tokenUrl = "https://mcp.linkbreakers.com/oauth/token"; + if (!"".equals(tokenUrl) && !URI.create(tokenUrl).isAbsolute()) { + URI uri = URI.create(getBasePath()); + tokenUrl = uri.getScheme() + ":" + + (uri.getAuthority() != null ? "//" + uri.getAuthority() : "") + + tokenUrl; + if (!URI.create(tokenUrl).isAbsolute()) { + throw new IllegalArgumentException("OAuth2 token URL must be an absolute URL"); + } + } + RetryingOAuth retryingOAuth = new RetryingOAuth(tokenUrl, clientId, OAuthFlow.ACCESS_CODE, clientSecret, parameters); + authentications.put( + "oauth2", + retryingOAuth + ); + initHttpClient(Collections.singletonList(retryingOAuth)); + // Setup authentications (key: authentication name, value: authentication). + authentications.put("bearerAuth", new HttpBearerAuth("bearer")); + // Prevent the authentications from being modified. authentications = Collections.unmodifiableMap(authentications); } @@ -498,6 +572,12 @@ public void setApiKeyPrefix(String apiKeyPrefix) { * @param accessToken Access token */ public void setAccessToken(String accessToken) { + for (Authentication auth : authentications.values()) { + if (auth instanceof OAuth) { + ((OAuth) auth).setAccessToken(accessToken); + return; + } + } throw new RuntimeException("No OAuth2 authentication configured!"); } @@ -682,6 +762,20 @@ public ApiClient setWriteTimeout(int writeTimeout) { return this; } + /** + * Helper method to configure the token endpoint of the first oauth found in the apiAuthorizations (there should be only one) + * + * @return Token request builder + */ + public TokenRequestBuilder getTokenEndPoint() { + for (Authentication apiAuth : authentications.values()) { + if (apiAuth instanceof RetryingOAuth) { + RetryingOAuth retryingOAuth = (RetryingOAuth) apiAuth; + return retryingOAuth.getTokenRequestBuilder(); + } + } + return null; + } /** * Format the given parameter object into string. diff --git a/src/main/java/com/linkbreakers/ApiException.java b/src/main/java/com/linkbreakers/ApiException.java index ca37a845e..5a069c40d 100644 --- a/src/main/java/com/linkbreakers/ApiException.java +++ b/src/main/java/com/linkbreakers/ApiException.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/ApiResponse.java b/src/main/java/com/linkbreakers/ApiResponse.java index b88ef27b9..67e94aca8 100644 --- a/src/main/java/com/linkbreakers/ApiResponse.java +++ b/src/main/java/com/linkbreakers/ApiResponse.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/Configuration.java b/src/main/java/com/linkbreakers/Configuration.java index 6d3800ab6..2eaa48338 100644 --- a/src/main/java/com/linkbreakers/Configuration.java +++ b/src/main/java/com/linkbreakers/Configuration.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/GzipRequestInterceptor.java b/src/main/java/com/linkbreakers/GzipRequestInterceptor.java index 18bc42742..ed7f27022 100644 --- a/src/main/java/com/linkbreakers/GzipRequestInterceptor.java +++ b/src/main/java/com/linkbreakers/GzipRequestInterceptor.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/JSON.java b/src/main/java/com/linkbreakers/JSON.java index 1deafd1e6..1c6f72594 100644 --- a/src/main/java/com/linkbreakers/JSON.java +++ b/src/main/java/com/linkbreakers/JSON.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -96,10 +96,12 @@ private static Class getClassByDiscriminator(Map classByDiscriminatorValue, Stri gsonBuilder.registerTypeAdapter(OffsetDateTime.class, offsetDateTimeTypeAdapter); gsonBuilder.registerTypeAdapter(LocalDate.class, localDateTypeAdapter); gsonBuilder.registerTypeAdapter(byte[].class, byteArrayAdapter); + gsonBuilder.registerTypeAdapterFactory(new com.linkbreakers.model.AgentClaim.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.linkbreakers.model.AnalyticsDashboard.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.linkbreakers.model.AnalyticsDashboardServiceGenerateWidgetSummaryBody.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.linkbreakers.model.AnalyticsDashboardServiceUpdateDashboardBody.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.linkbreakers.model.AnalyticsWidgetResult.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.linkbreakers.model.ApiScopeInfo.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.linkbreakers.model.ApiTag.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.linkbreakers.model.ApplyPageThemeTemplateRequest.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.linkbreakers.model.ApplyPageThemeTemplateResponse.CustomTypeAdapterFactory()); @@ -124,6 +126,7 @@ private static Class getClassByDiscriminator(Map classByDiscriminatorValue, Stri gsonBuilder.registerTypeAdapterFactory(new com.linkbreakers.model.ChatUIAction.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.linkbreakers.model.ChatUIOption.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.linkbreakers.model.CheckCustomDomainResponse.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.linkbreakers.model.ClaimAgentWorkspaceRequest.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.linkbreakers.model.ClientRedirectPayload.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.linkbreakers.model.CompleteGoogleFormsOAuthRequest.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.linkbreakers.model.CompleteGoogleFormsOAuthResponse.CustomTypeAdapterFactory()); @@ -158,6 +161,8 @@ private static Class getClassByDiscriminator(Map classByDiscriminatorValue, Stri gsonBuilder.registerTypeAdapterFactory(new com.linkbreakers.model.CreatePageThemeTemplateResponse.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.linkbreakers.model.CreateQrcodeTemplateRequest.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.linkbreakers.model.CreateQrcodeTemplateResponse.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.linkbreakers.model.CreateSandboxRequest.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.linkbreakers.model.CreateSandboxResponse.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.linkbreakers.model.CreateThankYouLinkRequest.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.linkbreakers.model.CreateThankYouLinkResponse.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.linkbreakers.model.CreateWebhookRequest.CustomTypeAdapterFactory()); @@ -165,6 +170,7 @@ private static Class getClassByDiscriminator(Map classByDiscriminatorValue, Stri gsonBuilder.registerTypeAdapterFactory(new com.linkbreakers.model.CreateWorkflowStepResponse.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.linkbreakers.model.CreateWorkspaceTokenRequest.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.linkbreakers.model.CreateWorkspaceTokenResponse.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.linkbreakers.model.CreditTopup.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.linkbreakers.model.CustomDomain.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.linkbreakers.model.CustomDomainDnsRecord.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.linkbreakers.model.CustomDomainOneClickSetup.CustomTypeAdapterFactory()); @@ -209,6 +215,7 @@ private static Class getClassByDiscriminator(Map classByDiscriminatorValue, Stri gsonBuilder.registerTypeAdapterFactory(new com.linkbreakers.model.DirectoriesServiceUpdateBody.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.linkbreakers.model.Directory.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.linkbreakers.model.DisconnectWorkflowStepResponse.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.linkbreakers.model.DismissAllowanceNoticeRequest.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.linkbreakers.model.DotsOptions.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.linkbreakers.model.EntryAccessTraceData.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.linkbreakers.model.ErrorResponse.CustomTypeAdapterFactory()); @@ -231,6 +238,7 @@ private static Class getClassByDiscriminator(Map classByDiscriminatorValue, Stri gsonBuilder.registerTypeAdapterFactory(new com.linkbreakers.model.FunnelStep.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.linkbreakers.model.GenerateWidgetSummaryResponse.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.linkbreakers.model.GeoDataPoint.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.linkbreakers.model.GetAgentClaimRequest.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.linkbreakers.model.GetAttributeDistributionRequest.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.linkbreakers.model.GetAttributeDistributionResponse.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.linkbreakers.model.GetAttributeMetricRequest.CustomTypeAdapterFactory()); @@ -282,10 +290,15 @@ private static Class getClassByDiscriminator(Map classByDiscriminatorValue, Stri gsonBuilder.registerTypeAdapterFactory(new com.linkbreakers.model.ImportQrcodeTemplateRequest.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.linkbreakers.model.ImportQrcodeTemplateResponse.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.linkbreakers.model.InviteMemberRequest.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.linkbreakers.model.Job.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.linkbreakers.model.JobError.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.linkbreakers.model.JourneyProgress.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.linkbreakers.model.Link.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.linkbreakers.model.LinkSetting.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.linkbreakers.model.LinksBulkCreateResult.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.linkbreakers.model.LinksServiceUpdateBody.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.linkbreakers.model.ListAllowancesResponse.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.linkbreakers.model.ListApiScopesResponse.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.linkbreakers.model.ListCustomDomainsResponse.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.linkbreakers.model.ListDashboardsResponse.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.linkbreakers.model.ListDetectedGoogleFormsResponse.CustomTypeAdapterFactory()); @@ -298,8 +311,10 @@ private static Class getClassByDiscriminator(Map classByDiscriminatorValue, Stri gsonBuilder.registerTypeAdapterFactory(new com.linkbreakers.model.ListMediaResponse.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.linkbreakers.model.ListPageThemeTemplatesResponse.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.linkbreakers.model.ListPageThemesResponse.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.linkbreakers.model.ListPricingPlansResponse.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.linkbreakers.model.ListQrcodeTemplatesResponse.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.linkbreakers.model.ListResponse.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.linkbreakers.model.ListSandboxesResponse.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.linkbreakers.model.ListSlackChannelsResponse.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.linkbreakers.model.ListTagsResponse.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.linkbreakers.model.ListVisitorAttributeKeysResponse.CustomTypeAdapterFactory()); @@ -315,6 +330,7 @@ private static Class getClassByDiscriminator(Map classByDiscriminatorValue, Stri gsonBuilder.registerTypeAdapterFactory(new com.linkbreakers.model.Member.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.linkbreakers.model.MembersServiceUpdateBody.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.linkbreakers.model.MessagePagePayload.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.linkbreakers.model.Money.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.linkbreakers.model.MultiLinkButton.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.linkbreakers.model.MultiLinkPayload.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.linkbreakers.model.MultiLinkTraceButton.CustomTypeAdapterFactory()); @@ -329,6 +345,10 @@ private static Class getClassByDiscriminator(Map classByDiscriminatorValue, Stri gsonBuilder.registerTypeAdapterFactory(new com.linkbreakers.model.PageThemesServiceUpdatePageThemeBody.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.linkbreakers.model.PasswordPayload.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.linkbreakers.model.PasswordTraceData.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.linkbreakers.model.PlanLimit.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.linkbreakers.model.PlanPrice.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.linkbreakers.model.PlanTrial.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.linkbreakers.model.PricingPlan.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.linkbreakers.model.ProtobufAny.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.linkbreakers.model.PublicCreateQrcodeDesignRequest.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.linkbreakers.model.PublicCreateQrcodeDesignResponse.CustomTypeAdapterFactory()); @@ -352,6 +372,7 @@ private static Class getClassByDiscriminator(Map classByDiscriminatorValue, Stri gsonBuilder.registerTypeAdapterFactory(new com.linkbreakers.model.ResolveQrcodeTemplateImagesRequest.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.linkbreakers.model.ResolveQrcodeTemplateImagesResponse.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.linkbreakers.model.ResolveStepCollisionsResponse.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.linkbreakers.model.Sandbox.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.linkbreakers.model.SettingsServiceUpdateLinkSettingBody.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.linkbreakers.model.ShortlinkAvailabilityResponse.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.linkbreakers.model.ShortlinkRandomResponse.CustomTypeAdapterFactory()); @@ -389,6 +410,7 @@ private static Class getClassByDiscriminator(Map classByDiscriminatorValue, Stri gsonBuilder.registerTypeAdapterFactory(new com.linkbreakers.model.TimeSeriesPoint.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.linkbreakers.model.TimeSeriesSeries.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.linkbreakers.model.TopLinkDataPoint.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.linkbreakers.model.TypeDate.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.linkbreakers.model.UpdateCustomDomainResponse.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.linkbreakers.model.UpdateDashboardResponse.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.linkbreakers.model.UpdateDeviceResponse.CustomTypeAdapterFactory()); @@ -410,6 +432,7 @@ private static Class getClassByDiscriminator(Map classByDiscriminatorValue, Stri gsonBuilder.registerTypeAdapterFactory(new com.linkbreakers.model.UpdateWorkspaceOriginInquiryRequest.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.linkbreakers.model.UpdateWorkspaceOriginPurposeRequest.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.linkbreakers.model.UpdateWorkspaceRequest.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.linkbreakers.model.UpdateWorkspaceTokenResponse.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.linkbreakers.model.VCardData.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.linkbreakers.model.VCardPayload.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.linkbreakers.model.VCardSocialLink.CustomTypeAdapterFactory()); @@ -449,9 +472,11 @@ private static Class getClassByDiscriminator(Map classByDiscriminatorValue, Stri gsonBuilder.registerTypeAdapterFactory(new com.linkbreakers.model.WorkflowStepsServiceCreateBody.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.linkbreakers.model.WorkflowStepsServiceUpdateBody.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.linkbreakers.model.Workspace.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.linkbreakers.model.WorkspaceAllowance.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.linkbreakers.model.WorkspaceInsight.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.linkbreakers.model.WorkspaceMetric.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.linkbreakers.model.WorkspaceToken.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.linkbreakers.model.WorkspaceTokensServiceUpdateBody.CustomTypeAdapterFactory()); gson = gsonBuilder.create(); } diff --git a/src/main/java/com/linkbreakers/Pair.java b/src/main/java/com/linkbreakers/Pair.java index 56073b889..788c44a83 100644 --- a/src/main/java/com/linkbreakers/Pair.java +++ b/src/main/java/com/linkbreakers/Pair.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/ProgressRequestBody.java b/src/main/java/com/linkbreakers/ProgressRequestBody.java index 274d3489f..d08258107 100644 --- a/src/main/java/com/linkbreakers/ProgressRequestBody.java +++ b/src/main/java/com/linkbreakers/ProgressRequestBody.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/ProgressResponseBody.java b/src/main/java/com/linkbreakers/ProgressResponseBody.java index 1b270ddaa..380076a55 100644 --- a/src/main/java/com/linkbreakers/ProgressResponseBody.java +++ b/src/main/java/com/linkbreakers/ProgressResponseBody.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/ServerConfiguration.java b/src/main/java/com/linkbreakers/ServerConfiguration.java index 1142da95b..ac9f7c91e 100644 --- a/src/main/java/com/linkbreakers/ServerConfiguration.java +++ b/src/main/java/com/linkbreakers/ServerConfiguration.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/ServerVariable.java b/src/main/java/com/linkbreakers/ServerVariable.java index 43e492aa6..edd359cc2 100644 --- a/src/main/java/com/linkbreakers/ServerVariable.java +++ b/src/main/java/com/linkbreakers/ServerVariable.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/StringUtil.java b/src/main/java/com/linkbreakers/StringUtil.java index 29e799f03..8a7fbccb5 100644 --- a/src/main/java/com/linkbreakers/StringUtil.java +++ b/src/main/java/com/linkbreakers/StringUtil.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/api/AgentIdentityApi.java b/src/main/java/com/linkbreakers/api/AgentIdentityApi.java new file mode 100644 index 000000000..e749dc9f4 --- /dev/null +++ b/src/main/java/com/linkbreakers/api/AgentIdentityApi.java @@ -0,0 +1,367 @@ +/* + * Linkbreakers API + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. + * + * The version of the OpenAPI document: 1.158.2 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.linkbreakers.api; + +import com.linkbreakers.ApiCallback; +import com.linkbreakers.ApiClient; +import com.linkbreakers.ApiException; +import com.linkbreakers.ApiResponse; +import com.linkbreakers.Configuration; +import com.linkbreakers.Pair; +import com.linkbreakers.ProgressRequestBody; +import com.linkbreakers.ProgressResponseBody; + +import com.google.gson.reflect.TypeToken; + +import java.io.IOException; + + +import com.linkbreakers.model.AgentClaim; +import com.linkbreakers.model.ClaimAgentWorkspaceRequest; +import com.linkbreakers.model.ErrorResponse; +import com.linkbreakers.model.GetAgentClaimRequest; +import com.linkbreakers.model.Member; + +import java.lang.reflect.Type; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +public class AgentIdentityApi { + private ApiClient localVarApiClient; + private int localHostIndex; + private String localCustomBaseUrl; + + public AgentIdentityApi() { + this(Configuration.getDefaultApiClient()); + } + + public AgentIdentityApi(ApiClient apiClient) { + this.localVarApiClient = apiClient; + } + + public ApiClient getApiClient() { + return localVarApiClient; + } + + public void setApiClient(ApiClient apiClient) { + this.localVarApiClient = apiClient; + } + + public int getHostIndex() { + return localHostIndex; + } + + public void setHostIndex(int hostIndex) { + this.localHostIndex = hostIndex; + } + + public String getCustomBaseUrl() { + return localCustomBaseUrl; + } + + public void setCustomBaseUrl(String customBaseUrl) { + this.localCustomBaseUrl = customBaseUrl; + } + + /** + * Build call for agentIdentityServiceClaimAgentWorkspace + * @param claimAgentWorkspaceRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) + * @param _callback Callback for upload/download progress + * @return Call to execute + * @throws ApiException If fail to serialize the request body object + * @http.response.details + + + + + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
+ */ + public okhttp3.Call agentIdentityServiceClaimAgentWorkspaceCall(@javax.annotation.Nonnull ClaimAgentWorkspaceRequest claimAgentWorkspaceRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { + String basePath = null; + // Operation Servers + String[] localBasePaths = new String[] { }; + + // Determine Base Path to Use + if (localCustomBaseUrl != null){ + basePath = localCustomBaseUrl; + } else if ( localBasePaths.length > 0 ) { + basePath = localBasePaths[localHostIndex]; + } else { + basePath = null; + } + + Object localVarPostBody = claimAgentWorkspaceRequest; + + // create path and map variables + String localVarPath = "/v1/agent-identity/claim/complete"; + + List localVarQueryParams = new ArrayList(); + List localVarCollectionQueryParams = new ArrayList(); + Map localVarHeaderParams = new HashMap(); + Map localVarCookieParams = new HashMap(); + Map localVarFormParams = new HashMap(); + + final String[] localVarAccepts = { + "application/json" + }; + final String localVarAccept = localVarApiClient.selectHeaderAccept(localVarAccepts); + if (localVarAccept != null) { + localVarHeaderParams.put("Accept", localVarAccept); + } + + final String[] localVarContentTypes = { + "application/json" + }; + final String localVarContentType = localVarApiClient.selectHeaderContentType(localVarContentTypes); + if (localVarContentType != null) { + localVarHeaderParams.put("Content-Type", localVarContentType); + } + + if (idempotencyKey != null) { + localVarHeaderParams.put("Idempotency-Key", localVarApiClient.parameterToString(idempotencyKey)); + } + + + String[] localVarAuthNames = new String[] { }; + return localVarApiClient.buildCall(basePath, localVarPath, "POST", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); + } + + @SuppressWarnings("rawtypes") + private okhttp3.Call agentIdentityServiceClaimAgentWorkspaceValidateBeforeCall(@javax.annotation.Nonnull ClaimAgentWorkspaceRequest claimAgentWorkspaceRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { + // verify the required parameter 'claimAgentWorkspaceRequest' is set + if (claimAgentWorkspaceRequest == null) { + throw new ApiException("Missing the required parameter 'claimAgentWorkspaceRequest' when calling agentIdentityServiceClaimAgentWorkspace(Async)"); + } + + return agentIdentityServiceClaimAgentWorkspaceCall(claimAgentWorkspaceRequest, idempotencyKey, _callback); + + } + + /** + * Claim an agent's workspace + * Check the code the agent handed over, attach the claim email with a password or a Google or Microsoft sign-in to the agent's workspace, and sign in. The email must not already have a Linkbreakers account. Afterwards the agent's token keeps working in the claimed workspace, and the agent can fetch a token with wider scopes from the claim grant. + * @param claimAgentWorkspaceRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) + * @return Member + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + + + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
+ */ + public Member agentIdentityServiceClaimAgentWorkspace(@javax.annotation.Nonnull ClaimAgentWorkspaceRequest claimAgentWorkspaceRequest, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + ApiResponse localVarResp = agentIdentityServiceClaimAgentWorkspaceWithHttpInfo(claimAgentWorkspaceRequest, idempotencyKey); + return localVarResp.getData(); + } + + /** + * Claim an agent's workspace + * Check the code the agent handed over, attach the claim email with a password or a Google or Microsoft sign-in to the agent's workspace, and sign in. The email must not already have a Linkbreakers account. Afterwards the agent's token keeps working in the claimed workspace, and the agent can fetch a token with wider scopes from the claim grant. + * @param claimAgentWorkspaceRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) + * @return ApiResponse<Member> + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + + + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
+ */ + public ApiResponse agentIdentityServiceClaimAgentWorkspaceWithHttpInfo(@javax.annotation.Nonnull ClaimAgentWorkspaceRequest claimAgentWorkspaceRequest, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + okhttp3.Call localVarCall = agentIdentityServiceClaimAgentWorkspaceValidateBeforeCall(claimAgentWorkspaceRequest, idempotencyKey, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * Claim an agent's workspace (asynchronously) + * Check the code the agent handed over, attach the claim email with a password or a Google or Microsoft sign-in to the agent's workspace, and sign in. The email must not already have a Linkbreakers account. Afterwards the agent's token keeps working in the claimed workspace, and the agent can fetch a token with wider scopes from the claim grant. + * @param claimAgentWorkspaceRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) + * @param _callback The callback to be executed when the API call finishes + * @return The request call + * @throws ApiException If fail to process the API call, e.g. serializing the request body object + * @http.response.details + + + + + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
+ */ + public okhttp3.Call agentIdentityServiceClaimAgentWorkspaceAsync(@javax.annotation.Nonnull ClaimAgentWorkspaceRequest claimAgentWorkspaceRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = agentIdentityServiceClaimAgentWorkspaceValidateBeforeCall(claimAgentWorkspaceRequest, idempotencyKey, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } + /** + * Build call for agentIdentityServiceGetAgentClaim + * @param getAgentClaimRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) + * @param _callback Callback for upload/download progress + * @return Call to execute + * @throws ApiException If fail to serialize the request body object + * @http.response.details + + + + + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
+ */ + public okhttp3.Call agentIdentityServiceGetAgentClaimCall(@javax.annotation.Nonnull GetAgentClaimRequest getAgentClaimRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { + String basePath = null; + // Operation Servers + String[] localBasePaths = new String[] { }; + + // Determine Base Path to Use + if (localCustomBaseUrl != null){ + basePath = localCustomBaseUrl; + } else if ( localBasePaths.length > 0 ) { + basePath = localBasePaths[localHostIndex]; + } else { + basePath = null; + } + + Object localVarPostBody = getAgentClaimRequest; + + // create path and map variables + String localVarPath = "/v1/agent-identity/claim/lookup"; + + List localVarQueryParams = new ArrayList(); + List localVarCollectionQueryParams = new ArrayList(); + Map localVarHeaderParams = new HashMap(); + Map localVarCookieParams = new HashMap(); + Map localVarFormParams = new HashMap(); + + final String[] localVarAccepts = { + "application/json" + }; + final String localVarAccept = localVarApiClient.selectHeaderAccept(localVarAccepts); + if (localVarAccept != null) { + localVarHeaderParams.put("Accept", localVarAccept); + } + + final String[] localVarContentTypes = { + "application/json" + }; + final String localVarContentType = localVarApiClient.selectHeaderContentType(localVarContentTypes); + if (localVarContentType != null) { + localVarHeaderParams.put("Content-Type", localVarContentType); + } + + if (idempotencyKey != null) { + localVarHeaderParams.put("Idempotency-Key", localVarApiClient.parameterToString(idempotencyKey)); + } + + + String[] localVarAuthNames = new String[] { }; + return localVarApiClient.buildCall(basePath, localVarPath, "POST", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); + } + + @SuppressWarnings("rawtypes") + private okhttp3.Call agentIdentityServiceGetAgentClaimValidateBeforeCall(@javax.annotation.Nonnull GetAgentClaimRequest getAgentClaimRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { + // verify the required parameter 'getAgentClaimRequest' is set + if (getAgentClaimRequest == null) { + throw new ApiException("Missing the required parameter 'getAgentClaimRequest' when calling agentIdentityServiceGetAgentClaim(Async)"); + } + + return agentIdentityServiceGetAgentClaimCall(getAgentClaimRequest, idempotencyKey, _callback); + + } + + /** + * Read an agent claim link + * Return the email a claim link is bound to, whether it can still be used, and what the agent may do once the workspace is claimed. The claim_attempt_token is the secret: anyone holding it and the code can claim. + * @param getAgentClaimRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) + * @return AgentClaim + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + + + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
+ */ + public AgentClaim agentIdentityServiceGetAgentClaim(@javax.annotation.Nonnull GetAgentClaimRequest getAgentClaimRequest, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + ApiResponse localVarResp = agentIdentityServiceGetAgentClaimWithHttpInfo(getAgentClaimRequest, idempotencyKey); + return localVarResp.getData(); + } + + /** + * Read an agent claim link + * Return the email a claim link is bound to, whether it can still be used, and what the agent may do once the workspace is claimed. The claim_attempt_token is the secret: anyone holding it and the code can claim. + * @param getAgentClaimRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) + * @return ApiResponse<AgentClaim> + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + + + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
+ */ + public ApiResponse agentIdentityServiceGetAgentClaimWithHttpInfo(@javax.annotation.Nonnull GetAgentClaimRequest getAgentClaimRequest, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + okhttp3.Call localVarCall = agentIdentityServiceGetAgentClaimValidateBeforeCall(getAgentClaimRequest, idempotencyKey, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * Read an agent claim link (asynchronously) + * Return the email a claim link is bound to, whether it can still be used, and what the agent may do once the workspace is claimed. The claim_attempt_token is the secret: anyone holding it and the code can claim. + * @param getAgentClaimRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) + * @param _callback The callback to be executed when the API call finishes + * @return The request call + * @throws ApiException If fail to process the API call, e.g. serializing the request body object + * @http.response.details + + + + + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
+ */ + public okhttp3.Call agentIdentityServiceGetAgentClaimAsync(@javax.annotation.Nonnull GetAgentClaimRequest getAgentClaimRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = agentIdentityServiceGetAgentClaimValidateBeforeCall(getAgentClaimRequest, idempotencyKey, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } +} diff --git a/src/main/java/com/linkbreakers/api/AllowancesApi.java b/src/main/java/com/linkbreakers/api/AllowancesApi.java new file mode 100644 index 000000000..7e4525f28 --- /dev/null +++ b/src/main/java/com/linkbreakers/api/AllowancesApi.java @@ -0,0 +1,346 @@ +/* + * Linkbreakers API + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. + * + * The version of the OpenAPI document: 1.158.2 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.linkbreakers.api; + +import com.linkbreakers.ApiCallback; +import com.linkbreakers.ApiClient; +import com.linkbreakers.ApiException; +import com.linkbreakers.ApiResponse; +import com.linkbreakers.Configuration; +import com.linkbreakers.Pair; +import com.linkbreakers.ProgressRequestBody; +import com.linkbreakers.ProgressResponseBody; + +import com.google.gson.reflect.TypeToken; + +import java.io.IOException; + + +import com.linkbreakers.model.DismissAllowanceNoticeRequest; +import com.linkbreakers.model.ErrorResponse; +import com.linkbreakers.model.ListAllowancesResponse; + +import java.lang.reflect.Type; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +public class AllowancesApi { + private ApiClient localVarApiClient; + private int localHostIndex; + private String localCustomBaseUrl; + + public AllowancesApi() { + this(Configuration.getDefaultApiClient()); + } + + public AllowancesApi(ApiClient apiClient) { + this.localVarApiClient = apiClient; + } + + public ApiClient getApiClient() { + return localVarApiClient; + } + + public void setApiClient(ApiClient apiClient) { + this.localVarApiClient = apiClient; + } + + public int getHostIndex() { + return localHostIndex; + } + + public void setHostIndex(int hostIndex) { + this.localHostIndex = hostIndex; + } + + public String getCustomBaseUrl() { + return localCustomBaseUrl; + } + + public void setCustomBaseUrl(String customBaseUrl) { + this.localCustomBaseUrl = customBaseUrl; + } + + /** + * Build call for allowancesServiceDismissAllowanceNotice + * @param dismissAllowanceNoticeRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) + * @param _callback Callback for upload/download progress + * @return Call to execute + * @throws ApiException If fail to serialize the request body object + * @http.response.details + + + + + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
+ */ + public okhttp3.Call allowancesServiceDismissAllowanceNoticeCall(@javax.annotation.Nonnull DismissAllowanceNoticeRequest dismissAllowanceNoticeRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { + String basePath = null; + // Operation Servers + String[] localBasePaths = new String[] { }; + + // Determine Base Path to Use + if (localCustomBaseUrl != null){ + basePath = localCustomBaseUrl; + } else if ( localBasePaths.length > 0 ) { + basePath = localBasePaths[localHostIndex]; + } else { + basePath = null; + } + + Object localVarPostBody = dismissAllowanceNoticeRequest; + + // create path and map variables + String localVarPath = "/v1/allowances/dismiss"; + + List localVarQueryParams = new ArrayList(); + List localVarCollectionQueryParams = new ArrayList(); + Map localVarHeaderParams = new HashMap(); + Map localVarCookieParams = new HashMap(); + Map localVarFormParams = new HashMap(); + + final String[] localVarAccepts = { + "application/json" + }; + final String localVarAccept = localVarApiClient.selectHeaderAccept(localVarAccepts); + if (localVarAccept != null) { + localVarHeaderParams.put("Accept", localVarAccept); + } + + final String[] localVarContentTypes = { + "application/json" + }; + final String localVarContentType = localVarApiClient.selectHeaderContentType(localVarContentTypes); + if (localVarContentType != null) { + localVarHeaderParams.put("Content-Type", localVarContentType); + } + + if (idempotencyKey != null) { + localVarHeaderParams.put("Idempotency-Key", localVarApiClient.parameterToString(idempotencyKey)); + } + + + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; + return localVarApiClient.buildCall(basePath, localVarPath, "POST", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); + } + + @SuppressWarnings("rawtypes") + private okhttp3.Call allowancesServiceDismissAllowanceNoticeValidateBeforeCall(@javax.annotation.Nonnull DismissAllowanceNoticeRequest dismissAllowanceNoticeRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { + // verify the required parameter 'dismissAllowanceNoticeRequest' is set + if (dismissAllowanceNoticeRequest == null) { + throw new ApiException("Missing the required parameter 'dismissAllowanceNoticeRequest' when calling allowancesServiceDismissAllowanceNotice(Async)"); + } + + return allowancesServiceDismissAllowanceNoticeCall(dismissAllowanceNoticeRequest, idempotencyKey, _callback); + + } + + /** + * Dismiss an allowance notice + * Hide the over-limit notice for one limit, for the calling member, until the limit's next cycle. Only a member can dismiss; an API token gets a permission error. Requires the `workspace:write` scope. + * @param dismissAllowanceNoticeRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) + * @return Object + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + + + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
+ */ + public Object allowancesServiceDismissAllowanceNotice(@javax.annotation.Nonnull DismissAllowanceNoticeRequest dismissAllowanceNoticeRequest, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + ApiResponse localVarResp = allowancesServiceDismissAllowanceNoticeWithHttpInfo(dismissAllowanceNoticeRequest, idempotencyKey); + return localVarResp.getData(); + } + + /** + * Dismiss an allowance notice + * Hide the over-limit notice for one limit, for the calling member, until the limit's next cycle. Only a member can dismiss; an API token gets a permission error. Requires the `workspace:write` scope. + * @param dismissAllowanceNoticeRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) + * @return ApiResponse<Object> + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + + + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
+ */ + public ApiResponse allowancesServiceDismissAllowanceNoticeWithHttpInfo(@javax.annotation.Nonnull DismissAllowanceNoticeRequest dismissAllowanceNoticeRequest, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + okhttp3.Call localVarCall = allowancesServiceDismissAllowanceNoticeValidateBeforeCall(dismissAllowanceNoticeRequest, idempotencyKey, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * Dismiss an allowance notice (asynchronously) + * Hide the over-limit notice for one limit, for the calling member, until the limit's next cycle. Only a member can dismiss; an API token gets a permission error. Requires the `workspace:write` scope. + * @param dismissAllowanceNoticeRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) + * @param _callback The callback to be executed when the API call finishes + * @return The request call + * @throws ApiException If fail to process the API call, e.g. serializing the request body object + * @http.response.details + + + + + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
+ */ + public okhttp3.Call allowancesServiceDismissAllowanceNoticeAsync(@javax.annotation.Nonnull DismissAllowanceNoticeRequest dismissAllowanceNoticeRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = allowancesServiceDismissAllowanceNoticeValidateBeforeCall(dismissAllowanceNoticeRequest, idempotencyKey, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } + /** + * Build call for allowancesServiceListAllowances + * @param _callback Callback for upload/download progress + * @return Call to execute + * @throws ApiException If fail to serialize the request body object + * @http.response.details + + + + + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
+ */ + public okhttp3.Call allowancesServiceListAllowancesCall(final ApiCallback _callback) throws ApiException { + String basePath = null; + // Operation Servers + String[] localBasePaths = new String[] { }; + + // Determine Base Path to Use + if (localCustomBaseUrl != null){ + basePath = localCustomBaseUrl; + } else if ( localBasePaths.length > 0 ) { + basePath = localBasePaths[localHostIndex]; + } else { + basePath = null; + } + + Object localVarPostBody = null; + + // create path and map variables + String localVarPath = "/v1/allowances"; + + List localVarQueryParams = new ArrayList(); + List localVarCollectionQueryParams = new ArrayList(); + Map localVarHeaderParams = new HashMap(); + Map localVarCookieParams = new HashMap(); + Map localVarFormParams = new HashMap(); + + final String[] localVarAccepts = { + "application/json" + }; + final String localVarAccept = localVarApiClient.selectHeaderAccept(localVarAccepts); + if (localVarAccept != null) { + localVarHeaderParams.put("Accept", localVarAccept); + } + + final String[] localVarContentTypes = { + }; + final String localVarContentType = localVarApiClient.selectHeaderContentType(localVarContentTypes); + if (localVarContentType != null) { + localVarHeaderParams.put("Content-Type", localVarContentType); + } + + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; + return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); + } + + @SuppressWarnings("rawtypes") + private okhttp3.Call allowancesServiceListAllowancesValidateBeforeCall(final ApiCallback _callback) throws ApiException { + return allowancesServiceListAllowancesCall(_callback); + + } + + /** + * List allowances + * Return every limit the workspace's plan sets with what has been used in the current cycle, when it resets and whether it has been reached. Requires the `workspace:read` scope. + * @return ListAllowancesResponse + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + + + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
+ */ + public ListAllowancesResponse allowancesServiceListAllowances() throws ApiException { + ApiResponse localVarResp = allowancesServiceListAllowancesWithHttpInfo(); + return localVarResp.getData(); + } + + /** + * List allowances + * Return every limit the workspace's plan sets with what has been used in the current cycle, when it resets and whether it has been reached. Requires the `workspace:read` scope. + * @return ApiResponse<ListAllowancesResponse> + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + + + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
+ */ + public ApiResponse allowancesServiceListAllowancesWithHttpInfo() throws ApiException { + okhttp3.Call localVarCall = allowancesServiceListAllowancesValidateBeforeCall(null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * List allowances (asynchronously) + * Return every limit the workspace's plan sets with what has been used in the current cycle, when it resets and whether it has been reached. Requires the `workspace:read` scope. + * @param _callback The callback to be executed when the API call finishes + * @return The request call + * @throws ApiException If fail to process the API call, e.g. serializing the request body object + * @http.response.details + + + + + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
+ */ + public okhttp3.Call allowancesServiceListAllowancesAsync(final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = allowancesServiceListAllowancesValidateBeforeCall(_callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } +} diff --git a/src/main/java/com/linkbreakers/api/AnalyticsDashboardApi.java b/src/main/java/com/linkbreakers/api/AnalyticsDashboardApi.java index 97d82ffcf..caddc0b04 100644 --- a/src/main/java/com/linkbreakers/api/AnalyticsDashboardApi.java +++ b/src/main/java/com/linkbreakers/api/AnalyticsDashboardApi.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -83,6 +83,7 @@ public void setCustomBaseUrl(String customBaseUrl) { /** * Build call for analyticsDashboardServiceCreateDashboard * @param createDashboardRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @param _callback Callback for upload/download progress * @return Call to execute * @throws ApiException If fail to serialize the request body object @@ -90,11 +91,12 @@ public void setCustomBaseUrl(String customBaseUrl) { - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call analyticsDashboardServiceCreateDashboardCall(@javax.annotation.Nonnull CreateDashboardRequest createDashboardRequest, final ApiCallback _callback) throws ApiException { + public okhttp3.Call analyticsDashboardServiceCreateDashboardCall(@javax.annotation.Nonnull CreateDashboardRequest createDashboardRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -135,64 +137,74 @@ public okhttp3.Call analyticsDashboardServiceCreateDashboardCall(@javax.annotati localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + if (idempotencyKey != null) { + localVarHeaderParams.put("Idempotency-Key", localVarApiClient.parameterToString(idempotencyKey)); + } + + + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; return localVarApiClient.buildCall(basePath, localVarPath, "POST", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @SuppressWarnings("rawtypes") - private okhttp3.Call analyticsDashboardServiceCreateDashboardValidateBeforeCall(@javax.annotation.Nonnull CreateDashboardRequest createDashboardRequest, final ApiCallback _callback) throws ApiException { + private okhttp3.Call analyticsDashboardServiceCreateDashboardValidateBeforeCall(@javax.annotation.Nonnull CreateDashboardRequest createDashboardRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { // verify the required parameter 'createDashboardRequest' is set if (createDashboardRequest == null) { throw new ApiException("Missing the required parameter 'createDashboardRequest' when calling analyticsDashboardServiceCreateDashboard(Async)"); } - return analyticsDashboardServiceCreateDashboardCall(createDashboardRequest, _callback); + return analyticsDashboardServiceCreateDashboardCall(createDashboardRequest, idempotencyKey, _callback); } /** * Create analytics dashboard - * + * Requires the `analytics:write` scope. * @param createDashboardRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return CreateDashboardResponse * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public CreateDashboardResponse analyticsDashboardServiceCreateDashboard(@javax.annotation.Nonnull CreateDashboardRequest createDashboardRequest) throws ApiException { - ApiResponse localVarResp = analyticsDashboardServiceCreateDashboardWithHttpInfo(createDashboardRequest); + public CreateDashboardResponse analyticsDashboardServiceCreateDashboard(@javax.annotation.Nonnull CreateDashboardRequest createDashboardRequest, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + ApiResponse localVarResp = analyticsDashboardServiceCreateDashboardWithHttpInfo(createDashboardRequest, idempotencyKey); return localVarResp.getData(); } /** * Create analytics dashboard - * + * Requires the `analytics:write` scope. * @param createDashboardRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return ApiResponse<CreateDashboardResponse> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public ApiResponse analyticsDashboardServiceCreateDashboardWithHttpInfo(@javax.annotation.Nonnull CreateDashboardRequest createDashboardRequest) throws ApiException { - okhttp3.Call localVarCall = analyticsDashboardServiceCreateDashboardValidateBeforeCall(createDashboardRequest, null); + public ApiResponse analyticsDashboardServiceCreateDashboardWithHttpInfo(@javax.annotation.Nonnull CreateDashboardRequest createDashboardRequest, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + okhttp3.Call localVarCall = analyticsDashboardServiceCreateDashboardValidateBeforeCall(createDashboardRequest, idempotencyKey, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); } /** * Create analytics dashboard (asynchronously) - * + * Requires the `analytics:write` scope. * @param createDashboardRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @param _callback The callback to be executed when the API call finishes * @return The request call * @throws ApiException If fail to process the API call, e.g. serializing the request body object @@ -200,13 +212,14 @@ public ApiResponse analyticsDashboardServiceCreateDashb - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call analyticsDashboardServiceCreateDashboardAsync(@javax.annotation.Nonnull CreateDashboardRequest createDashboardRequest, final ApiCallback _callback) throws ApiException { + public okhttp3.Call analyticsDashboardServiceCreateDashboardAsync(@javax.annotation.Nonnull CreateDashboardRequest createDashboardRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { - okhttp3.Call localVarCall = analyticsDashboardServiceCreateDashboardValidateBeforeCall(createDashboardRequest, _callback); + okhttp3.Call localVarCall = analyticsDashboardServiceCreateDashboardValidateBeforeCall(createDashboardRequest, idempotencyKey, _callback); Type localVarReturnType = new TypeToken(){}.getType(); localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); return localVarCall; @@ -221,8 +234,9 @@ public okhttp3.Call analyticsDashboardServiceCreateDashboardAsync(@javax.annotat - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public okhttp3.Call analyticsDashboardServiceDeleteDashboardCall(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { @@ -266,7 +280,7 @@ public okhttp3.Call analyticsDashboardServiceDeleteDashboardCall(@javax.annotati localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; return localVarApiClient.buildCall(basePath, localVarPath, "DELETE", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @@ -283,7 +297,7 @@ private okhttp3.Call analyticsDashboardServiceDeleteDashboardValidateBeforeCall( /** * Delete analytics dashboard - * Delete a dashboard and its associated assistant conversation. + * Delete a dashboard and its associated assistant conversation. Requires the `analytics:write` scope. * @param id (required) * @return Object * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body @@ -291,8 +305,9 @@ private okhttp3.Call analyticsDashboardServiceDeleteDashboardValidateBeforeCall( - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public Object analyticsDashboardServiceDeleteDashboard(@javax.annotation.Nonnull String id) throws ApiException { @@ -302,7 +317,7 @@ public Object analyticsDashboardServiceDeleteDashboard(@javax.annotation.Nonnull /** * Delete analytics dashboard - * Delete a dashboard and its associated assistant conversation. + * Delete a dashboard and its associated assistant conversation. Requires the `analytics:write` scope. * @param id (required) * @return ApiResponse<Object> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body @@ -310,8 +325,9 @@ public Object analyticsDashboardServiceDeleteDashboard(@javax.annotation.Nonnull - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public ApiResponse analyticsDashboardServiceDeleteDashboardWithHttpInfo(@javax.annotation.Nonnull String id) throws ApiException { @@ -322,7 +338,7 @@ public ApiResponse analyticsDashboardServiceDeleteDashboardWithHttpInfo( /** * Delete analytics dashboard (asynchronously) - * Delete a dashboard and its associated assistant conversation. + * Delete a dashboard and its associated assistant conversation. Requires the `analytics:write` scope. * @param id (required) * @param _callback The callback to be executed when the API call finishes * @return The request call @@ -331,8 +347,9 @@ public ApiResponse analyticsDashboardServiceDeleteDashboardWithHttpInfo( - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public okhttp3.Call analyticsDashboardServiceDeleteDashboardAsync(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { @@ -347,6 +364,7 @@ public okhttp3.Call analyticsDashboardServiceDeleteDashboardAsync(@javax.annotat * @param dashboardId Dashboard holding the widget (required) * @param widgetId Widget whose values should be analysed (required) * @param analyticsDashboardServiceGenerateWidgetSummaryBody (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @param _callback Callback for upload/download progress * @return Call to execute * @throws ApiException If fail to serialize the request body object @@ -354,11 +372,12 @@ public okhttp3.Call analyticsDashboardServiceDeleteDashboardAsync(@javax.annotat - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call analyticsDashboardServiceGenerateWidgetSummaryCall(@javax.annotation.Nonnull String dashboardId, @javax.annotation.Nonnull String widgetId, @javax.annotation.Nonnull AnalyticsDashboardServiceGenerateWidgetSummaryBody analyticsDashboardServiceGenerateWidgetSummaryBody, final ApiCallback _callback) throws ApiException { + public okhttp3.Call analyticsDashboardServiceGenerateWidgetSummaryCall(@javax.annotation.Nonnull String dashboardId, @javax.annotation.Nonnull String widgetId, @javax.annotation.Nonnull AnalyticsDashboardServiceGenerateWidgetSummaryBody analyticsDashboardServiceGenerateWidgetSummaryBody, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -401,12 +420,17 @@ public okhttp3.Call analyticsDashboardServiceGenerateWidgetSummaryCall(@javax.an localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + if (idempotencyKey != null) { + localVarHeaderParams.put("Idempotency-Key", localVarApiClient.parameterToString(idempotencyKey)); + } + + + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; return localVarApiClient.buildCall(basePath, localVarPath, "POST", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @SuppressWarnings("rawtypes") - private okhttp3.Call analyticsDashboardServiceGenerateWidgetSummaryValidateBeforeCall(@javax.annotation.Nonnull String dashboardId, @javax.annotation.Nonnull String widgetId, @javax.annotation.Nonnull AnalyticsDashboardServiceGenerateWidgetSummaryBody analyticsDashboardServiceGenerateWidgetSummaryBody, final ApiCallback _callback) throws ApiException { + private okhttp3.Call analyticsDashboardServiceGenerateWidgetSummaryValidateBeforeCall(@javax.annotation.Nonnull String dashboardId, @javax.annotation.Nonnull String widgetId, @javax.annotation.Nonnull AnalyticsDashboardServiceGenerateWidgetSummaryBody analyticsDashboardServiceGenerateWidgetSummaryBody, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { // verify the required parameter 'dashboardId' is set if (dashboardId == null) { throw new ApiException("Missing the required parameter 'dashboardId' when calling analyticsDashboardServiceGenerateWidgetSummary(Async)"); @@ -422,59 +446,64 @@ private okhttp3.Call analyticsDashboardServiceGenerateWidgetSummaryValidateBefor throw new ApiException("Missing the required parameter 'analyticsDashboardServiceGenerateWidgetSummaryBody' when calling analyticsDashboardServiceGenerateWidgetSummary(Async)"); } - return analyticsDashboardServiceGenerateWidgetSummaryCall(dashboardId, widgetId, analyticsDashboardServiceGenerateWidgetSummaryBody, _callback); + return analyticsDashboardServiceGenerateWidgetSummaryCall(dashboardId, widgetId, analyticsDashboardServiceGenerateWidgetSummaryBody, idempotencyKey, _callback); } /** * Generate a widget assistant summary - * Analyses the widget's current values and stores the result. Consumes platform credits, so it runs only when requested. + * Analyses the widget's current values and stores the result. Consumes platform credits, so it runs only when requested. Requires the `analytics:write` scope. * @param dashboardId Dashboard holding the widget (required) * @param widgetId Widget whose values should be analysed (required) * @param analyticsDashboardServiceGenerateWidgetSummaryBody (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return GenerateWidgetSummaryResponse * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public GenerateWidgetSummaryResponse analyticsDashboardServiceGenerateWidgetSummary(@javax.annotation.Nonnull String dashboardId, @javax.annotation.Nonnull String widgetId, @javax.annotation.Nonnull AnalyticsDashboardServiceGenerateWidgetSummaryBody analyticsDashboardServiceGenerateWidgetSummaryBody) throws ApiException { - ApiResponse localVarResp = analyticsDashboardServiceGenerateWidgetSummaryWithHttpInfo(dashboardId, widgetId, analyticsDashboardServiceGenerateWidgetSummaryBody); + public GenerateWidgetSummaryResponse analyticsDashboardServiceGenerateWidgetSummary(@javax.annotation.Nonnull String dashboardId, @javax.annotation.Nonnull String widgetId, @javax.annotation.Nonnull AnalyticsDashboardServiceGenerateWidgetSummaryBody analyticsDashboardServiceGenerateWidgetSummaryBody, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + ApiResponse localVarResp = analyticsDashboardServiceGenerateWidgetSummaryWithHttpInfo(dashboardId, widgetId, analyticsDashboardServiceGenerateWidgetSummaryBody, idempotencyKey); return localVarResp.getData(); } /** * Generate a widget assistant summary - * Analyses the widget's current values and stores the result. Consumes platform credits, so it runs only when requested. + * Analyses the widget's current values and stores the result. Consumes platform credits, so it runs only when requested. Requires the `analytics:write` scope. * @param dashboardId Dashboard holding the widget (required) * @param widgetId Widget whose values should be analysed (required) * @param analyticsDashboardServiceGenerateWidgetSummaryBody (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return ApiResponse<GenerateWidgetSummaryResponse> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public ApiResponse analyticsDashboardServiceGenerateWidgetSummaryWithHttpInfo(@javax.annotation.Nonnull String dashboardId, @javax.annotation.Nonnull String widgetId, @javax.annotation.Nonnull AnalyticsDashboardServiceGenerateWidgetSummaryBody analyticsDashboardServiceGenerateWidgetSummaryBody) throws ApiException { - okhttp3.Call localVarCall = analyticsDashboardServiceGenerateWidgetSummaryValidateBeforeCall(dashboardId, widgetId, analyticsDashboardServiceGenerateWidgetSummaryBody, null); + public ApiResponse analyticsDashboardServiceGenerateWidgetSummaryWithHttpInfo(@javax.annotation.Nonnull String dashboardId, @javax.annotation.Nonnull String widgetId, @javax.annotation.Nonnull AnalyticsDashboardServiceGenerateWidgetSummaryBody analyticsDashboardServiceGenerateWidgetSummaryBody, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + okhttp3.Call localVarCall = analyticsDashboardServiceGenerateWidgetSummaryValidateBeforeCall(dashboardId, widgetId, analyticsDashboardServiceGenerateWidgetSummaryBody, idempotencyKey, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); } /** * Generate a widget assistant summary (asynchronously) - * Analyses the widget's current values and stores the result. Consumes platform credits, so it runs only when requested. + * Analyses the widget's current values and stores the result. Consumes platform credits, so it runs only when requested. Requires the `analytics:write` scope. * @param dashboardId Dashboard holding the widget (required) * @param widgetId Widget whose values should be analysed (required) * @param analyticsDashboardServiceGenerateWidgetSummaryBody (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @param _callback The callback to be executed when the API call finishes * @return The request call * @throws ApiException If fail to process the API call, e.g. serializing the request body object @@ -482,13 +511,14 @@ public ApiResponse analyticsDashboardServiceGener - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call analyticsDashboardServiceGenerateWidgetSummaryAsync(@javax.annotation.Nonnull String dashboardId, @javax.annotation.Nonnull String widgetId, @javax.annotation.Nonnull AnalyticsDashboardServiceGenerateWidgetSummaryBody analyticsDashboardServiceGenerateWidgetSummaryBody, final ApiCallback _callback) throws ApiException { + public okhttp3.Call analyticsDashboardServiceGenerateWidgetSummaryAsync(@javax.annotation.Nonnull String dashboardId, @javax.annotation.Nonnull String widgetId, @javax.annotation.Nonnull AnalyticsDashboardServiceGenerateWidgetSummaryBody analyticsDashboardServiceGenerateWidgetSummaryBody, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { - okhttp3.Call localVarCall = analyticsDashboardServiceGenerateWidgetSummaryValidateBeforeCall(dashboardId, widgetId, analyticsDashboardServiceGenerateWidgetSummaryBody, _callback); + okhttp3.Call localVarCall = analyticsDashboardServiceGenerateWidgetSummaryValidateBeforeCall(dashboardId, widgetId, analyticsDashboardServiceGenerateWidgetSummaryBody, idempotencyKey, _callback); Type localVarReturnType = new TypeToken(){}.getType(); localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); return localVarCall; @@ -504,8 +534,9 @@ public okhttp3.Call analyticsDashboardServiceGenerateWidgetSummaryAsync(@javax.a - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public okhttp3.Call analyticsDashboardServiceGetWidgetSummaryCall(@javax.annotation.Nonnull String dashboardId, @javax.annotation.Nonnull String widgetId, final ApiCallback _callback) throws ApiException { @@ -550,7 +581,7 @@ public okhttp3.Call analyticsDashboardServiceGetWidgetSummaryCall(@javax.annotat localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @@ -572,7 +603,7 @@ private okhttp3.Call analyticsDashboardServiceGetWidgetSummaryValidateBeforeCall /** * Get a stored widget assistant summary - * Returns the last generated analysis, and whether the underlying values have changed since. + * Returns the last generated analysis, and whether the underlying values have changed since. Requires the `analytics:read` scope. * @param dashboardId (required) * @param widgetId (required) * @return GetWidgetSummaryResponse @@ -581,8 +612,9 @@ private okhttp3.Call analyticsDashboardServiceGetWidgetSummaryValidateBeforeCall - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public GetWidgetSummaryResponse analyticsDashboardServiceGetWidgetSummary(@javax.annotation.Nonnull String dashboardId, @javax.annotation.Nonnull String widgetId) throws ApiException { @@ -592,7 +624,7 @@ public GetWidgetSummaryResponse analyticsDashboardServiceGetWidgetSummary(@javax /** * Get a stored widget assistant summary - * Returns the last generated analysis, and whether the underlying values have changed since. + * Returns the last generated analysis, and whether the underlying values have changed since. Requires the `analytics:read` scope. * @param dashboardId (required) * @param widgetId (required) * @return ApiResponse<GetWidgetSummaryResponse> @@ -601,8 +633,9 @@ public GetWidgetSummaryResponse analyticsDashboardServiceGetWidgetSummary(@javax - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public ApiResponse analyticsDashboardServiceGetWidgetSummaryWithHttpInfo(@javax.annotation.Nonnull String dashboardId, @javax.annotation.Nonnull String widgetId) throws ApiException { @@ -613,7 +646,7 @@ public ApiResponse analyticsDashboardServiceGetWidgetS /** * Get a stored widget assistant summary (asynchronously) - * Returns the last generated analysis, and whether the underlying values have changed since. + * Returns the last generated analysis, and whether the underlying values have changed since. Requires the `analytics:read` scope. * @param dashboardId (required) * @param widgetId (required) * @param _callback The callback to be executed when the API call finishes @@ -623,8 +656,9 @@ public ApiResponse analyticsDashboardServiceGetWidgetS - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public okhttp3.Call analyticsDashboardServiceGetWidgetSummaryAsync(@javax.annotation.Nonnull String dashboardId, @javax.annotation.Nonnull String widgetId, final ApiCallback _callback) throws ApiException { @@ -640,6 +674,7 @@ public okhttp3.Call analyticsDashboardServiceGetWidgetSummaryAsync(@javax.annota * @param scope Restricts the result by scope. Unset returns every dashboard. - DASHBOARD_SCOPE_UNSPECIFIED: Every dashboard in the workspace, link-scoped or not. - DASHBOARD_SCOPE_WORKSPACE: Only the workspace-wide dashboard, the one with no link. - DASHBOARD_SCOPE_LINK: Only dashboards tied to a link. (optional) * @param pageSize Maximum number to return. Defaults to 100, capped at 1000. (optional) * @param pageToken Cursor from a previous response's next_page_token. Empty starts at the first page. Pages are ordered by (created_at, id), which never change, so a record cannot move between pages while a client is walking them. (optional) + * @param cursor Opaque cursor from the previous page's nextPageToken. Same as pageToken; when both are sent, pageToken wins. (optional) * @param _callback Callback for upload/download progress * @return Call to execute * @throws ApiException If fail to serialize the request body object @@ -647,11 +682,12 @@ public okhttp3.Call analyticsDashboardServiceGetWidgetSummaryAsync(@javax.annota - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call analyticsDashboardServiceListDashboardsCall(@javax.annotation.Nullable String linkId, @javax.annotation.Nullable String scope, @javax.annotation.Nullable Long pageSize, @javax.annotation.Nullable String pageToken, final ApiCallback _callback) throws ApiException { + public okhttp3.Call analyticsDashboardServiceListDashboardsCall(@javax.annotation.Nullable String linkId, @javax.annotation.Nullable String scope, @javax.annotation.Nullable Long pageSize, @javax.annotation.Nullable String pageToken, @javax.annotation.Nullable String cursor, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -692,6 +728,10 @@ public okhttp3.Call analyticsDashboardServiceListDashboardsCall(@javax.annotatio localVarQueryParams.addAll(localVarApiClient.parameterToPair("pageToken", pageToken)); } + if (cursor != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("cursor", cursor)); + } + final String[] localVarAccepts = { "application/json" }; @@ -707,68 +747,73 @@ public okhttp3.Call analyticsDashboardServiceListDashboardsCall(@javax.annotatio localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @SuppressWarnings("rawtypes") - private okhttp3.Call analyticsDashboardServiceListDashboardsValidateBeforeCall(@javax.annotation.Nullable String linkId, @javax.annotation.Nullable String scope, @javax.annotation.Nullable Long pageSize, @javax.annotation.Nullable String pageToken, final ApiCallback _callback) throws ApiException { - return analyticsDashboardServiceListDashboardsCall(linkId, scope, pageSize, pageToken, _callback); + private okhttp3.Call analyticsDashboardServiceListDashboardsValidateBeforeCall(@javax.annotation.Nullable String linkId, @javax.annotation.Nullable String scope, @javax.annotation.Nullable Long pageSize, @javax.annotation.Nullable String pageToken, @javax.annotation.Nullable String cursor, final ApiCallback _callback) throws ApiException { + return analyticsDashboardServiceListDashboardsCall(linkId, scope, pageSize, pageToken, cursor, _callback); } /** * List analytics dashboards - * + * Requires the `analytics:read` scope. * @param linkId Restricts the result to the dashboard scoped to this link. Takes precedence over scope when both are set. (optional) * @param scope Restricts the result by scope. Unset returns every dashboard. - DASHBOARD_SCOPE_UNSPECIFIED: Every dashboard in the workspace, link-scoped or not. - DASHBOARD_SCOPE_WORKSPACE: Only the workspace-wide dashboard, the one with no link. - DASHBOARD_SCOPE_LINK: Only dashboards tied to a link. (optional) * @param pageSize Maximum number to return. Defaults to 100, capped at 1000. (optional) * @param pageToken Cursor from a previous response's next_page_token. Empty starts at the first page. Pages are ordered by (created_at, id), which never change, so a record cannot move between pages while a client is walking them. (optional) + * @param cursor Opaque cursor from the previous page's nextPageToken. Same as pageToken; when both are sent, pageToken wins. (optional) * @return ListDashboardsResponse * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public ListDashboardsResponse analyticsDashboardServiceListDashboards(@javax.annotation.Nullable String linkId, @javax.annotation.Nullable String scope, @javax.annotation.Nullable Long pageSize, @javax.annotation.Nullable String pageToken) throws ApiException { - ApiResponse localVarResp = analyticsDashboardServiceListDashboardsWithHttpInfo(linkId, scope, pageSize, pageToken); + public ListDashboardsResponse analyticsDashboardServiceListDashboards(@javax.annotation.Nullable String linkId, @javax.annotation.Nullable String scope, @javax.annotation.Nullable Long pageSize, @javax.annotation.Nullable String pageToken, @javax.annotation.Nullable String cursor) throws ApiException { + ApiResponse localVarResp = analyticsDashboardServiceListDashboardsWithHttpInfo(linkId, scope, pageSize, pageToken, cursor); return localVarResp.getData(); } /** * List analytics dashboards - * + * Requires the `analytics:read` scope. * @param linkId Restricts the result to the dashboard scoped to this link. Takes precedence over scope when both are set. (optional) * @param scope Restricts the result by scope. Unset returns every dashboard. - DASHBOARD_SCOPE_UNSPECIFIED: Every dashboard in the workspace, link-scoped or not. - DASHBOARD_SCOPE_WORKSPACE: Only the workspace-wide dashboard, the one with no link. - DASHBOARD_SCOPE_LINK: Only dashboards tied to a link. (optional) * @param pageSize Maximum number to return. Defaults to 100, capped at 1000. (optional) * @param pageToken Cursor from a previous response's next_page_token. Empty starts at the first page. Pages are ordered by (created_at, id), which never change, so a record cannot move between pages while a client is walking them. (optional) + * @param cursor Opaque cursor from the previous page's nextPageToken. Same as pageToken; when both are sent, pageToken wins. (optional) * @return ApiResponse<ListDashboardsResponse> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public ApiResponse analyticsDashboardServiceListDashboardsWithHttpInfo(@javax.annotation.Nullable String linkId, @javax.annotation.Nullable String scope, @javax.annotation.Nullable Long pageSize, @javax.annotation.Nullable String pageToken) throws ApiException { - okhttp3.Call localVarCall = analyticsDashboardServiceListDashboardsValidateBeforeCall(linkId, scope, pageSize, pageToken, null); + public ApiResponse analyticsDashboardServiceListDashboardsWithHttpInfo(@javax.annotation.Nullable String linkId, @javax.annotation.Nullable String scope, @javax.annotation.Nullable Long pageSize, @javax.annotation.Nullable String pageToken, @javax.annotation.Nullable String cursor) throws ApiException { + okhttp3.Call localVarCall = analyticsDashboardServiceListDashboardsValidateBeforeCall(linkId, scope, pageSize, pageToken, cursor, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); } /** * List analytics dashboards (asynchronously) - * + * Requires the `analytics:read` scope. * @param linkId Restricts the result to the dashboard scoped to this link. Takes precedence over scope when both are set. (optional) * @param scope Restricts the result by scope. Unset returns every dashboard. - DASHBOARD_SCOPE_UNSPECIFIED: Every dashboard in the workspace, link-scoped or not. - DASHBOARD_SCOPE_WORKSPACE: Only the workspace-wide dashboard, the one with no link. - DASHBOARD_SCOPE_LINK: Only dashboards tied to a link. (optional) * @param pageSize Maximum number to return. Defaults to 100, capped at 1000. (optional) * @param pageToken Cursor from a previous response's next_page_token. Empty starts at the first page. Pages are ordered by (created_at, id), which never change, so a record cannot move between pages while a client is walking them. (optional) + * @param cursor Opaque cursor from the previous page's nextPageToken. Same as pageToken; when both are sent, pageToken wins. (optional) * @param _callback The callback to be executed when the API call finishes * @return The request call * @throws ApiException If fail to process the API call, e.g. serializing the request body object @@ -776,13 +821,14 @@ public ApiResponse analyticsDashboardServiceListDashboar - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call analyticsDashboardServiceListDashboardsAsync(@javax.annotation.Nullable String linkId, @javax.annotation.Nullable String scope, @javax.annotation.Nullable Long pageSize, @javax.annotation.Nullable String pageToken, final ApiCallback _callback) throws ApiException { + public okhttp3.Call analyticsDashboardServiceListDashboardsAsync(@javax.annotation.Nullable String linkId, @javax.annotation.Nullable String scope, @javax.annotation.Nullable Long pageSize, @javax.annotation.Nullable String pageToken, @javax.annotation.Nullable String cursor, final ApiCallback _callback) throws ApiException { - okhttp3.Call localVarCall = analyticsDashboardServiceListDashboardsValidateBeforeCall(linkId, scope, pageSize, pageToken, _callback); + okhttp3.Call localVarCall = analyticsDashboardServiceListDashboardsValidateBeforeCall(linkId, scope, pageSize, pageToken, cursor, _callback); Type localVarReturnType = new TypeToken(){}.getType(); localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); return localVarCall; @@ -791,6 +837,7 @@ public okhttp3.Call analyticsDashboardServiceListDashboardsAsync(@javax.annotati * Build call for analyticsDashboardServiceUpdateDashboard * @param id ID of the dashboard to update. (required) * @param analyticsDashboardServiceUpdateDashboardBody (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @param _callback Callback for upload/download progress * @return Call to execute * @throws ApiException If fail to serialize the request body object @@ -798,11 +845,12 @@ public okhttp3.Call analyticsDashboardServiceListDashboardsAsync(@javax.annotati - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call analyticsDashboardServiceUpdateDashboardCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull AnalyticsDashboardServiceUpdateDashboardBody analyticsDashboardServiceUpdateDashboardBody, final ApiCallback _callback) throws ApiException { + public okhttp3.Call analyticsDashboardServiceUpdateDashboardCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull AnalyticsDashboardServiceUpdateDashboardBody analyticsDashboardServiceUpdateDashboardBody, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -844,12 +892,17 @@ public okhttp3.Call analyticsDashboardServiceUpdateDashboardCall(@javax.annotati localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + if (idempotencyKey != null) { + localVarHeaderParams.put("Idempotency-Key", localVarApiClient.parameterToString(idempotencyKey)); + } + + + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; return localVarApiClient.buildCall(basePath, localVarPath, "PUT", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @SuppressWarnings("rawtypes") - private okhttp3.Call analyticsDashboardServiceUpdateDashboardValidateBeforeCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull AnalyticsDashboardServiceUpdateDashboardBody analyticsDashboardServiceUpdateDashboardBody, final ApiCallback _callback) throws ApiException { + private okhttp3.Call analyticsDashboardServiceUpdateDashboardValidateBeforeCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull AnalyticsDashboardServiceUpdateDashboardBody analyticsDashboardServiceUpdateDashboardBody, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { // verify the required parameter 'id' is set if (id == null) { throw new ApiException("Missing the required parameter 'id' when calling analyticsDashboardServiceUpdateDashboard(Async)"); @@ -860,56 +913,61 @@ private okhttp3.Call analyticsDashboardServiceUpdateDashboardValidateBeforeCall( throw new ApiException("Missing the required parameter 'analyticsDashboardServiceUpdateDashboardBody' when calling analyticsDashboardServiceUpdateDashboard(Async)"); } - return analyticsDashboardServiceUpdateDashboardCall(id, analyticsDashboardServiceUpdateDashboardBody, _callback); + return analyticsDashboardServiceUpdateDashboardCall(id, analyticsDashboardServiceUpdateDashboardBody, idempotencyKey, _callback); } /** * Update analytics dashboard - * + * Requires the `analytics:write` scope. * @param id ID of the dashboard to update. (required) * @param analyticsDashboardServiceUpdateDashboardBody (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return UpdateDashboardResponse * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public UpdateDashboardResponse analyticsDashboardServiceUpdateDashboard(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull AnalyticsDashboardServiceUpdateDashboardBody analyticsDashboardServiceUpdateDashboardBody) throws ApiException { - ApiResponse localVarResp = analyticsDashboardServiceUpdateDashboardWithHttpInfo(id, analyticsDashboardServiceUpdateDashboardBody); + public UpdateDashboardResponse analyticsDashboardServiceUpdateDashboard(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull AnalyticsDashboardServiceUpdateDashboardBody analyticsDashboardServiceUpdateDashboardBody, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + ApiResponse localVarResp = analyticsDashboardServiceUpdateDashboardWithHttpInfo(id, analyticsDashboardServiceUpdateDashboardBody, idempotencyKey); return localVarResp.getData(); } /** * Update analytics dashboard - * + * Requires the `analytics:write` scope. * @param id ID of the dashboard to update. (required) * @param analyticsDashboardServiceUpdateDashboardBody (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return ApiResponse<UpdateDashboardResponse> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public ApiResponse analyticsDashboardServiceUpdateDashboardWithHttpInfo(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull AnalyticsDashboardServiceUpdateDashboardBody analyticsDashboardServiceUpdateDashboardBody) throws ApiException { - okhttp3.Call localVarCall = analyticsDashboardServiceUpdateDashboardValidateBeforeCall(id, analyticsDashboardServiceUpdateDashboardBody, null); + public ApiResponse analyticsDashboardServiceUpdateDashboardWithHttpInfo(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull AnalyticsDashboardServiceUpdateDashboardBody analyticsDashboardServiceUpdateDashboardBody, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + okhttp3.Call localVarCall = analyticsDashboardServiceUpdateDashboardValidateBeforeCall(id, analyticsDashboardServiceUpdateDashboardBody, idempotencyKey, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); } /** * Update analytics dashboard (asynchronously) - * + * Requires the `analytics:write` scope. * @param id ID of the dashboard to update. (required) * @param analyticsDashboardServiceUpdateDashboardBody (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @param _callback The callback to be executed when the API call finishes * @return The request call * @throws ApiException If fail to process the API call, e.g. serializing the request body object @@ -917,13 +975,14 @@ public ApiResponse analyticsDashboardServiceUpdateDashb - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call analyticsDashboardServiceUpdateDashboardAsync(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull AnalyticsDashboardServiceUpdateDashboardBody analyticsDashboardServiceUpdateDashboardBody, final ApiCallback _callback) throws ApiException { + public okhttp3.Call analyticsDashboardServiceUpdateDashboardAsync(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull AnalyticsDashboardServiceUpdateDashboardBody analyticsDashboardServiceUpdateDashboardBody, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { - okhttp3.Call localVarCall = analyticsDashboardServiceUpdateDashboardValidateBeforeCall(id, analyticsDashboardServiceUpdateDashboardBody, _callback); + okhttp3.Call localVarCall = analyticsDashboardServiceUpdateDashboardValidateBeforeCall(id, analyticsDashboardServiceUpdateDashboardBody, idempotencyKey, _callback); Type localVarReturnType = new TypeToken(){}.getType(); localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); return localVarCall; diff --git a/src/main/java/com/linkbreakers/api/AnalyticsDataApi.java b/src/main/java/com/linkbreakers/api/AnalyticsDataApi.java index 6bddc86c9..1eeb61870 100644 --- a/src/main/java/com/linkbreakers/api/AnalyticsDataApi.java +++ b/src/main/java/com/linkbreakers/api/AnalyticsDataApi.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -97,6 +97,7 @@ public void setCustomBaseUrl(String customBaseUrl) { /** * Build call for analyticsDataServiceGetAttributeDistribution * @param getAttributeDistributionRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @param _callback Callback for upload/download progress * @return Call to execute * @throws ApiException If fail to serialize the request body object @@ -104,11 +105,12 @@ public void setCustomBaseUrl(String customBaseUrl) { - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call analyticsDataServiceGetAttributeDistributionCall(@javax.annotation.Nonnull GetAttributeDistributionRequest getAttributeDistributionRequest, final ApiCallback _callback) throws ApiException { + public okhttp3.Call analyticsDataServiceGetAttributeDistributionCall(@javax.annotation.Nonnull GetAttributeDistributionRequest getAttributeDistributionRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -149,64 +151,74 @@ public okhttp3.Call analyticsDataServiceGetAttributeDistributionCall(@javax.anno localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + if (idempotencyKey != null) { + localVarHeaderParams.put("Idempotency-Key", localVarApiClient.parameterToString(idempotencyKey)); + } + + + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; return localVarApiClient.buildCall(basePath, localVarPath, "POST", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @SuppressWarnings("rawtypes") - private okhttp3.Call analyticsDataServiceGetAttributeDistributionValidateBeforeCall(@javax.annotation.Nonnull GetAttributeDistributionRequest getAttributeDistributionRequest, final ApiCallback _callback) throws ApiException { + private okhttp3.Call analyticsDataServiceGetAttributeDistributionValidateBeforeCall(@javax.annotation.Nonnull GetAttributeDistributionRequest getAttributeDistributionRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { // verify the required parameter 'getAttributeDistributionRequest' is set if (getAttributeDistributionRequest == null) { throw new ApiException("Missing the required parameter 'getAttributeDistributionRequest' when calling analyticsDataServiceGetAttributeDistribution(Async)"); } - return analyticsDataServiceGetAttributeDistributionCall(getAttributeDistributionRequest, _callback); + return analyticsDataServiceGetAttributeDistributionCall(getAttributeDistributionRequest, idempotencyKey, _callback); } /** * Get visitor attribute distribution - * Returns how visitors are spread across the values of one attribute, for example how many gave each rating. + * Returns how visitors are spread across the values of one attribute, for example how many gave each rating. Requires the `analytics:read` scope. * @param getAttributeDistributionRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return GetAttributeDistributionResponse * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public GetAttributeDistributionResponse analyticsDataServiceGetAttributeDistribution(@javax.annotation.Nonnull GetAttributeDistributionRequest getAttributeDistributionRequest) throws ApiException { - ApiResponse localVarResp = analyticsDataServiceGetAttributeDistributionWithHttpInfo(getAttributeDistributionRequest); + public GetAttributeDistributionResponse analyticsDataServiceGetAttributeDistribution(@javax.annotation.Nonnull GetAttributeDistributionRequest getAttributeDistributionRequest, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + ApiResponse localVarResp = analyticsDataServiceGetAttributeDistributionWithHttpInfo(getAttributeDistributionRequest, idempotencyKey); return localVarResp.getData(); } /** * Get visitor attribute distribution - * Returns how visitors are spread across the values of one attribute, for example how many gave each rating. + * Returns how visitors are spread across the values of one attribute, for example how many gave each rating. Requires the `analytics:read` scope. * @param getAttributeDistributionRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return ApiResponse<GetAttributeDistributionResponse> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public ApiResponse analyticsDataServiceGetAttributeDistributionWithHttpInfo(@javax.annotation.Nonnull GetAttributeDistributionRequest getAttributeDistributionRequest) throws ApiException { - okhttp3.Call localVarCall = analyticsDataServiceGetAttributeDistributionValidateBeforeCall(getAttributeDistributionRequest, null); + public ApiResponse analyticsDataServiceGetAttributeDistributionWithHttpInfo(@javax.annotation.Nonnull GetAttributeDistributionRequest getAttributeDistributionRequest, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + okhttp3.Call localVarCall = analyticsDataServiceGetAttributeDistributionValidateBeforeCall(getAttributeDistributionRequest, idempotencyKey, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); } /** * Get visitor attribute distribution (asynchronously) - * Returns how visitors are spread across the values of one attribute, for example how many gave each rating. + * Returns how visitors are spread across the values of one attribute, for example how many gave each rating. Requires the `analytics:read` scope. * @param getAttributeDistributionRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @param _callback The callback to be executed when the API call finishes * @return The request call * @throws ApiException If fail to process the API call, e.g. serializing the request body object @@ -214,13 +226,14 @@ public ApiResponse analyticsDataServiceGetAttr - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call analyticsDataServiceGetAttributeDistributionAsync(@javax.annotation.Nonnull GetAttributeDistributionRequest getAttributeDistributionRequest, final ApiCallback _callback) throws ApiException { + public okhttp3.Call analyticsDataServiceGetAttributeDistributionAsync(@javax.annotation.Nonnull GetAttributeDistributionRequest getAttributeDistributionRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { - okhttp3.Call localVarCall = analyticsDataServiceGetAttributeDistributionValidateBeforeCall(getAttributeDistributionRequest, _callback); + okhttp3.Call localVarCall = analyticsDataServiceGetAttributeDistributionValidateBeforeCall(getAttributeDistributionRequest, idempotencyKey, _callback); Type localVarReturnType = new TypeToken(){}.getType(); localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); return localVarCall; @@ -228,6 +241,7 @@ public okhttp3.Call analyticsDataServiceGetAttributeDistributionAsync(@javax.ann /** * Build call for analyticsDataServiceGetAttributeMetric * @param getAttributeMetricRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @param _callback Callback for upload/download progress * @return Call to execute * @throws ApiException If fail to serialize the request body object @@ -235,11 +249,12 @@ public okhttp3.Call analyticsDataServiceGetAttributeDistributionAsync(@javax.ann - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call analyticsDataServiceGetAttributeMetricCall(@javax.annotation.Nonnull GetAttributeMetricRequest getAttributeMetricRequest, final ApiCallback _callback) throws ApiException { + public okhttp3.Call analyticsDataServiceGetAttributeMetricCall(@javax.annotation.Nonnull GetAttributeMetricRequest getAttributeMetricRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -280,64 +295,74 @@ public okhttp3.Call analyticsDataServiceGetAttributeMetricCall(@javax.annotation localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + if (idempotencyKey != null) { + localVarHeaderParams.put("Idempotency-Key", localVarApiClient.parameterToString(idempotencyKey)); + } + + + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; return localVarApiClient.buildCall(basePath, localVarPath, "POST", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @SuppressWarnings("rawtypes") - private okhttp3.Call analyticsDataServiceGetAttributeMetricValidateBeforeCall(@javax.annotation.Nonnull GetAttributeMetricRequest getAttributeMetricRequest, final ApiCallback _callback) throws ApiException { + private okhttp3.Call analyticsDataServiceGetAttributeMetricValidateBeforeCall(@javax.annotation.Nonnull GetAttributeMetricRequest getAttributeMetricRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { // verify the required parameter 'getAttributeMetricRequest' is set if (getAttributeMetricRequest == null) { throw new ApiException("Missing the required parameter 'getAttributeMetricRequest' when calling analyticsDataServiceGetAttributeMetric(Async)"); } - return analyticsDataServiceGetAttributeMetricCall(getAttributeMetricRequest, _callback); + return analyticsDataServiceGetAttributeMetricCall(getAttributeMetricRequest, idempotencyKey, _callback); } /** * Get visitor attribute metric - * Returns count, average, minimum and maximum for a visitor attribute, plus how much of the audience carries it. + * Returns count, average, minimum and maximum for a visitor attribute, plus how much of the audience carries it. Requires the `analytics:read` scope. * @param getAttributeMetricRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return GetAttributeMetricResponse * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public GetAttributeMetricResponse analyticsDataServiceGetAttributeMetric(@javax.annotation.Nonnull GetAttributeMetricRequest getAttributeMetricRequest) throws ApiException { - ApiResponse localVarResp = analyticsDataServiceGetAttributeMetricWithHttpInfo(getAttributeMetricRequest); + public GetAttributeMetricResponse analyticsDataServiceGetAttributeMetric(@javax.annotation.Nonnull GetAttributeMetricRequest getAttributeMetricRequest, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + ApiResponse localVarResp = analyticsDataServiceGetAttributeMetricWithHttpInfo(getAttributeMetricRequest, idempotencyKey); return localVarResp.getData(); } /** * Get visitor attribute metric - * Returns count, average, minimum and maximum for a visitor attribute, plus how much of the audience carries it. + * Returns count, average, minimum and maximum for a visitor attribute, plus how much of the audience carries it. Requires the `analytics:read` scope. * @param getAttributeMetricRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return ApiResponse<GetAttributeMetricResponse> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public ApiResponse analyticsDataServiceGetAttributeMetricWithHttpInfo(@javax.annotation.Nonnull GetAttributeMetricRequest getAttributeMetricRequest) throws ApiException { - okhttp3.Call localVarCall = analyticsDataServiceGetAttributeMetricValidateBeforeCall(getAttributeMetricRequest, null); + public ApiResponse analyticsDataServiceGetAttributeMetricWithHttpInfo(@javax.annotation.Nonnull GetAttributeMetricRequest getAttributeMetricRequest, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + okhttp3.Call localVarCall = analyticsDataServiceGetAttributeMetricValidateBeforeCall(getAttributeMetricRequest, idempotencyKey, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); } /** * Get visitor attribute metric (asynchronously) - * Returns count, average, minimum and maximum for a visitor attribute, plus how much of the audience carries it. + * Returns count, average, minimum and maximum for a visitor attribute, plus how much of the audience carries it. Requires the `analytics:read` scope. * @param getAttributeMetricRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @param _callback The callback to be executed when the API call finishes * @return The request call * @throws ApiException If fail to process the API call, e.g. serializing the request body object @@ -345,13 +370,14 @@ public ApiResponse analyticsDataServiceGetAttributeM - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call analyticsDataServiceGetAttributeMetricAsync(@javax.annotation.Nonnull GetAttributeMetricRequest getAttributeMetricRequest, final ApiCallback _callback) throws ApiException { + public okhttp3.Call analyticsDataServiceGetAttributeMetricAsync(@javax.annotation.Nonnull GetAttributeMetricRequest getAttributeMetricRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { - okhttp3.Call localVarCall = analyticsDataServiceGetAttributeMetricValidateBeforeCall(getAttributeMetricRequest, _callback); + okhttp3.Call localVarCall = analyticsDataServiceGetAttributeMetricValidateBeforeCall(getAttributeMetricRequest, idempotencyKey, _callback); Type localVarReturnType = new TypeToken(){}.getType(); localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); return localVarCall; @@ -359,6 +385,7 @@ public okhttp3.Call analyticsDataServiceGetAttributeMetricAsync(@javax.annotatio /** * Build call for analyticsDataServiceGetAttributeValues * @param getAttributeValuesRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @param _callback Callback for upload/download progress * @return Call to execute * @throws ApiException If fail to serialize the request body object @@ -366,11 +393,12 @@ public okhttp3.Call analyticsDataServiceGetAttributeMetricAsync(@javax.annotatio - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call analyticsDataServiceGetAttributeValuesCall(@javax.annotation.Nonnull GetAttributeValuesRequest getAttributeValuesRequest, final ApiCallback _callback) throws ApiException { + public okhttp3.Call analyticsDataServiceGetAttributeValuesCall(@javax.annotation.Nonnull GetAttributeValuesRequest getAttributeValuesRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -411,64 +439,74 @@ public okhttp3.Call analyticsDataServiceGetAttributeValuesCall(@javax.annotation localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + if (idempotencyKey != null) { + localVarHeaderParams.put("Idempotency-Key", localVarApiClient.parameterToString(idempotencyKey)); + } + + + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; return localVarApiClient.buildCall(basePath, localVarPath, "POST", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @SuppressWarnings("rawtypes") - private okhttp3.Call analyticsDataServiceGetAttributeValuesValidateBeforeCall(@javax.annotation.Nonnull GetAttributeValuesRequest getAttributeValuesRequest, final ApiCallback _callback) throws ApiException { + private okhttp3.Call analyticsDataServiceGetAttributeValuesValidateBeforeCall(@javax.annotation.Nonnull GetAttributeValuesRequest getAttributeValuesRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { // verify the required parameter 'getAttributeValuesRequest' is set if (getAttributeValuesRequest == null) { throw new ApiException("Missing the required parameter 'getAttributeValuesRequest' when calling analyticsDataServiceGetAttributeValues(Async)"); } - return analyticsDataServiceGetAttributeValuesCall(getAttributeValuesRequest, _callback); + return analyticsDataServiceGetAttributeValuesCall(getAttributeValuesRequest, idempotencyKey, _callback); } /** * List visitor attribute values - * Returns the individual recorded values of one attribute, most recent first. Intended for free text such as comments. + * Returns the individual recorded values of one attribute, most recent first. Intended for free text such as comments. Requires the `analytics:read` scope. * @param getAttributeValuesRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return GetAttributeValuesResponse * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public GetAttributeValuesResponse analyticsDataServiceGetAttributeValues(@javax.annotation.Nonnull GetAttributeValuesRequest getAttributeValuesRequest) throws ApiException { - ApiResponse localVarResp = analyticsDataServiceGetAttributeValuesWithHttpInfo(getAttributeValuesRequest); + public GetAttributeValuesResponse analyticsDataServiceGetAttributeValues(@javax.annotation.Nonnull GetAttributeValuesRequest getAttributeValuesRequest, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + ApiResponse localVarResp = analyticsDataServiceGetAttributeValuesWithHttpInfo(getAttributeValuesRequest, idempotencyKey); return localVarResp.getData(); } /** * List visitor attribute values - * Returns the individual recorded values of one attribute, most recent first. Intended for free text such as comments. + * Returns the individual recorded values of one attribute, most recent first. Intended for free text such as comments. Requires the `analytics:read` scope. * @param getAttributeValuesRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return ApiResponse<GetAttributeValuesResponse> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public ApiResponse analyticsDataServiceGetAttributeValuesWithHttpInfo(@javax.annotation.Nonnull GetAttributeValuesRequest getAttributeValuesRequest) throws ApiException { - okhttp3.Call localVarCall = analyticsDataServiceGetAttributeValuesValidateBeforeCall(getAttributeValuesRequest, null); + public ApiResponse analyticsDataServiceGetAttributeValuesWithHttpInfo(@javax.annotation.Nonnull GetAttributeValuesRequest getAttributeValuesRequest, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + okhttp3.Call localVarCall = analyticsDataServiceGetAttributeValuesValidateBeforeCall(getAttributeValuesRequest, idempotencyKey, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); } /** * List visitor attribute values (asynchronously) - * Returns the individual recorded values of one attribute, most recent first. Intended for free text such as comments. + * Returns the individual recorded values of one attribute, most recent first. Intended for free text such as comments. Requires the `analytics:read` scope. * @param getAttributeValuesRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @param _callback The callback to be executed when the API call finishes * @return The request call * @throws ApiException If fail to process the API call, e.g. serializing the request body object @@ -476,13 +514,14 @@ public ApiResponse analyticsDataServiceGetAttributeV - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call analyticsDataServiceGetAttributeValuesAsync(@javax.annotation.Nonnull GetAttributeValuesRequest getAttributeValuesRequest, final ApiCallback _callback) throws ApiException { + public okhttp3.Call analyticsDataServiceGetAttributeValuesAsync(@javax.annotation.Nonnull GetAttributeValuesRequest getAttributeValuesRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { - okhttp3.Call localVarCall = analyticsDataServiceGetAttributeValuesValidateBeforeCall(getAttributeValuesRequest, _callback); + okhttp3.Call localVarCall = analyticsDataServiceGetAttributeValuesValidateBeforeCall(getAttributeValuesRequest, idempotencyKey, _callback); Type localVarReturnType = new TypeToken(){}.getType(); localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); return localVarCall; @@ -490,6 +529,7 @@ public okhttp3.Call analyticsDataServiceGetAttributeValuesAsync(@javax.annotatio /** * Build call for analyticsDataServiceGetBreakdown * @param getBreakdownRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @param _callback Callback for upload/download progress * @return Call to execute * @throws ApiException If fail to serialize the request body object @@ -497,11 +537,12 @@ public okhttp3.Call analyticsDataServiceGetAttributeValuesAsync(@javax.annotatio - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call analyticsDataServiceGetBreakdownCall(@javax.annotation.Nonnull GetBreakdownRequest getBreakdownRequest, final ApiCallback _callback) throws ApiException { + public okhttp3.Call analyticsDataServiceGetBreakdownCall(@javax.annotation.Nonnull GetBreakdownRequest getBreakdownRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -542,64 +583,74 @@ public okhttp3.Call analyticsDataServiceGetBreakdownCall(@javax.annotation.Nonnu localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + if (idempotencyKey != null) { + localVarHeaderParams.put("Idempotency-Key", localVarApiClient.parameterToString(idempotencyKey)); + } + + + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; return localVarApiClient.buildCall(basePath, localVarPath, "POST", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @SuppressWarnings("rawtypes") - private okhttp3.Call analyticsDataServiceGetBreakdownValidateBeforeCall(@javax.annotation.Nonnull GetBreakdownRequest getBreakdownRequest, final ApiCallback _callback) throws ApiException { + private okhttp3.Call analyticsDataServiceGetBreakdownValidateBeforeCall(@javax.annotation.Nonnull GetBreakdownRequest getBreakdownRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { // verify the required parameter 'getBreakdownRequest' is set if (getBreakdownRequest == null) { throw new ApiException("Missing the required parameter 'getBreakdownRequest' when calling analyticsDataServiceGetBreakdown(Async)"); } - return analyticsDataServiceGetBreakdownCall(getBreakdownRequest, _callback); + return analyticsDataServiceGetBreakdownCall(getBreakdownRequest, idempotencyKey, _callback); } /** * Get dimension breakdown - * Returns a ranked breakdown of events by any dimension (browser, platform, device type, country, city, visit type). + * Returns a ranked breakdown of events by any dimension (browser, platform, device type, country, city, visit type). Requires the `analytics:read` scope. * @param getBreakdownRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return GetBreakdownResponse * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public GetBreakdownResponse analyticsDataServiceGetBreakdown(@javax.annotation.Nonnull GetBreakdownRequest getBreakdownRequest) throws ApiException { - ApiResponse localVarResp = analyticsDataServiceGetBreakdownWithHttpInfo(getBreakdownRequest); + public GetBreakdownResponse analyticsDataServiceGetBreakdown(@javax.annotation.Nonnull GetBreakdownRequest getBreakdownRequest, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + ApiResponse localVarResp = analyticsDataServiceGetBreakdownWithHttpInfo(getBreakdownRequest, idempotencyKey); return localVarResp.getData(); } /** * Get dimension breakdown - * Returns a ranked breakdown of events by any dimension (browser, platform, device type, country, city, visit type). + * Returns a ranked breakdown of events by any dimension (browser, platform, device type, country, city, visit type). Requires the `analytics:read` scope. * @param getBreakdownRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return ApiResponse<GetBreakdownResponse> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public ApiResponse analyticsDataServiceGetBreakdownWithHttpInfo(@javax.annotation.Nonnull GetBreakdownRequest getBreakdownRequest) throws ApiException { - okhttp3.Call localVarCall = analyticsDataServiceGetBreakdownValidateBeforeCall(getBreakdownRequest, null); + public ApiResponse analyticsDataServiceGetBreakdownWithHttpInfo(@javax.annotation.Nonnull GetBreakdownRequest getBreakdownRequest, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + okhttp3.Call localVarCall = analyticsDataServiceGetBreakdownValidateBeforeCall(getBreakdownRequest, idempotencyKey, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); } /** * Get dimension breakdown (asynchronously) - * Returns a ranked breakdown of events by any dimension (browser, platform, device type, country, city, visit type). + * Returns a ranked breakdown of events by any dimension (browser, platform, device type, country, city, visit type). Requires the `analytics:read` scope. * @param getBreakdownRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @param _callback The callback to be executed when the API call finishes * @return The request call * @throws ApiException If fail to process the API call, e.g. serializing the request body object @@ -607,13 +658,14 @@ public ApiResponse analyticsDataServiceGetBreakdownWithHtt - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call analyticsDataServiceGetBreakdownAsync(@javax.annotation.Nonnull GetBreakdownRequest getBreakdownRequest, final ApiCallback _callback) throws ApiException { + public okhttp3.Call analyticsDataServiceGetBreakdownAsync(@javax.annotation.Nonnull GetBreakdownRequest getBreakdownRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { - okhttp3.Call localVarCall = analyticsDataServiceGetBreakdownValidateBeforeCall(getBreakdownRequest, _callback); + okhttp3.Call localVarCall = analyticsDataServiceGetBreakdownValidateBeforeCall(getBreakdownRequest, idempotencyKey, _callback); Type localVarReturnType = new TypeToken(){}.getType(); localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); return localVarCall; @@ -621,6 +673,7 @@ public okhttp3.Call analyticsDataServiceGetBreakdownAsync(@javax.annotation.Nonn /** * Build call for analyticsDataServiceGetDeviceDistribution * @param getDeviceDistributionRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @param _callback Callback for upload/download progress * @return Call to execute * @throws ApiException If fail to serialize the request body object @@ -628,11 +681,12 @@ public okhttp3.Call analyticsDataServiceGetBreakdownAsync(@javax.annotation.Nonn - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call analyticsDataServiceGetDeviceDistributionCall(@javax.annotation.Nonnull GetDeviceDistributionRequest getDeviceDistributionRequest, final ApiCallback _callback) throws ApiException { + public okhttp3.Call analyticsDataServiceGetDeviceDistributionCall(@javax.annotation.Nonnull GetDeviceDistributionRequest getDeviceDistributionRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -673,64 +727,74 @@ public okhttp3.Call analyticsDataServiceGetDeviceDistributionCall(@javax.annotat localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + if (idempotencyKey != null) { + localVarHeaderParams.put("Idempotency-Key", localVarApiClient.parameterToString(idempotencyKey)); + } + + + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; return localVarApiClient.buildCall(basePath, localVarPath, "POST", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @SuppressWarnings("rawtypes") - private okhttp3.Call analyticsDataServiceGetDeviceDistributionValidateBeforeCall(@javax.annotation.Nonnull GetDeviceDistributionRequest getDeviceDistributionRequest, final ApiCallback _callback) throws ApiException { + private okhttp3.Call analyticsDataServiceGetDeviceDistributionValidateBeforeCall(@javax.annotation.Nonnull GetDeviceDistributionRequest getDeviceDistributionRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { // verify the required parameter 'getDeviceDistributionRequest' is set if (getDeviceDistributionRequest == null) { throw new ApiException("Missing the required parameter 'getDeviceDistributionRequest' when calling analyticsDataServiceGetDeviceDistribution(Async)"); } - return analyticsDataServiceGetDeviceDistributionCall(getDeviceDistributionRequest, _callback); + return analyticsDataServiceGetDeviceDistributionCall(getDeviceDistributionRequest, idempotencyKey, _callback); } /** * Get device distribution - * Retrieve event distribution across device types. + * Retrieve event distribution across device types. Requires the `analytics:read` scope. * @param getDeviceDistributionRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return GetDeviceDistributionResponse * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public GetDeviceDistributionResponse analyticsDataServiceGetDeviceDistribution(@javax.annotation.Nonnull GetDeviceDistributionRequest getDeviceDistributionRequest) throws ApiException { - ApiResponse localVarResp = analyticsDataServiceGetDeviceDistributionWithHttpInfo(getDeviceDistributionRequest); + public GetDeviceDistributionResponse analyticsDataServiceGetDeviceDistribution(@javax.annotation.Nonnull GetDeviceDistributionRequest getDeviceDistributionRequest, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + ApiResponse localVarResp = analyticsDataServiceGetDeviceDistributionWithHttpInfo(getDeviceDistributionRequest, idempotencyKey); return localVarResp.getData(); } /** * Get device distribution - * Retrieve event distribution across device types. + * Retrieve event distribution across device types. Requires the `analytics:read` scope. * @param getDeviceDistributionRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return ApiResponse<GetDeviceDistributionResponse> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public ApiResponse analyticsDataServiceGetDeviceDistributionWithHttpInfo(@javax.annotation.Nonnull GetDeviceDistributionRequest getDeviceDistributionRequest) throws ApiException { - okhttp3.Call localVarCall = analyticsDataServiceGetDeviceDistributionValidateBeforeCall(getDeviceDistributionRequest, null); + public ApiResponse analyticsDataServiceGetDeviceDistributionWithHttpInfo(@javax.annotation.Nonnull GetDeviceDistributionRequest getDeviceDistributionRequest, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + okhttp3.Call localVarCall = analyticsDataServiceGetDeviceDistributionValidateBeforeCall(getDeviceDistributionRequest, idempotencyKey, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); } /** * Get device distribution (asynchronously) - * Retrieve event distribution across device types. + * Retrieve event distribution across device types. Requires the `analytics:read` scope. * @param getDeviceDistributionRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @param _callback The callback to be executed when the API call finishes * @return The request call * @throws ApiException If fail to process the API call, e.g. serializing the request body object @@ -738,13 +802,14 @@ public ApiResponse analyticsDataServiceGetDeviceD - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call analyticsDataServiceGetDeviceDistributionAsync(@javax.annotation.Nonnull GetDeviceDistributionRequest getDeviceDistributionRequest, final ApiCallback _callback) throws ApiException { + public okhttp3.Call analyticsDataServiceGetDeviceDistributionAsync(@javax.annotation.Nonnull GetDeviceDistributionRequest getDeviceDistributionRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { - okhttp3.Call localVarCall = analyticsDataServiceGetDeviceDistributionValidateBeforeCall(getDeviceDistributionRequest, _callback); + okhttp3.Call localVarCall = analyticsDataServiceGetDeviceDistributionValidateBeforeCall(getDeviceDistributionRequest, idempotencyKey, _callback); Type localVarReturnType = new TypeToken(){}.getType(); localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); return localVarCall; @@ -752,6 +817,7 @@ public okhttp3.Call analyticsDataServiceGetDeviceDistributionAsync(@javax.annota /** * Build call for analyticsDataServiceGetGeoBreakdown * @param getGeoBreakdownRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @param _callback Callback for upload/download progress * @return Call to execute * @throws ApiException If fail to serialize the request body object @@ -759,11 +825,12 @@ public okhttp3.Call analyticsDataServiceGetDeviceDistributionAsync(@javax.annota - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call analyticsDataServiceGetGeoBreakdownCall(@javax.annotation.Nonnull GetGeoBreakdownRequest getGeoBreakdownRequest, final ApiCallback _callback) throws ApiException { + public okhttp3.Call analyticsDataServiceGetGeoBreakdownCall(@javax.annotation.Nonnull GetGeoBreakdownRequest getGeoBreakdownRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -804,64 +871,74 @@ public okhttp3.Call analyticsDataServiceGetGeoBreakdownCall(@javax.annotation.No localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + if (idempotencyKey != null) { + localVarHeaderParams.put("Idempotency-Key", localVarApiClient.parameterToString(idempotencyKey)); + } + + + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; return localVarApiClient.buildCall(basePath, localVarPath, "POST", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @SuppressWarnings("rawtypes") - private okhttp3.Call analyticsDataServiceGetGeoBreakdownValidateBeforeCall(@javax.annotation.Nonnull GetGeoBreakdownRequest getGeoBreakdownRequest, final ApiCallback _callback) throws ApiException { + private okhttp3.Call analyticsDataServiceGetGeoBreakdownValidateBeforeCall(@javax.annotation.Nonnull GetGeoBreakdownRequest getGeoBreakdownRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { // verify the required parameter 'getGeoBreakdownRequest' is set if (getGeoBreakdownRequest == null) { throw new ApiException("Missing the required parameter 'getGeoBreakdownRequest' when calling analyticsDataServiceGetGeoBreakdown(Async)"); } - return analyticsDataServiceGetGeoBreakdownCall(getGeoBreakdownRequest, _callback); + return analyticsDataServiceGetGeoBreakdownCall(getGeoBreakdownRequest, idempotencyKey, _callback); } /** * Get geographic breakdown - * Retrieve geographic distribution of events grouped by country or city. + * Retrieve geographic distribution of events grouped by country or city. Requires the `analytics:read` scope. * @param getGeoBreakdownRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return GetGeoBreakdownResponse * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public GetGeoBreakdownResponse analyticsDataServiceGetGeoBreakdown(@javax.annotation.Nonnull GetGeoBreakdownRequest getGeoBreakdownRequest) throws ApiException { - ApiResponse localVarResp = analyticsDataServiceGetGeoBreakdownWithHttpInfo(getGeoBreakdownRequest); + public GetGeoBreakdownResponse analyticsDataServiceGetGeoBreakdown(@javax.annotation.Nonnull GetGeoBreakdownRequest getGeoBreakdownRequest, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + ApiResponse localVarResp = analyticsDataServiceGetGeoBreakdownWithHttpInfo(getGeoBreakdownRequest, idempotencyKey); return localVarResp.getData(); } /** * Get geographic breakdown - * Retrieve geographic distribution of events grouped by country or city. + * Retrieve geographic distribution of events grouped by country or city. Requires the `analytics:read` scope. * @param getGeoBreakdownRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return ApiResponse<GetGeoBreakdownResponse> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public ApiResponse analyticsDataServiceGetGeoBreakdownWithHttpInfo(@javax.annotation.Nonnull GetGeoBreakdownRequest getGeoBreakdownRequest) throws ApiException { - okhttp3.Call localVarCall = analyticsDataServiceGetGeoBreakdownValidateBeforeCall(getGeoBreakdownRequest, null); + public ApiResponse analyticsDataServiceGetGeoBreakdownWithHttpInfo(@javax.annotation.Nonnull GetGeoBreakdownRequest getGeoBreakdownRequest, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + okhttp3.Call localVarCall = analyticsDataServiceGetGeoBreakdownValidateBeforeCall(getGeoBreakdownRequest, idempotencyKey, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); } /** * Get geographic breakdown (asynchronously) - * Retrieve geographic distribution of events grouped by country or city. + * Retrieve geographic distribution of events grouped by country or city. Requires the `analytics:read` scope. * @param getGeoBreakdownRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @param _callback The callback to be executed when the API call finishes * @return The request call * @throws ApiException If fail to process the API call, e.g. serializing the request body object @@ -869,13 +946,14 @@ public ApiResponse analyticsDataServiceGetGeoBreakdownW - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call analyticsDataServiceGetGeoBreakdownAsync(@javax.annotation.Nonnull GetGeoBreakdownRequest getGeoBreakdownRequest, final ApiCallback _callback) throws ApiException { + public okhttp3.Call analyticsDataServiceGetGeoBreakdownAsync(@javax.annotation.Nonnull GetGeoBreakdownRequest getGeoBreakdownRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { - okhttp3.Call localVarCall = analyticsDataServiceGetGeoBreakdownValidateBeforeCall(getGeoBreakdownRequest, _callback); + okhttp3.Call localVarCall = analyticsDataServiceGetGeoBreakdownValidateBeforeCall(getGeoBreakdownRequest, idempotencyKey, _callback); Type localVarReturnType = new TypeToken(){}.getType(); localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); return localVarCall; @@ -883,6 +961,7 @@ public okhttp3.Call analyticsDataServiceGetGeoBreakdownAsync(@javax.annotation.N /** * Build call for analyticsDataServiceGetGroupedTimeSeries * @param getGroupedTimeSeriesRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @param _callback Callback for upload/download progress * @return Call to execute * @throws ApiException If fail to serialize the request body object @@ -890,11 +969,12 @@ public okhttp3.Call analyticsDataServiceGetGeoBreakdownAsync(@javax.annotation.N - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call analyticsDataServiceGetGroupedTimeSeriesCall(@javax.annotation.Nonnull GetGroupedTimeSeriesRequest getGroupedTimeSeriesRequest, final ApiCallback _callback) throws ApiException { + public okhttp3.Call analyticsDataServiceGetGroupedTimeSeriesCall(@javax.annotation.Nonnull GetGroupedTimeSeriesRequest getGroupedTimeSeriesRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -935,64 +1015,74 @@ public okhttp3.Call analyticsDataServiceGetGroupedTimeSeriesCall(@javax.annotati localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + if (idempotencyKey != null) { + localVarHeaderParams.put("Idempotency-Key", localVarApiClient.parameterToString(idempotencyKey)); + } + + + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; return localVarApiClient.buildCall(basePath, localVarPath, "POST", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @SuppressWarnings("rawtypes") - private okhttp3.Call analyticsDataServiceGetGroupedTimeSeriesValidateBeforeCall(@javax.annotation.Nonnull GetGroupedTimeSeriesRequest getGroupedTimeSeriesRequest, final ApiCallback _callback) throws ApiException { + private okhttp3.Call analyticsDataServiceGetGroupedTimeSeriesValidateBeforeCall(@javax.annotation.Nonnull GetGroupedTimeSeriesRequest getGroupedTimeSeriesRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { // verify the required parameter 'getGroupedTimeSeriesRequest' is set if (getGroupedTimeSeriesRequest == null) { throw new ApiException("Missing the required parameter 'getGroupedTimeSeriesRequest' when calling analyticsDataServiceGetGroupedTimeSeries(Async)"); } - return analyticsDataServiceGetGroupedTimeSeriesCall(getGroupedTimeSeriesRequest, _callback); + return analyticsDataServiceGetGroupedTimeSeriesCall(getGroupedTimeSeriesRequest, idempotencyKey, _callback); } /** * Get grouped time series - * Retrieve time-bucketed event counts grouped by a dimension like country, city, device type, or visit type. + * Retrieve time-bucketed event counts grouped by a dimension like country, city, device type, or visit type. Requires the `analytics:read` scope. * @param getGroupedTimeSeriesRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return GetGroupedTimeSeriesResponse * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public GetGroupedTimeSeriesResponse analyticsDataServiceGetGroupedTimeSeries(@javax.annotation.Nonnull GetGroupedTimeSeriesRequest getGroupedTimeSeriesRequest) throws ApiException { - ApiResponse localVarResp = analyticsDataServiceGetGroupedTimeSeriesWithHttpInfo(getGroupedTimeSeriesRequest); + public GetGroupedTimeSeriesResponse analyticsDataServiceGetGroupedTimeSeries(@javax.annotation.Nonnull GetGroupedTimeSeriesRequest getGroupedTimeSeriesRequest, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + ApiResponse localVarResp = analyticsDataServiceGetGroupedTimeSeriesWithHttpInfo(getGroupedTimeSeriesRequest, idempotencyKey); return localVarResp.getData(); } /** * Get grouped time series - * Retrieve time-bucketed event counts grouped by a dimension like country, city, device type, or visit type. + * Retrieve time-bucketed event counts grouped by a dimension like country, city, device type, or visit type. Requires the `analytics:read` scope. * @param getGroupedTimeSeriesRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return ApiResponse<GetGroupedTimeSeriesResponse> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public ApiResponse analyticsDataServiceGetGroupedTimeSeriesWithHttpInfo(@javax.annotation.Nonnull GetGroupedTimeSeriesRequest getGroupedTimeSeriesRequest) throws ApiException { - okhttp3.Call localVarCall = analyticsDataServiceGetGroupedTimeSeriesValidateBeforeCall(getGroupedTimeSeriesRequest, null); + public ApiResponse analyticsDataServiceGetGroupedTimeSeriesWithHttpInfo(@javax.annotation.Nonnull GetGroupedTimeSeriesRequest getGroupedTimeSeriesRequest, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + okhttp3.Call localVarCall = analyticsDataServiceGetGroupedTimeSeriesValidateBeforeCall(getGroupedTimeSeriesRequest, idempotencyKey, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); } /** * Get grouped time series (asynchronously) - * Retrieve time-bucketed event counts grouped by a dimension like country, city, device type, or visit type. + * Retrieve time-bucketed event counts grouped by a dimension like country, city, device type, or visit type. Requires the `analytics:read` scope. * @param getGroupedTimeSeriesRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @param _callback The callback to be executed when the API call finishes * @return The request call * @throws ApiException If fail to process the API call, e.g. serializing the request body object @@ -1000,13 +1090,14 @@ public ApiResponse analyticsDataServiceGetGroupedT - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call analyticsDataServiceGetGroupedTimeSeriesAsync(@javax.annotation.Nonnull GetGroupedTimeSeriesRequest getGroupedTimeSeriesRequest, final ApiCallback _callback) throws ApiException { + public okhttp3.Call analyticsDataServiceGetGroupedTimeSeriesAsync(@javax.annotation.Nonnull GetGroupedTimeSeriesRequest getGroupedTimeSeriesRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { - okhttp3.Call localVarCall = analyticsDataServiceGetGroupedTimeSeriesValidateBeforeCall(getGroupedTimeSeriesRequest, _callback); + okhttp3.Call localVarCall = analyticsDataServiceGetGroupedTimeSeriesValidateBeforeCall(getGroupedTimeSeriesRequest, idempotencyKey, _callback); Type localVarReturnType = new TypeToken(){}.getType(); localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); return localVarCall; @@ -1014,6 +1105,7 @@ public okhttp3.Call analyticsDataServiceGetGroupedTimeSeriesAsync(@javax.annotat /** * Build call for analyticsDataServiceGetHourOfDayDistribution * @param getHourOfDayDistributionRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @param _callback Callback for upload/download progress * @return Call to execute * @throws ApiException If fail to serialize the request body object @@ -1021,11 +1113,12 @@ public okhttp3.Call analyticsDataServiceGetGroupedTimeSeriesAsync(@javax.annotat - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call analyticsDataServiceGetHourOfDayDistributionCall(@javax.annotation.Nonnull GetHourOfDayDistributionRequest getHourOfDayDistributionRequest, final ApiCallback _callback) throws ApiException { + public okhttp3.Call analyticsDataServiceGetHourOfDayDistributionCall(@javax.annotation.Nonnull GetHourOfDayDistributionRequest getHourOfDayDistributionRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -1066,64 +1159,74 @@ public okhttp3.Call analyticsDataServiceGetHourOfDayDistributionCall(@javax.anno localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + if (idempotencyKey != null) { + localVarHeaderParams.put("Idempotency-Key", localVarApiClient.parameterToString(idempotencyKey)); + } + + + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; return localVarApiClient.buildCall(basePath, localVarPath, "POST", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @SuppressWarnings("rawtypes") - private okhttp3.Call analyticsDataServiceGetHourOfDayDistributionValidateBeforeCall(@javax.annotation.Nonnull GetHourOfDayDistributionRequest getHourOfDayDistributionRequest, final ApiCallback _callback) throws ApiException { + private okhttp3.Call analyticsDataServiceGetHourOfDayDistributionValidateBeforeCall(@javax.annotation.Nonnull GetHourOfDayDistributionRequest getHourOfDayDistributionRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { // verify the required parameter 'getHourOfDayDistributionRequest' is set if (getHourOfDayDistributionRequest == null) { throw new ApiException("Missing the required parameter 'getHourOfDayDistributionRequest' when calling analyticsDataServiceGetHourOfDayDistribution(Async)"); } - return analyticsDataServiceGetHourOfDayDistributionCall(getHourOfDayDistributionRequest, _callback); + return analyticsDataServiceGetHourOfDayDistributionCall(getHourOfDayDistributionRequest, idempotencyKey, _callback); } /** * Get hour of day distribution - * Retrieve event counts aggregated by hour of day for identifying peak activity times. + * Retrieve event counts aggregated by hour of day for identifying peak activity times. Requires the `analytics:read` scope. * @param getHourOfDayDistributionRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return GetHourOfDayDistributionResponse * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public GetHourOfDayDistributionResponse analyticsDataServiceGetHourOfDayDistribution(@javax.annotation.Nonnull GetHourOfDayDistributionRequest getHourOfDayDistributionRequest) throws ApiException { - ApiResponse localVarResp = analyticsDataServiceGetHourOfDayDistributionWithHttpInfo(getHourOfDayDistributionRequest); + public GetHourOfDayDistributionResponse analyticsDataServiceGetHourOfDayDistribution(@javax.annotation.Nonnull GetHourOfDayDistributionRequest getHourOfDayDistributionRequest, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + ApiResponse localVarResp = analyticsDataServiceGetHourOfDayDistributionWithHttpInfo(getHourOfDayDistributionRequest, idempotencyKey); return localVarResp.getData(); } /** * Get hour of day distribution - * Retrieve event counts aggregated by hour of day for identifying peak activity times. + * Retrieve event counts aggregated by hour of day for identifying peak activity times. Requires the `analytics:read` scope. * @param getHourOfDayDistributionRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return ApiResponse<GetHourOfDayDistributionResponse> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public ApiResponse analyticsDataServiceGetHourOfDayDistributionWithHttpInfo(@javax.annotation.Nonnull GetHourOfDayDistributionRequest getHourOfDayDistributionRequest) throws ApiException { - okhttp3.Call localVarCall = analyticsDataServiceGetHourOfDayDistributionValidateBeforeCall(getHourOfDayDistributionRequest, null); + public ApiResponse analyticsDataServiceGetHourOfDayDistributionWithHttpInfo(@javax.annotation.Nonnull GetHourOfDayDistributionRequest getHourOfDayDistributionRequest, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + okhttp3.Call localVarCall = analyticsDataServiceGetHourOfDayDistributionValidateBeforeCall(getHourOfDayDistributionRequest, idempotencyKey, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); } /** * Get hour of day distribution (asynchronously) - * Retrieve event counts aggregated by hour of day for identifying peak activity times. + * Retrieve event counts aggregated by hour of day for identifying peak activity times. Requires the `analytics:read` scope. * @param getHourOfDayDistributionRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @param _callback The callback to be executed when the API call finishes * @return The request call * @throws ApiException If fail to process the API call, e.g. serializing the request body object @@ -1131,13 +1234,14 @@ public ApiResponse analyticsDataServiceGetHour - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call analyticsDataServiceGetHourOfDayDistributionAsync(@javax.annotation.Nonnull GetHourOfDayDistributionRequest getHourOfDayDistributionRequest, final ApiCallback _callback) throws ApiException { + public okhttp3.Call analyticsDataServiceGetHourOfDayDistributionAsync(@javax.annotation.Nonnull GetHourOfDayDistributionRequest getHourOfDayDistributionRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { - okhttp3.Call localVarCall = analyticsDataServiceGetHourOfDayDistributionValidateBeforeCall(getHourOfDayDistributionRequest, _callback); + okhttp3.Call localVarCall = analyticsDataServiceGetHourOfDayDistributionValidateBeforeCall(getHourOfDayDistributionRequest, idempotencyKey, _callback); Type localVarReturnType = new TypeToken(){}.getType(); localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); return localVarCall; @@ -1145,6 +1249,7 @@ public okhttp3.Call analyticsDataServiceGetHourOfDayDistributionAsync(@javax.ann /** * Build call for analyticsDataServiceGetStepFunnel * @param getStepFunnelRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @param _callback Callback for upload/download progress * @return Call to execute * @throws ApiException If fail to serialize the request body object @@ -1152,11 +1257,12 @@ public okhttp3.Call analyticsDataServiceGetHourOfDayDistributionAsync(@javax.ann - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call analyticsDataServiceGetStepFunnelCall(@javax.annotation.Nonnull GetStepFunnelRequest getStepFunnelRequest, final ApiCallback _callback) throws ApiException { + public okhttp3.Call analyticsDataServiceGetStepFunnelCall(@javax.annotation.Nonnull GetStepFunnelRequest getStepFunnelRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -1197,64 +1303,74 @@ public okhttp3.Call analyticsDataServiceGetStepFunnelCall(@javax.annotation.Nonn localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + if (idempotencyKey != null) { + localVarHeaderParams.put("Idempotency-Key", localVarApiClient.parameterToString(idempotencyKey)); + } + + + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; return localVarApiClient.buildCall(basePath, localVarPath, "POST", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @SuppressWarnings("rawtypes") - private okhttp3.Call analyticsDataServiceGetStepFunnelValidateBeforeCall(@javax.annotation.Nonnull GetStepFunnelRequest getStepFunnelRequest, final ApiCallback _callback) throws ApiException { + private okhttp3.Call analyticsDataServiceGetStepFunnelValidateBeforeCall(@javax.annotation.Nonnull GetStepFunnelRequest getStepFunnelRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { // verify the required parameter 'getStepFunnelRequest' is set if (getStepFunnelRequest == null) { throw new ApiException("Missing the required parameter 'getStepFunnelRequest' when calling analyticsDataServiceGetStepFunnel(Async)"); } - return analyticsDataServiceGetStepFunnelCall(getStepFunnelRequest, _callback); + return analyticsDataServiceGetStepFunnelCall(getStepFunnelRequest, idempotencyKey, _callback); } /** * Get workflow step funnel - * Returns the workflow steps visitors reached, in distinct visitors, ordered from arrival to exit, with the conversion rate and drop-off at each step. + * Returns the workflow steps visitors reached, in distinct visitors, ordered from arrival to exit, with the conversion rate and drop-off at each step. Requires the `analytics:read` scope. * @param getStepFunnelRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return GetStepFunnelResponse * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public GetStepFunnelResponse analyticsDataServiceGetStepFunnel(@javax.annotation.Nonnull GetStepFunnelRequest getStepFunnelRequest) throws ApiException { - ApiResponse localVarResp = analyticsDataServiceGetStepFunnelWithHttpInfo(getStepFunnelRequest); + public GetStepFunnelResponse analyticsDataServiceGetStepFunnel(@javax.annotation.Nonnull GetStepFunnelRequest getStepFunnelRequest, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + ApiResponse localVarResp = analyticsDataServiceGetStepFunnelWithHttpInfo(getStepFunnelRequest, idempotencyKey); return localVarResp.getData(); } /** * Get workflow step funnel - * Returns the workflow steps visitors reached, in distinct visitors, ordered from arrival to exit, with the conversion rate and drop-off at each step. + * Returns the workflow steps visitors reached, in distinct visitors, ordered from arrival to exit, with the conversion rate and drop-off at each step. Requires the `analytics:read` scope. * @param getStepFunnelRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return ApiResponse<GetStepFunnelResponse> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public ApiResponse analyticsDataServiceGetStepFunnelWithHttpInfo(@javax.annotation.Nonnull GetStepFunnelRequest getStepFunnelRequest) throws ApiException { - okhttp3.Call localVarCall = analyticsDataServiceGetStepFunnelValidateBeforeCall(getStepFunnelRequest, null); + public ApiResponse analyticsDataServiceGetStepFunnelWithHttpInfo(@javax.annotation.Nonnull GetStepFunnelRequest getStepFunnelRequest, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + okhttp3.Call localVarCall = analyticsDataServiceGetStepFunnelValidateBeforeCall(getStepFunnelRequest, idempotencyKey, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); } /** * Get workflow step funnel (asynchronously) - * Returns the workflow steps visitors reached, in distinct visitors, ordered from arrival to exit, with the conversion rate and drop-off at each step. + * Returns the workflow steps visitors reached, in distinct visitors, ordered from arrival to exit, with the conversion rate and drop-off at each step. Requires the `analytics:read` scope. * @param getStepFunnelRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @param _callback The callback to be executed when the API call finishes * @return The request call * @throws ApiException If fail to process the API call, e.g. serializing the request body object @@ -1262,13 +1378,14 @@ public ApiResponse analyticsDataServiceGetStepFunnelWithH - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call analyticsDataServiceGetStepFunnelAsync(@javax.annotation.Nonnull GetStepFunnelRequest getStepFunnelRequest, final ApiCallback _callback) throws ApiException { + public okhttp3.Call analyticsDataServiceGetStepFunnelAsync(@javax.annotation.Nonnull GetStepFunnelRequest getStepFunnelRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { - okhttp3.Call localVarCall = analyticsDataServiceGetStepFunnelValidateBeforeCall(getStepFunnelRequest, _callback); + okhttp3.Call localVarCall = analyticsDataServiceGetStepFunnelValidateBeforeCall(getStepFunnelRequest, idempotencyKey, _callback); Type localVarReturnType = new TypeToken(){}.getType(); localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); return localVarCall; @@ -1276,6 +1393,7 @@ public okhttp3.Call analyticsDataServiceGetStepFunnelAsync(@javax.annotation.Non /** * Build call for analyticsDataServiceGetTopLinks * @param getTopLinksRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @param _callback Callback for upload/download progress * @return Call to execute * @throws ApiException If fail to serialize the request body object @@ -1283,11 +1401,12 @@ public okhttp3.Call analyticsDataServiceGetStepFunnelAsync(@javax.annotation.Non - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call analyticsDataServiceGetTopLinksCall(@javax.annotation.Nonnull GetTopLinksRequest getTopLinksRequest, final ApiCallback _callback) throws ApiException { + public okhttp3.Call analyticsDataServiceGetTopLinksCall(@javax.annotation.Nonnull GetTopLinksRequest getTopLinksRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -1328,64 +1447,74 @@ public okhttp3.Call analyticsDataServiceGetTopLinksCall(@javax.annotation.Nonnul localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + if (idempotencyKey != null) { + localVarHeaderParams.put("Idempotency-Key", localVarApiClient.parameterToString(idempotencyKey)); + } + + + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; return localVarApiClient.buildCall(basePath, localVarPath, "POST", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @SuppressWarnings("rawtypes") - private okhttp3.Call analyticsDataServiceGetTopLinksValidateBeforeCall(@javax.annotation.Nonnull GetTopLinksRequest getTopLinksRequest, final ApiCallback _callback) throws ApiException { + private okhttp3.Call analyticsDataServiceGetTopLinksValidateBeforeCall(@javax.annotation.Nonnull GetTopLinksRequest getTopLinksRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { // verify the required parameter 'getTopLinksRequest' is set if (getTopLinksRequest == null) { throw new ApiException("Missing the required parameter 'getTopLinksRequest' when calling analyticsDataServiceGetTopLinks(Async)"); } - return analyticsDataServiceGetTopLinksCall(getTopLinksRequest, _callback); + return analyticsDataServiceGetTopLinksCall(getTopLinksRequest, idempotencyKey, _callback); } /** * Get top performing links - * Retrieve links ranked by event count for identifying best performing QR codes and links. + * Retrieve links ranked by event count for identifying best performing QR codes and links. Requires the `analytics:read` scope. * @param getTopLinksRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return GetTopLinksResponse * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public GetTopLinksResponse analyticsDataServiceGetTopLinks(@javax.annotation.Nonnull GetTopLinksRequest getTopLinksRequest) throws ApiException { - ApiResponse localVarResp = analyticsDataServiceGetTopLinksWithHttpInfo(getTopLinksRequest); + public GetTopLinksResponse analyticsDataServiceGetTopLinks(@javax.annotation.Nonnull GetTopLinksRequest getTopLinksRequest, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + ApiResponse localVarResp = analyticsDataServiceGetTopLinksWithHttpInfo(getTopLinksRequest, idempotencyKey); return localVarResp.getData(); } /** * Get top performing links - * Retrieve links ranked by event count for identifying best performing QR codes and links. + * Retrieve links ranked by event count for identifying best performing QR codes and links. Requires the `analytics:read` scope. * @param getTopLinksRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return ApiResponse<GetTopLinksResponse> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public ApiResponse analyticsDataServiceGetTopLinksWithHttpInfo(@javax.annotation.Nonnull GetTopLinksRequest getTopLinksRequest) throws ApiException { - okhttp3.Call localVarCall = analyticsDataServiceGetTopLinksValidateBeforeCall(getTopLinksRequest, null); + public ApiResponse analyticsDataServiceGetTopLinksWithHttpInfo(@javax.annotation.Nonnull GetTopLinksRequest getTopLinksRequest, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + okhttp3.Call localVarCall = analyticsDataServiceGetTopLinksValidateBeforeCall(getTopLinksRequest, idempotencyKey, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); } /** * Get top performing links (asynchronously) - * Retrieve links ranked by event count for identifying best performing QR codes and links. + * Retrieve links ranked by event count for identifying best performing QR codes and links. Requires the `analytics:read` scope. * @param getTopLinksRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @param _callback The callback to be executed when the API call finishes * @return The request call * @throws ApiException If fail to process the API call, e.g. serializing the request body object @@ -1393,13 +1522,14 @@ public ApiResponse analyticsDataServiceGetTopLinksWithHttpI - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call analyticsDataServiceGetTopLinksAsync(@javax.annotation.Nonnull GetTopLinksRequest getTopLinksRequest, final ApiCallback _callback) throws ApiException { + public okhttp3.Call analyticsDataServiceGetTopLinksAsync(@javax.annotation.Nonnull GetTopLinksRequest getTopLinksRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { - okhttp3.Call localVarCall = analyticsDataServiceGetTopLinksValidateBeforeCall(getTopLinksRequest, _callback); + okhttp3.Call localVarCall = analyticsDataServiceGetTopLinksValidateBeforeCall(getTopLinksRequest, idempotencyKey, _callback); Type localVarReturnType = new TypeToken(){}.getType(); localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); return localVarCall; @@ -1407,6 +1537,7 @@ public okhttp3.Call analyticsDataServiceGetTopLinksAsync(@javax.annotation.Nonnu /** * Build call for analyticsDataServiceGetVisitorTrends * @param getVisitorTrendsRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @param _callback Callback for upload/download progress * @return Call to execute * @throws ApiException If fail to serialize the request body object @@ -1414,11 +1545,12 @@ public okhttp3.Call analyticsDataServiceGetTopLinksAsync(@javax.annotation.Nonnu - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call analyticsDataServiceGetVisitorTrendsCall(@javax.annotation.Nonnull GetVisitorTrendsRequest getVisitorTrendsRequest, final ApiCallback _callback) throws ApiException { + public okhttp3.Call analyticsDataServiceGetVisitorTrendsCall(@javax.annotation.Nonnull GetVisitorTrendsRequest getVisitorTrendsRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -1459,64 +1591,74 @@ public okhttp3.Call analyticsDataServiceGetVisitorTrendsCall(@javax.annotation.N localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + if (idempotencyKey != null) { + localVarHeaderParams.put("Idempotency-Key", localVarApiClient.parameterToString(idempotencyKey)); + } + + + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; return localVarApiClient.buildCall(basePath, localVarPath, "POST", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @SuppressWarnings("rawtypes") - private okhttp3.Call analyticsDataServiceGetVisitorTrendsValidateBeforeCall(@javax.annotation.Nonnull GetVisitorTrendsRequest getVisitorTrendsRequest, final ApiCallback _callback) throws ApiException { + private okhttp3.Call analyticsDataServiceGetVisitorTrendsValidateBeforeCall(@javax.annotation.Nonnull GetVisitorTrendsRequest getVisitorTrendsRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { // verify the required parameter 'getVisitorTrendsRequest' is set if (getVisitorTrendsRequest == null) { throw new ApiException("Missing the required parameter 'getVisitorTrendsRequest' when calling analyticsDataServiceGetVisitorTrends(Async)"); } - return analyticsDataServiceGetVisitorTrendsCall(getVisitorTrendsRequest, _callback); + return analyticsDataServiceGetVisitorTrendsCall(getVisitorTrendsRequest, idempotencyKey, _callback); } /** * Get visitor trends - * Retrieve new vs returning visitor counts over time. + * Retrieve new vs returning visitor counts over time. Requires the `analytics:read` scope. * @param getVisitorTrendsRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return GetVisitorTrendsResponse * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public GetVisitorTrendsResponse analyticsDataServiceGetVisitorTrends(@javax.annotation.Nonnull GetVisitorTrendsRequest getVisitorTrendsRequest) throws ApiException { - ApiResponse localVarResp = analyticsDataServiceGetVisitorTrendsWithHttpInfo(getVisitorTrendsRequest); + public GetVisitorTrendsResponse analyticsDataServiceGetVisitorTrends(@javax.annotation.Nonnull GetVisitorTrendsRequest getVisitorTrendsRequest, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + ApiResponse localVarResp = analyticsDataServiceGetVisitorTrendsWithHttpInfo(getVisitorTrendsRequest, idempotencyKey); return localVarResp.getData(); } /** * Get visitor trends - * Retrieve new vs returning visitor counts over time. + * Retrieve new vs returning visitor counts over time. Requires the `analytics:read` scope. * @param getVisitorTrendsRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return ApiResponse<GetVisitorTrendsResponse> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public ApiResponse analyticsDataServiceGetVisitorTrendsWithHttpInfo(@javax.annotation.Nonnull GetVisitorTrendsRequest getVisitorTrendsRequest) throws ApiException { - okhttp3.Call localVarCall = analyticsDataServiceGetVisitorTrendsValidateBeforeCall(getVisitorTrendsRequest, null); + public ApiResponse analyticsDataServiceGetVisitorTrendsWithHttpInfo(@javax.annotation.Nonnull GetVisitorTrendsRequest getVisitorTrendsRequest, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + okhttp3.Call localVarCall = analyticsDataServiceGetVisitorTrendsValidateBeforeCall(getVisitorTrendsRequest, idempotencyKey, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); } /** * Get visitor trends (asynchronously) - * Retrieve new vs returning visitor counts over time. + * Retrieve new vs returning visitor counts over time. Requires the `analytics:read` scope. * @param getVisitorTrendsRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @param _callback The callback to be executed when the API call finishes * @return The request call * @throws ApiException If fail to process the API call, e.g. serializing the request body object @@ -1524,13 +1666,14 @@ public ApiResponse analyticsDataServiceGetVisitorTrend - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call analyticsDataServiceGetVisitorTrendsAsync(@javax.annotation.Nonnull GetVisitorTrendsRequest getVisitorTrendsRequest, final ApiCallback _callback) throws ApiException { + public okhttp3.Call analyticsDataServiceGetVisitorTrendsAsync(@javax.annotation.Nonnull GetVisitorTrendsRequest getVisitorTrendsRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { - okhttp3.Call localVarCall = analyticsDataServiceGetVisitorTrendsValidateBeforeCall(getVisitorTrendsRequest, _callback); + okhttp3.Call localVarCall = analyticsDataServiceGetVisitorTrendsValidateBeforeCall(getVisitorTrendsRequest, idempotencyKey, _callback); Type localVarReturnType = new TypeToken(){}.getType(); localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); return localVarCall; diff --git a/src/main/java/com/linkbreakers/api/ApiScopesApi.java b/src/main/java/com/linkbreakers/api/ApiScopesApi.java new file mode 100644 index 000000000..08298e4c1 --- /dev/null +++ b/src/main/java/com/linkbreakers/api/ApiScopesApi.java @@ -0,0 +1,201 @@ +/* + * Linkbreakers API + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. + * + * The version of the OpenAPI document: 1.158.2 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.linkbreakers.api; + +import com.linkbreakers.ApiCallback; +import com.linkbreakers.ApiClient; +import com.linkbreakers.ApiException; +import com.linkbreakers.ApiResponse; +import com.linkbreakers.Configuration; +import com.linkbreakers.Pair; +import com.linkbreakers.ProgressRequestBody; +import com.linkbreakers.ProgressResponseBody; + +import com.google.gson.reflect.TypeToken; + +import java.io.IOException; + + +import com.linkbreakers.model.ErrorResponse; +import com.linkbreakers.model.ListApiScopesResponse; + +import java.lang.reflect.Type; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +public class ApiScopesApi { + private ApiClient localVarApiClient; + private int localHostIndex; + private String localCustomBaseUrl; + + public ApiScopesApi() { + this(Configuration.getDefaultApiClient()); + } + + public ApiScopesApi(ApiClient apiClient) { + this.localVarApiClient = apiClient; + } + + public ApiClient getApiClient() { + return localVarApiClient; + } + + public void setApiClient(ApiClient apiClient) { + this.localVarApiClient = apiClient; + } + + public int getHostIndex() { + return localHostIndex; + } + + public void setHostIndex(int hostIndex) { + this.localHostIndex = hostIndex; + } + + public String getCustomBaseUrl() { + return localCustomBaseUrl; + } + + public void setCustomBaseUrl(String customBaseUrl) { + this.localCustomBaseUrl = customBaseUrl; + } + + /** + * Build call for workspaceTokensServiceListApiScopes + * @param _callback Callback for upload/download progress + * @return Call to execute + * @throws ApiException If fail to serialize the request body object + * @http.response.details + + + + + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
+ */ + public okhttp3.Call workspaceTokensServiceListApiScopesCall(final ApiCallback _callback) throws ApiException { + String basePath = null; + // Operation Servers + String[] localBasePaths = new String[] { }; + + // Determine Base Path to Use + if (localCustomBaseUrl != null){ + basePath = localCustomBaseUrl; + } else if ( localBasePaths.length > 0 ) { + basePath = localBasePaths[localHostIndex]; + } else { + basePath = null; + } + + Object localVarPostBody = null; + + // create path and map variables + String localVarPath = "/v1/api-scopes"; + + List localVarQueryParams = new ArrayList(); + List localVarCollectionQueryParams = new ArrayList(); + Map localVarHeaderParams = new HashMap(); + Map localVarCookieParams = new HashMap(); + Map localVarFormParams = new HashMap(); + + final String[] localVarAccepts = { + "application/json" + }; + final String localVarAccept = localVarApiClient.selectHeaderAccept(localVarAccepts); + if (localVarAccept != null) { + localVarHeaderParams.put("Accept", localVarAccept); + } + + final String[] localVarContentTypes = { + }; + final String localVarContentType = localVarApiClient.selectHeaderContentType(localVarContentTypes); + if (localVarContentType != null) { + localVarHeaderParams.put("Content-Type", localVarContentType); + } + + String[] localVarAuthNames = new String[] { }; + return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); + } + + @SuppressWarnings("rawtypes") + private okhttp3.Call workspaceTokensServiceListApiScopesValidateBeforeCall(final ApiCallback _callback) throws ApiException { + return workspaceTokensServiceListApiScopesCall(_callback); + + } + + /** + * List API scopes + * List every scope an API token or OAuth grant can hold, with the resource it covers and what it allows. Needs no authentication. + * @return ListApiScopesResponse + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + + + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
+ */ + public ListApiScopesResponse workspaceTokensServiceListApiScopes() throws ApiException { + ApiResponse localVarResp = workspaceTokensServiceListApiScopesWithHttpInfo(); + return localVarResp.getData(); + } + + /** + * List API scopes + * List every scope an API token or OAuth grant can hold, with the resource it covers and what it allows. Needs no authentication. + * @return ApiResponse<ListApiScopesResponse> + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + + + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
+ */ + public ApiResponse workspaceTokensServiceListApiScopesWithHttpInfo() throws ApiException { + okhttp3.Call localVarCall = workspaceTokensServiceListApiScopesValidateBeforeCall(null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * List API scopes (asynchronously) + * List every scope an API token or OAuth grant can hold, with the resource it covers and what it allows. Needs no authentication. + * @param _callback The callback to be executed when the API call finishes + * @return The request call + * @throws ApiException If fail to process the API call, e.g. serializing the request body object + * @http.response.details + + + + + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
+ */ + public okhttp3.Call workspaceTokensServiceListApiScopesAsync(final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = workspaceTokensServiceListApiScopesValidateBeforeCall(_callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } +} diff --git a/src/main/java/com/linkbreakers/api/AssistantApi.java b/src/main/java/com/linkbreakers/api/AssistantApi.java index f3b18447d..b5b7b9e98 100644 --- a/src/main/java/com/linkbreakers/api/AssistantApi.java +++ b/src/main/java/com/linkbreakers/api/AssistantApi.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -88,8 +88,9 @@ public void setCustomBaseUrl(String customBaseUrl) { - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public okhttp3.Call assistantServiceClearConversationCall(@javax.annotation.Nullable String contextType, @javax.annotation.Nullable String contextId, final ApiCallback _callback) throws ApiException { @@ -140,7 +141,7 @@ public okhttp3.Call assistantServiceClearConversationCall(@javax.annotation.Null localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; return localVarApiClient.buildCall(basePath, localVarPath, "DELETE", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @@ -152,7 +153,7 @@ private okhttp3.Call assistantServiceClearConversationValidateBeforeCall(@javax. /** * Clear assistant conversation - * Clear the conversation history for a specific context. + * Clear the conversation history for a specific context. Requires the `assistant:write` scope. * @param contextType - ASSISTANT_CONTEXT_TYPE_LINK_ANALYTICS: Building a link's analytics dashboard. context_id is the LINK id, not a dashboard id — the dashboard does not exist yet while the user and the assistant are still agreeing on what it should show. Once it exists, editing it happens under ASSISTANT_CONTEXT_TYPE_ANALYTICS_DASHBOARD instead. - ASSISTANT_CONTEXT_TYPE_WORKSPACE: The workspace-wide assistant, with no resource selected. The context id is the WORKSPACE id: this thread is not about any one link, dashboard or design, and every capability the resource-scoped assistants have is available from it. One conversation per workspace, so it survives navigation. (optional) * @param contextId (optional) * @return Object @@ -161,8 +162,9 @@ private okhttp3.Call assistantServiceClearConversationValidateBeforeCall(@javax. - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public Object assistantServiceClearConversation(@javax.annotation.Nullable String contextType, @javax.annotation.Nullable String contextId) throws ApiException { @@ -172,7 +174,7 @@ public Object assistantServiceClearConversation(@javax.annotation.Nullable Strin /** * Clear assistant conversation - * Clear the conversation history for a specific context. + * Clear the conversation history for a specific context. Requires the `assistant:write` scope. * @param contextType - ASSISTANT_CONTEXT_TYPE_LINK_ANALYTICS: Building a link's analytics dashboard. context_id is the LINK id, not a dashboard id — the dashboard does not exist yet while the user and the assistant are still agreeing on what it should show. Once it exists, editing it happens under ASSISTANT_CONTEXT_TYPE_ANALYTICS_DASHBOARD instead. - ASSISTANT_CONTEXT_TYPE_WORKSPACE: The workspace-wide assistant, with no resource selected. The context id is the WORKSPACE id: this thread is not about any one link, dashboard or design, and every capability the resource-scoped assistants have is available from it. One conversation per workspace, so it survives navigation. (optional) * @param contextId (optional) * @return ApiResponse<Object> @@ -181,8 +183,9 @@ public Object assistantServiceClearConversation(@javax.annotation.Nullable Strin - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public ApiResponse assistantServiceClearConversationWithHttpInfo(@javax.annotation.Nullable String contextType, @javax.annotation.Nullable String contextId) throws ApiException { @@ -193,7 +196,7 @@ public ApiResponse assistantServiceClearConversationWithHttpInfo(@javax. /** * Clear assistant conversation (asynchronously) - * Clear the conversation history for a specific context. + * Clear the conversation history for a specific context. Requires the `assistant:write` scope. * @param contextType - ASSISTANT_CONTEXT_TYPE_LINK_ANALYTICS: Building a link's analytics dashboard. context_id is the LINK id, not a dashboard id — the dashboard does not exist yet while the user and the assistant are still agreeing on what it should show. Once it exists, editing it happens under ASSISTANT_CONTEXT_TYPE_ANALYTICS_DASHBOARD instead. - ASSISTANT_CONTEXT_TYPE_WORKSPACE: The workspace-wide assistant, with no resource selected. The context id is the WORKSPACE id: this thread is not about any one link, dashboard or design, and every capability the resource-scoped assistants have is available from it. One conversation per workspace, so it survives navigation. (optional) * @param contextId (optional) * @param _callback The callback to be executed when the API call finishes @@ -203,8 +206,9 @@ public ApiResponse assistantServiceClearConversationWithHttpInfo(@javax. - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public okhttp3.Call assistantServiceClearConversationAsync(@javax.annotation.Nullable String contextType, @javax.annotation.Nullable String contextId, final ApiCallback _callback) throws ApiException { @@ -225,8 +229,9 @@ public okhttp3.Call assistantServiceClearConversationAsync(@javax.annotation.Nul - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public okhttp3.Call assistantServiceGetConversationCall(@javax.annotation.Nullable String contextType, @javax.annotation.Nullable String contextId, final ApiCallback _callback) throws ApiException { @@ -277,7 +282,7 @@ public okhttp3.Call assistantServiceGetConversationCall(@javax.annotation.Nullab localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @@ -289,7 +294,7 @@ private okhttp3.Call assistantServiceGetConversationValidateBeforeCall(@javax.an /** * Get assistant conversation - * Get the display-ready chat history for a specific context. + * Get the display-ready chat history for a specific context. Requires the `assistant:read` scope. * @param contextType - ASSISTANT_CONTEXT_TYPE_LINK_ANALYTICS: Building a link's analytics dashboard. context_id is the LINK id, not a dashboard id — the dashboard does not exist yet while the user and the assistant are still agreeing on what it should show. Once it exists, editing it happens under ASSISTANT_CONTEXT_TYPE_ANALYTICS_DASHBOARD instead. - ASSISTANT_CONTEXT_TYPE_WORKSPACE: The workspace-wide assistant, with no resource selected. The context id is the WORKSPACE id: this thread is not about any one link, dashboard or design, and every capability the resource-scoped assistants have is available from it. One conversation per workspace, so it survives navigation. (optional) * @param contextId (optional) * @return AssistantGetConversationResponse @@ -298,8 +303,9 @@ private okhttp3.Call assistantServiceGetConversationValidateBeforeCall(@javax.an - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public AssistantGetConversationResponse assistantServiceGetConversation(@javax.annotation.Nullable String contextType, @javax.annotation.Nullable String contextId) throws ApiException { @@ -309,7 +315,7 @@ public AssistantGetConversationResponse assistantServiceGetConversation(@javax.a /** * Get assistant conversation - * Get the display-ready chat history for a specific context. + * Get the display-ready chat history for a specific context. Requires the `assistant:read` scope. * @param contextType - ASSISTANT_CONTEXT_TYPE_LINK_ANALYTICS: Building a link's analytics dashboard. context_id is the LINK id, not a dashboard id — the dashboard does not exist yet while the user and the assistant are still agreeing on what it should show. Once it exists, editing it happens under ASSISTANT_CONTEXT_TYPE_ANALYTICS_DASHBOARD instead. - ASSISTANT_CONTEXT_TYPE_WORKSPACE: The workspace-wide assistant, with no resource selected. The context id is the WORKSPACE id: this thread is not about any one link, dashboard or design, and every capability the resource-scoped assistants have is available from it. One conversation per workspace, so it survives navigation. (optional) * @param contextId (optional) * @return ApiResponse<AssistantGetConversationResponse> @@ -318,8 +324,9 @@ public AssistantGetConversationResponse assistantServiceGetConversation(@javax.a - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public ApiResponse assistantServiceGetConversationWithHttpInfo(@javax.annotation.Nullable String contextType, @javax.annotation.Nullable String contextId) throws ApiException { @@ -330,7 +337,7 @@ public ApiResponse assistantServiceGetConversa /** * Get assistant conversation (asynchronously) - * Get the display-ready chat history for a specific context. + * Get the display-ready chat history for a specific context. Requires the `assistant:read` scope. * @param contextType - ASSISTANT_CONTEXT_TYPE_LINK_ANALYTICS: Building a link's analytics dashboard. context_id is the LINK id, not a dashboard id — the dashboard does not exist yet while the user and the assistant are still agreeing on what it should show. Once it exists, editing it happens under ASSISTANT_CONTEXT_TYPE_ANALYTICS_DASHBOARD instead. - ASSISTANT_CONTEXT_TYPE_WORKSPACE: The workspace-wide assistant, with no resource selected. The context id is the WORKSPACE id: this thread is not about any one link, dashboard or design, and every capability the resource-scoped assistants have is available from it. One conversation per workspace, so it survives navigation. (optional) * @param contextId (optional) * @param _callback The callback to be executed when the API call finishes @@ -340,8 +347,9 @@ public ApiResponse assistantServiceGetConversa - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public okhttp3.Call assistantServiceGetConversationAsync(@javax.annotation.Nullable String contextType, @javax.annotation.Nullable String contextId, final ApiCallback _callback) throws ApiException { @@ -354,6 +362,7 @@ public okhttp3.Call assistantServiceGetConversationAsync(@javax.annotation.Nulla /** * Build call for assistantServiceMarkConversationRead * @param assistantMarkConversationReadRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @param _callback Callback for upload/download progress * @return Call to execute * @throws ApiException If fail to serialize the request body object @@ -361,11 +370,12 @@ public okhttp3.Call assistantServiceGetConversationAsync(@javax.annotation.Nulla - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call assistantServiceMarkConversationReadCall(@javax.annotation.Nonnull AssistantMarkConversationReadRequest assistantMarkConversationReadRequest, final ApiCallback _callback) throws ApiException { + public okhttp3.Call assistantServiceMarkConversationReadCall(@javax.annotation.Nonnull AssistantMarkConversationReadRequest assistantMarkConversationReadRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -406,64 +416,74 @@ public okhttp3.Call assistantServiceMarkConversationReadCall(@javax.annotation.N localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + if (idempotencyKey != null) { + localVarHeaderParams.put("Idempotency-Key", localVarApiClient.parameterToString(idempotencyKey)); + } + + + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; return localVarApiClient.buildCall(basePath, localVarPath, "POST", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @SuppressWarnings("rawtypes") - private okhttp3.Call assistantServiceMarkConversationReadValidateBeforeCall(@javax.annotation.Nonnull AssistantMarkConversationReadRequest assistantMarkConversationReadRequest, final ApiCallback _callback) throws ApiException { + private okhttp3.Call assistantServiceMarkConversationReadValidateBeforeCall(@javax.annotation.Nonnull AssistantMarkConversationReadRequest assistantMarkConversationReadRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { // verify the required parameter 'assistantMarkConversationReadRequest' is set if (assistantMarkConversationReadRequest == null) { throw new ApiException("Missing the required parameter 'assistantMarkConversationReadRequest' when calling assistantServiceMarkConversationRead(Async)"); } - return assistantServiceMarkConversationReadCall(assistantMarkConversationReadRequest, _callback); + return assistantServiceMarkConversationReadCall(assistantMarkConversationReadRequest, idempotencyKey, _callback); } /** * Mark assistant conversation read - * Record that the member has seen every assistant reply in this conversation. Call it when the thread is actually on screen, not when history is fetched. + * Record that the member has seen every assistant reply in this conversation. Call it when the thread is actually on screen, not when history is fetched. Requires the `assistant:write` scope. * @param assistantMarkConversationReadRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return AssistantMarkConversationReadResponse * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public AssistantMarkConversationReadResponse assistantServiceMarkConversationRead(@javax.annotation.Nonnull AssistantMarkConversationReadRequest assistantMarkConversationReadRequest) throws ApiException { - ApiResponse localVarResp = assistantServiceMarkConversationReadWithHttpInfo(assistantMarkConversationReadRequest); + public AssistantMarkConversationReadResponse assistantServiceMarkConversationRead(@javax.annotation.Nonnull AssistantMarkConversationReadRequest assistantMarkConversationReadRequest, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + ApiResponse localVarResp = assistantServiceMarkConversationReadWithHttpInfo(assistantMarkConversationReadRequest, idempotencyKey); return localVarResp.getData(); } /** * Mark assistant conversation read - * Record that the member has seen every assistant reply in this conversation. Call it when the thread is actually on screen, not when history is fetched. + * Record that the member has seen every assistant reply in this conversation. Call it when the thread is actually on screen, not when history is fetched. Requires the `assistant:write` scope. * @param assistantMarkConversationReadRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return ApiResponse<AssistantMarkConversationReadResponse> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public ApiResponse assistantServiceMarkConversationReadWithHttpInfo(@javax.annotation.Nonnull AssistantMarkConversationReadRequest assistantMarkConversationReadRequest) throws ApiException { - okhttp3.Call localVarCall = assistantServiceMarkConversationReadValidateBeforeCall(assistantMarkConversationReadRequest, null); + public ApiResponse assistantServiceMarkConversationReadWithHttpInfo(@javax.annotation.Nonnull AssistantMarkConversationReadRequest assistantMarkConversationReadRequest, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + okhttp3.Call localVarCall = assistantServiceMarkConversationReadValidateBeforeCall(assistantMarkConversationReadRequest, idempotencyKey, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); } /** * Mark assistant conversation read (asynchronously) - * Record that the member has seen every assistant reply in this conversation. Call it when the thread is actually on screen, not when history is fetched. + * Record that the member has seen every assistant reply in this conversation. Call it when the thread is actually on screen, not when history is fetched. Requires the `assistant:write` scope. * @param assistantMarkConversationReadRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @param _callback The callback to be executed when the API call finishes * @return The request call * @throws ApiException If fail to process the API call, e.g. serializing the request body object @@ -471,13 +491,14 @@ public ApiResponse assistantServiceMarkCo - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call assistantServiceMarkConversationReadAsync(@javax.annotation.Nonnull AssistantMarkConversationReadRequest assistantMarkConversationReadRequest, final ApiCallback _callback) throws ApiException { + public okhttp3.Call assistantServiceMarkConversationReadAsync(@javax.annotation.Nonnull AssistantMarkConversationReadRequest assistantMarkConversationReadRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { - okhttp3.Call localVarCall = assistantServiceMarkConversationReadValidateBeforeCall(assistantMarkConversationReadRequest, _callback); + okhttp3.Call localVarCall = assistantServiceMarkConversationReadValidateBeforeCall(assistantMarkConversationReadRequest, idempotencyKey, _callback); Type localVarReturnType = new TypeToken(){}.getType(); localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); return localVarCall; @@ -485,6 +506,7 @@ public okhttp3.Call assistantServiceMarkConversationReadAsync(@javax.annotation. /** * Build call for assistantServiceUploadFile * @param assistantUploadFileRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @param _callback Callback for upload/download progress * @return Call to execute * @throws ApiException If fail to serialize the request body object @@ -492,11 +514,12 @@ public okhttp3.Call assistantServiceMarkConversationReadAsync(@javax.annotation. - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call assistantServiceUploadFileCall(@javax.annotation.Nonnull AssistantUploadFileRequest assistantUploadFileRequest, final ApiCallback _callback) throws ApiException { + public okhttp3.Call assistantServiceUploadFileCall(@javax.annotation.Nonnull AssistantUploadFileRequest assistantUploadFileRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -537,64 +560,74 @@ public okhttp3.Call assistantServiceUploadFileCall(@javax.annotation.Nonnull Ass localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + if (idempotencyKey != null) { + localVarHeaderParams.put("Idempotency-Key", localVarApiClient.parameterToString(idempotencyKey)); + } + + + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; return localVarApiClient.buildCall(basePath, localVarPath, "POST", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @SuppressWarnings("rawtypes") - private okhttp3.Call assistantServiceUploadFileValidateBeforeCall(@javax.annotation.Nonnull AssistantUploadFileRequest assistantUploadFileRequest, final ApiCallback _callback) throws ApiException { + private okhttp3.Call assistantServiceUploadFileValidateBeforeCall(@javax.annotation.Nonnull AssistantUploadFileRequest assistantUploadFileRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { // verify the required parameter 'assistantUploadFileRequest' is set if (assistantUploadFileRequest == null) { throw new ApiException("Missing the required parameter 'assistantUploadFileRequest' when calling assistantServiceUploadFile(Async)"); } - return assistantServiceUploadFileCall(assistantUploadFileRequest, _callback); + return assistantServiceUploadFileCall(assistantUploadFileRequest, idempotencyKey, _callback); } /** * Upload file for assistant chat - * Upload a file to attach to the next assistant message. Returns a temporary file ID. Files expire after 5 minutes. Max 20MB. + * Upload a file to attach to the next assistant message. Returns a temporary file ID. Files expire after 5 minutes. Max 20MB. Requires the `assistant:write` scope. * @param assistantUploadFileRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return AssistantUploadFileResponse * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public AssistantUploadFileResponse assistantServiceUploadFile(@javax.annotation.Nonnull AssistantUploadFileRequest assistantUploadFileRequest) throws ApiException { - ApiResponse localVarResp = assistantServiceUploadFileWithHttpInfo(assistantUploadFileRequest); + public AssistantUploadFileResponse assistantServiceUploadFile(@javax.annotation.Nonnull AssistantUploadFileRequest assistantUploadFileRequest, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + ApiResponse localVarResp = assistantServiceUploadFileWithHttpInfo(assistantUploadFileRequest, idempotencyKey); return localVarResp.getData(); } /** * Upload file for assistant chat - * Upload a file to attach to the next assistant message. Returns a temporary file ID. Files expire after 5 minutes. Max 20MB. + * Upload a file to attach to the next assistant message. Returns a temporary file ID. Files expire after 5 minutes. Max 20MB. Requires the `assistant:write` scope. * @param assistantUploadFileRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return ApiResponse<AssistantUploadFileResponse> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public ApiResponse assistantServiceUploadFileWithHttpInfo(@javax.annotation.Nonnull AssistantUploadFileRequest assistantUploadFileRequest) throws ApiException { - okhttp3.Call localVarCall = assistantServiceUploadFileValidateBeforeCall(assistantUploadFileRequest, null); + public ApiResponse assistantServiceUploadFileWithHttpInfo(@javax.annotation.Nonnull AssistantUploadFileRequest assistantUploadFileRequest, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + okhttp3.Call localVarCall = assistantServiceUploadFileValidateBeforeCall(assistantUploadFileRequest, idempotencyKey, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); } /** * Upload file for assistant chat (asynchronously) - * Upload a file to attach to the next assistant message. Returns a temporary file ID. Files expire after 5 minutes. Max 20MB. + * Upload a file to attach to the next assistant message. Returns a temporary file ID. Files expire after 5 minutes. Max 20MB. Requires the `assistant:write` scope. * @param assistantUploadFileRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @param _callback The callback to be executed when the API call finishes * @return The request call * @throws ApiException If fail to process the API call, e.g. serializing the request body object @@ -602,13 +635,14 @@ public ApiResponse assistantServiceUploadFileWithHt - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call assistantServiceUploadFileAsync(@javax.annotation.Nonnull AssistantUploadFileRequest assistantUploadFileRequest, final ApiCallback _callback) throws ApiException { + public okhttp3.Call assistantServiceUploadFileAsync(@javax.annotation.Nonnull AssistantUploadFileRequest assistantUploadFileRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { - okhttp3.Call localVarCall = assistantServiceUploadFileValidateBeforeCall(assistantUploadFileRequest, _callback); + okhttp3.Call localVarCall = assistantServiceUploadFileValidateBeforeCall(assistantUploadFileRequest, idempotencyKey, _callback); Type localVarReturnType = new TypeToken(){}.getType(); localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); return localVarCall; diff --git a/src/main/java/com/linkbreakers/api/CustomDomainsApi.java b/src/main/java/com/linkbreakers/api/CustomDomainsApi.java index d468fa063..1e1954cbf 100644 --- a/src/main/java/com/linkbreakers/api/CustomDomainsApi.java +++ b/src/main/java/com/linkbreakers/api/CustomDomainsApi.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -84,6 +84,7 @@ public void setCustomBaseUrl(String customBaseUrl) { /** * Build call for customDomainsServiceCheck * @param id The ID of the custom domain to retrieve (UUID) (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @param _callback Callback for upload/download progress * @return Call to execute * @throws ApiException If fail to serialize the request body object @@ -91,11 +92,12 @@ public void setCustomBaseUrl(String customBaseUrl) { - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call customDomainsServiceCheckCall(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + public okhttp3.Call customDomainsServiceCheckCall(@javax.annotation.Nonnull String id, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -136,64 +138,74 @@ public okhttp3.Call customDomainsServiceCheckCall(@javax.annotation.Nonnull Stri localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + if (idempotencyKey != null) { + localVarHeaderParams.put("Idempotency-Key", localVarApiClient.parameterToString(idempotencyKey)); + } + + + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; return localVarApiClient.buildCall(basePath, localVarPath, "POST", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @SuppressWarnings("rawtypes") - private okhttp3.Call customDomainsServiceCheckValidateBeforeCall(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + private okhttp3.Call customDomainsServiceCheckValidateBeforeCall(@javax.annotation.Nonnull String id, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { // verify the required parameter 'id' is set if (id == null) { throw new ApiException("Missing the required parameter 'id' when calling customDomainsServiceCheck(Async)"); } - return customDomainsServiceCheckCall(id, _callback); + return customDomainsServiceCheckCall(id, idempotencyKey, _callback); } /** * Check a custom domain - * Check a custom domain by looking up its DNS records and TLS status. This is automatically done when the domain is created. It will update the domain status. + * Check a custom domain by looking up its DNS records and TLS status. This is automatically done when the domain is created. It will update the domain status. Requires the `domains:write` scope. * @param id The ID of the custom domain to retrieve (UUID) (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return CheckCustomDomainResponse * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public CheckCustomDomainResponse customDomainsServiceCheck(@javax.annotation.Nonnull String id) throws ApiException { - ApiResponse localVarResp = customDomainsServiceCheckWithHttpInfo(id); + public CheckCustomDomainResponse customDomainsServiceCheck(@javax.annotation.Nonnull String id, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + ApiResponse localVarResp = customDomainsServiceCheckWithHttpInfo(id, idempotencyKey); return localVarResp.getData(); } /** * Check a custom domain - * Check a custom domain by looking up its DNS records and TLS status. This is automatically done when the domain is created. It will update the domain status. + * Check a custom domain by looking up its DNS records and TLS status. This is automatically done when the domain is created. It will update the domain status. Requires the `domains:write` scope. * @param id The ID of the custom domain to retrieve (UUID) (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return ApiResponse<CheckCustomDomainResponse> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public ApiResponse customDomainsServiceCheckWithHttpInfo(@javax.annotation.Nonnull String id) throws ApiException { - okhttp3.Call localVarCall = customDomainsServiceCheckValidateBeforeCall(id, null); + public ApiResponse customDomainsServiceCheckWithHttpInfo(@javax.annotation.Nonnull String id, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + okhttp3.Call localVarCall = customDomainsServiceCheckValidateBeforeCall(id, idempotencyKey, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); } /** * Check a custom domain (asynchronously) - * Check a custom domain by looking up its DNS records and TLS status. This is automatically done when the domain is created. It will update the domain status. + * Check a custom domain by looking up its DNS records and TLS status. This is automatically done when the domain is created. It will update the domain status. Requires the `domains:write` scope. * @param id The ID of the custom domain to retrieve (UUID) (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @param _callback The callback to be executed when the API call finishes * @return The request call * @throws ApiException If fail to process the API call, e.g. serializing the request body object @@ -201,13 +213,14 @@ public ApiResponse customDomainsServiceCheckWithHttpI - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call customDomainsServiceCheckAsync(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + public okhttp3.Call customDomainsServiceCheckAsync(@javax.annotation.Nonnull String id, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { - okhttp3.Call localVarCall = customDomainsServiceCheckValidateBeforeCall(id, _callback); + okhttp3.Call localVarCall = customDomainsServiceCheckValidateBeforeCall(id, idempotencyKey, _callback); Type localVarReturnType = new TypeToken(){}.getType(); localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); return localVarCall; @@ -215,6 +228,7 @@ public okhttp3.Call customDomainsServiceCheckAsync(@javax.annotation.Nonnull Str /** * Build call for customDomainsServiceCreate * @param createCustomDomainRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @param _callback Callback for upload/download progress * @return Call to execute * @throws ApiException If fail to serialize the request body object @@ -222,11 +236,12 @@ public okhttp3.Call customDomainsServiceCheckAsync(@javax.annotation.Nonnull Str - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call customDomainsServiceCreateCall(@javax.annotation.Nonnull CreateCustomDomainRequest createCustomDomainRequest, final ApiCallback _callback) throws ApiException { + public okhttp3.Call customDomainsServiceCreateCall(@javax.annotation.Nonnull CreateCustomDomainRequest createCustomDomainRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -267,64 +282,74 @@ public okhttp3.Call customDomainsServiceCreateCall(@javax.annotation.Nonnull Cre localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + if (idempotencyKey != null) { + localVarHeaderParams.put("Idempotency-Key", localVarApiClient.parameterToString(idempotencyKey)); + } + + + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; return localVarApiClient.buildCall(basePath, localVarPath, "POST", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @SuppressWarnings("rawtypes") - private okhttp3.Call customDomainsServiceCreateValidateBeforeCall(@javax.annotation.Nonnull CreateCustomDomainRequest createCustomDomainRequest, final ApiCallback _callback) throws ApiException { + private okhttp3.Call customDomainsServiceCreateValidateBeforeCall(@javax.annotation.Nonnull CreateCustomDomainRequest createCustomDomainRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { // verify the required parameter 'createCustomDomainRequest' is set if (createCustomDomainRequest == null) { throw new ApiException("Missing the required parameter 'createCustomDomainRequest' when calling customDomainsServiceCreate(Async)"); } - return customDomainsServiceCreateCall(createCustomDomainRequest, _callback); + return customDomainsServiceCreateCall(createCustomDomainRequest, idempotencyKey, _callback); } /** * Create a custom domain - * This endpoint allows users to register a new custom domain that can be used with their Linkbreakers workspace. + * This endpoint allows users to register a new custom domain that can be used with their Linkbreakers workspace. Requires the `domains:write` scope. * @param createCustomDomainRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return CreateCustomDomainResponse * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public CreateCustomDomainResponse customDomainsServiceCreate(@javax.annotation.Nonnull CreateCustomDomainRequest createCustomDomainRequest) throws ApiException { - ApiResponse localVarResp = customDomainsServiceCreateWithHttpInfo(createCustomDomainRequest); + public CreateCustomDomainResponse customDomainsServiceCreate(@javax.annotation.Nonnull CreateCustomDomainRequest createCustomDomainRequest, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + ApiResponse localVarResp = customDomainsServiceCreateWithHttpInfo(createCustomDomainRequest, idempotencyKey); return localVarResp.getData(); } /** * Create a custom domain - * This endpoint allows users to register a new custom domain that can be used with their Linkbreakers workspace. + * This endpoint allows users to register a new custom domain that can be used with their Linkbreakers workspace. Requires the `domains:write` scope. * @param createCustomDomainRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return ApiResponse<CreateCustomDomainResponse> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public ApiResponse customDomainsServiceCreateWithHttpInfo(@javax.annotation.Nonnull CreateCustomDomainRequest createCustomDomainRequest) throws ApiException { - okhttp3.Call localVarCall = customDomainsServiceCreateValidateBeforeCall(createCustomDomainRequest, null); + public ApiResponse customDomainsServiceCreateWithHttpInfo(@javax.annotation.Nonnull CreateCustomDomainRequest createCustomDomainRequest, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + okhttp3.Call localVarCall = customDomainsServiceCreateValidateBeforeCall(createCustomDomainRequest, idempotencyKey, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); } /** * Create a custom domain (asynchronously) - * This endpoint allows users to register a new custom domain that can be used with their Linkbreakers workspace. + * This endpoint allows users to register a new custom domain that can be used with their Linkbreakers workspace. Requires the `domains:write` scope. * @param createCustomDomainRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @param _callback The callback to be executed when the API call finishes * @return The request call * @throws ApiException If fail to process the API call, e.g. serializing the request body object @@ -332,13 +357,14 @@ public ApiResponse customDomainsServiceCreateWithHtt - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call customDomainsServiceCreateAsync(@javax.annotation.Nonnull CreateCustomDomainRequest createCustomDomainRequest, final ApiCallback _callback) throws ApiException { + public okhttp3.Call customDomainsServiceCreateAsync(@javax.annotation.Nonnull CreateCustomDomainRequest createCustomDomainRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { - okhttp3.Call localVarCall = customDomainsServiceCreateValidateBeforeCall(createCustomDomainRequest, _callback); + okhttp3.Call localVarCall = customDomainsServiceCreateValidateBeforeCall(createCustomDomainRequest, idempotencyKey, _callback); Type localVarReturnType = new TypeToken(){}.getType(); localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); return localVarCall; @@ -353,9 +379,10 @@ public okhttp3.Call customDomainsServiceCreateAsync(@javax.annotation.Nonnull Cr - - - + + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
204 Custom domain deleted successfully -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
204 Custom domain deleted successfully * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public okhttp3.Call customDomainsServiceDeleteCall(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { @@ -399,7 +426,7 @@ public okhttp3.Call customDomainsServiceDeleteCall(@javax.annotation.Nonnull Str localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; return localVarApiClient.buildCall(basePath, localVarPath, "DELETE", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @@ -416,7 +443,7 @@ private okhttp3.Call customDomainsServiceDeleteValidateBeforeCall(@javax.annotat /** * Delete a custom domain - * Removes a custom domain from the workspace. This operation cannot be undone. + * Removes a custom domain from the workspace. This operation cannot be undone. Requires the `domains:write` scope. * @param id The ID of the custom domain to delete (UUID) (required) * @return Object * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body @@ -424,9 +451,10 @@ private okhttp3.Call customDomainsServiceDeleteValidateBeforeCall(@javax.annotat - - - + + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
204 Custom domain deleted successfully -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
204 Custom domain deleted successfully * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public Object customDomainsServiceDelete(@javax.annotation.Nonnull String id) throws ApiException { @@ -436,7 +464,7 @@ public Object customDomainsServiceDelete(@javax.annotation.Nonnull String id) th /** * Delete a custom domain - * Removes a custom domain from the workspace. This operation cannot be undone. + * Removes a custom domain from the workspace. This operation cannot be undone. Requires the `domains:write` scope. * @param id The ID of the custom domain to delete (UUID) (required) * @return ApiResponse<Object> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body @@ -444,9 +472,10 @@ public Object customDomainsServiceDelete(@javax.annotation.Nonnull String id) th - - - + + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
204 Custom domain deleted successfully -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
204 Custom domain deleted successfully * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public ApiResponse customDomainsServiceDeleteWithHttpInfo(@javax.annotation.Nonnull String id) throws ApiException { @@ -457,7 +486,7 @@ public ApiResponse customDomainsServiceDeleteWithHttpInfo(@javax.annotat /** * Delete a custom domain (asynchronously) - * Removes a custom domain from the workspace. This operation cannot be undone. + * Removes a custom domain from the workspace. This operation cannot be undone. Requires the `domains:write` scope. * @param id The ID of the custom domain to delete (UUID) (required) * @param _callback The callback to be executed when the API call finishes * @return The request call @@ -466,9 +495,10 @@ public ApiResponse customDomainsServiceDeleteWithHttpInfo(@javax.annotat - - - + + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
204 Custom domain deleted successfully -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
204 Custom domain deleted successfully * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public okhttp3.Call customDomainsServiceDeleteAsync(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { @@ -488,8 +518,9 @@ public okhttp3.Call customDomainsServiceDeleteAsync(@javax.annotation.Nonnull St - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public okhttp3.Call customDomainsServiceGetCall(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { @@ -533,7 +564,7 @@ public okhttp3.Call customDomainsServiceGetCall(@javax.annotation.Nonnull String localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @@ -550,7 +581,7 @@ private okhttp3.Call customDomainsServiceGetValidateBeforeCall(@javax.annotation /** * Get custom domain details - * Retrieves information about a custom domain including its verification status and timestamps. + * Retrieves information about a custom domain including its verification status and timestamps. Requires the `domains:read` scope. * @param id The ID of the custom domain to retrieve (UUID) (required) * @return GetCustomDomainResponse * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body @@ -558,8 +589,9 @@ private okhttp3.Call customDomainsServiceGetValidateBeforeCall(@javax.annotation - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public GetCustomDomainResponse customDomainsServiceGet(@javax.annotation.Nonnull String id) throws ApiException { @@ -569,7 +601,7 @@ public GetCustomDomainResponse customDomainsServiceGet(@javax.annotation.Nonnull /** * Get custom domain details - * Retrieves information about a custom domain including its verification status and timestamps. + * Retrieves information about a custom domain including its verification status and timestamps. Requires the `domains:read` scope. * @param id The ID of the custom domain to retrieve (UUID) (required) * @return ApiResponse<GetCustomDomainResponse> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body @@ -577,8 +609,9 @@ public GetCustomDomainResponse customDomainsServiceGet(@javax.annotation.Nonnull - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public ApiResponse customDomainsServiceGetWithHttpInfo(@javax.annotation.Nonnull String id) throws ApiException { @@ -589,7 +622,7 @@ public ApiResponse customDomainsServiceGetWithHttpInfo( /** * Get custom domain details (asynchronously) - * Retrieves information about a custom domain including its verification status and timestamps. + * Retrieves information about a custom domain including its verification status and timestamps. Requires the `domains:read` scope. * @param id The ID of the custom domain to retrieve (UUID) (required) * @param _callback The callback to be executed when the API call finishes * @return The request call @@ -598,8 +631,9 @@ public ApiResponse customDomainsServiceGetWithHttpInfo( - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public okhttp3.Call customDomainsServiceGetAsync(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { @@ -619,8 +653,9 @@ public okhttp3.Call customDomainsServiceGetAsync(@javax.annotation.Nonnull Strin - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public okhttp3.Call customDomainsServiceGetSetupGuideCall(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { @@ -664,7 +699,7 @@ public okhttp3.Call customDomainsServiceGetSetupGuideCall(@javax.annotation.Nonn localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @@ -681,7 +716,7 @@ private okhttp3.Call customDomainsServiceGetSetupGuideValidateBeforeCall(@javax. /** * Get the setup guide for a custom domain - * Detects which DNS provider manages the domain from its nameservers and returns everything needed to connect it: the provider's name and a link to its DNS settings, the exact records to add (with the host written the way that provider expects it), provider-specific hints, and a one-click setup URL when the provider supports Domain Connect for Linkbreakers. + * Detects which DNS provider manages the domain from its nameservers and returns everything needed to connect it: the provider's name and a link to its DNS settings, the exact records to add (with the host written the way that provider expects it), provider-specific hints, and a one-click setup URL when the provider supports Domain Connect for Linkbreakers. Requires the `domains:read` scope. * @param id The ID of the custom domain (UUID) (required) * @return GetCustomDomainSetupGuideResponse * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body @@ -689,8 +724,9 @@ private okhttp3.Call customDomainsServiceGetSetupGuideValidateBeforeCall(@javax. - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public GetCustomDomainSetupGuideResponse customDomainsServiceGetSetupGuide(@javax.annotation.Nonnull String id) throws ApiException { @@ -700,7 +736,7 @@ public GetCustomDomainSetupGuideResponse customDomainsServiceGetSetupGuide(@java /** * Get the setup guide for a custom domain - * Detects which DNS provider manages the domain from its nameservers and returns everything needed to connect it: the provider's name and a link to its DNS settings, the exact records to add (with the host written the way that provider expects it), provider-specific hints, and a one-click setup URL when the provider supports Domain Connect for Linkbreakers. + * Detects which DNS provider manages the domain from its nameservers and returns everything needed to connect it: the provider's name and a link to its DNS settings, the exact records to add (with the host written the way that provider expects it), provider-specific hints, and a one-click setup URL when the provider supports Domain Connect for Linkbreakers. Requires the `domains:read` scope. * @param id The ID of the custom domain (UUID) (required) * @return ApiResponse<GetCustomDomainSetupGuideResponse> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body @@ -708,8 +744,9 @@ public GetCustomDomainSetupGuideResponse customDomainsServiceGetSetupGuide(@java - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public ApiResponse customDomainsServiceGetSetupGuideWithHttpInfo(@javax.annotation.Nonnull String id) throws ApiException { @@ -720,7 +757,7 @@ public ApiResponse customDomainsServiceGetSet /** * Get the setup guide for a custom domain (asynchronously) - * Detects which DNS provider manages the domain from its nameservers and returns everything needed to connect it: the provider's name and a link to its DNS settings, the exact records to add (with the host written the way that provider expects it), provider-specific hints, and a one-click setup URL when the provider supports Domain Connect for Linkbreakers. + * Detects which DNS provider manages the domain from its nameservers and returns everything needed to connect it: the provider's name and a link to its DNS settings, the exact records to add (with the host written the way that provider expects it), provider-specific hints, and a one-click setup URL when the provider supports Domain Connect for Linkbreakers. Requires the `domains:read` scope. * @param id The ID of the custom domain (UUID) (required) * @param _callback The callback to be executed when the API call finishes * @return The request call @@ -729,8 +766,9 @@ public ApiResponse customDomainsServiceGetSet - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public okhttp3.Call customDomainsServiceGetSetupGuideAsync(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { @@ -745,6 +783,7 @@ public okhttp3.Call customDomainsServiceGetSetupGuideAsync(@javax.annotation.Non * @param status Filter by the status of the custom domains to list. Optional. - STATUS_UNSPECIFIED: The status is not specified - STATUS_INACTIVE: The domain is inactive. It was created but not checked yet. - STATUS_DOMAIN_PENDING: The domain is pending. Last time it was checked, it was not pointing to the correct Linkbreakers subdomain. - STATUS_VERIFICATION_PENDING: The domain is pending verification. Please verify through TXT record. - STATUS_CERTIFICATE_PENDING: The domain is pending certificate. The SSL certificate is not yet ready. - STATUS_ACTIVE: The domain is fully active - STATUS_RENEWAL_PENDING: The domain is still serving traffic on a valid certificate, but the renewal of that certificate cannot be validated. It stops working at certificate_expires_at. - STATUS_EXPIRED: The certificate expired or was withdrawn. The domain no longer serves HTTPS. (optional) * @param pageSize Maximum number of custom domains to return. Defaults to 100, capped at 1000. (optional) * @param pageToken Cursor from a previous response's next_page_token. Empty starts at the first page. Pages are ordered by (created_at, id), which never change, so a record cannot move between pages while a client is walking them. (optional) + * @param cursor Opaque cursor from the previous page's nextPageToken. Same as pageToken; when both are sent, pageToken wins. (optional) * @param _callback Callback for upload/download progress * @return Call to execute * @throws ApiException If fail to serialize the request body object @@ -752,11 +791,12 @@ public okhttp3.Call customDomainsServiceGetSetupGuideAsync(@javax.annotation.Non - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call customDomainsServiceListCall(@javax.annotation.Nullable String status, @javax.annotation.Nullable Long pageSize, @javax.annotation.Nullable String pageToken, final ApiCallback _callback) throws ApiException { + public okhttp3.Call customDomainsServiceListCall(@javax.annotation.Nullable String status, @javax.annotation.Nullable Long pageSize, @javax.annotation.Nullable String pageToken, @javax.annotation.Nullable String cursor, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -793,6 +833,10 @@ public okhttp3.Call customDomainsServiceListCall(@javax.annotation.Nullable Stri localVarQueryParams.addAll(localVarApiClient.parameterToPair("pageToken", pageToken)); } + if (cursor != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("cursor", cursor)); + } + final String[] localVarAccepts = { "application/json" }; @@ -808,65 +852,70 @@ public okhttp3.Call customDomainsServiceListCall(@javax.annotation.Nullable Stri localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @SuppressWarnings("rawtypes") - private okhttp3.Call customDomainsServiceListValidateBeforeCall(@javax.annotation.Nullable String status, @javax.annotation.Nullable Long pageSize, @javax.annotation.Nullable String pageToken, final ApiCallback _callback) throws ApiException { - return customDomainsServiceListCall(status, pageSize, pageToken, _callback); + private okhttp3.Call customDomainsServiceListValidateBeforeCall(@javax.annotation.Nullable String status, @javax.annotation.Nullable Long pageSize, @javax.annotation.Nullable String pageToken, @javax.annotation.Nullable String cursor, final ApiCallback _callback) throws ApiException { + return customDomainsServiceListCall(status, pageSize, pageToken, cursor, _callback); } /** * List custom domains - * Retrieves the custom domains for your workspace + * Retrieves the custom domains for your workspace Requires the `domains:read` scope. * @param status Filter by the status of the custom domains to list. Optional. - STATUS_UNSPECIFIED: The status is not specified - STATUS_INACTIVE: The domain is inactive. It was created but not checked yet. - STATUS_DOMAIN_PENDING: The domain is pending. Last time it was checked, it was not pointing to the correct Linkbreakers subdomain. - STATUS_VERIFICATION_PENDING: The domain is pending verification. Please verify through TXT record. - STATUS_CERTIFICATE_PENDING: The domain is pending certificate. The SSL certificate is not yet ready. - STATUS_ACTIVE: The domain is fully active - STATUS_RENEWAL_PENDING: The domain is still serving traffic on a valid certificate, but the renewal of that certificate cannot be validated. It stops working at certificate_expires_at. - STATUS_EXPIRED: The certificate expired or was withdrawn. The domain no longer serves HTTPS. (optional) * @param pageSize Maximum number of custom domains to return. Defaults to 100, capped at 1000. (optional) * @param pageToken Cursor from a previous response's next_page_token. Empty starts at the first page. Pages are ordered by (created_at, id), which never change, so a record cannot move between pages while a client is walking them. (optional) + * @param cursor Opaque cursor from the previous page's nextPageToken. Same as pageToken; when both are sent, pageToken wins. (optional) * @return ListCustomDomainsResponse * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public ListCustomDomainsResponse customDomainsServiceList(@javax.annotation.Nullable String status, @javax.annotation.Nullable Long pageSize, @javax.annotation.Nullable String pageToken) throws ApiException { - ApiResponse localVarResp = customDomainsServiceListWithHttpInfo(status, pageSize, pageToken); + public ListCustomDomainsResponse customDomainsServiceList(@javax.annotation.Nullable String status, @javax.annotation.Nullable Long pageSize, @javax.annotation.Nullable String pageToken, @javax.annotation.Nullable String cursor) throws ApiException { + ApiResponse localVarResp = customDomainsServiceListWithHttpInfo(status, pageSize, pageToken, cursor); return localVarResp.getData(); } /** * List custom domains - * Retrieves the custom domains for your workspace + * Retrieves the custom domains for your workspace Requires the `domains:read` scope. * @param status Filter by the status of the custom domains to list. Optional. - STATUS_UNSPECIFIED: The status is not specified - STATUS_INACTIVE: The domain is inactive. It was created but not checked yet. - STATUS_DOMAIN_PENDING: The domain is pending. Last time it was checked, it was not pointing to the correct Linkbreakers subdomain. - STATUS_VERIFICATION_PENDING: The domain is pending verification. Please verify through TXT record. - STATUS_CERTIFICATE_PENDING: The domain is pending certificate. The SSL certificate is not yet ready. - STATUS_ACTIVE: The domain is fully active - STATUS_RENEWAL_PENDING: The domain is still serving traffic on a valid certificate, but the renewal of that certificate cannot be validated. It stops working at certificate_expires_at. - STATUS_EXPIRED: The certificate expired or was withdrawn. The domain no longer serves HTTPS. (optional) * @param pageSize Maximum number of custom domains to return. Defaults to 100, capped at 1000. (optional) * @param pageToken Cursor from a previous response's next_page_token. Empty starts at the first page. Pages are ordered by (created_at, id), which never change, so a record cannot move between pages while a client is walking them. (optional) + * @param cursor Opaque cursor from the previous page's nextPageToken. Same as pageToken; when both are sent, pageToken wins. (optional) * @return ApiResponse<ListCustomDomainsResponse> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public ApiResponse customDomainsServiceListWithHttpInfo(@javax.annotation.Nullable String status, @javax.annotation.Nullable Long pageSize, @javax.annotation.Nullable String pageToken) throws ApiException { - okhttp3.Call localVarCall = customDomainsServiceListValidateBeforeCall(status, pageSize, pageToken, null); + public ApiResponse customDomainsServiceListWithHttpInfo(@javax.annotation.Nullable String status, @javax.annotation.Nullable Long pageSize, @javax.annotation.Nullable String pageToken, @javax.annotation.Nullable String cursor) throws ApiException { + okhttp3.Call localVarCall = customDomainsServiceListValidateBeforeCall(status, pageSize, pageToken, cursor, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); } /** * List custom domains (asynchronously) - * Retrieves the custom domains for your workspace + * Retrieves the custom domains for your workspace Requires the `domains:read` scope. * @param status Filter by the status of the custom domains to list. Optional. - STATUS_UNSPECIFIED: The status is not specified - STATUS_INACTIVE: The domain is inactive. It was created but not checked yet. - STATUS_DOMAIN_PENDING: The domain is pending. Last time it was checked, it was not pointing to the correct Linkbreakers subdomain. - STATUS_VERIFICATION_PENDING: The domain is pending verification. Please verify through TXT record. - STATUS_CERTIFICATE_PENDING: The domain is pending certificate. The SSL certificate is not yet ready. - STATUS_ACTIVE: The domain is fully active - STATUS_RENEWAL_PENDING: The domain is still serving traffic on a valid certificate, but the renewal of that certificate cannot be validated. It stops working at certificate_expires_at. - STATUS_EXPIRED: The certificate expired or was withdrawn. The domain no longer serves HTTPS. (optional) * @param pageSize Maximum number of custom domains to return. Defaults to 100, capped at 1000. (optional) * @param pageToken Cursor from a previous response's next_page_token. Empty starts at the first page. Pages are ordered by (created_at, id), which never change, so a record cannot move between pages while a client is walking them. (optional) + * @param cursor Opaque cursor from the previous page's nextPageToken. Same as pageToken; when both are sent, pageToken wins. (optional) * @param _callback The callback to be executed when the API call finishes * @return The request call * @throws ApiException If fail to process the API call, e.g. serializing the request body object @@ -874,13 +923,14 @@ public ApiResponse customDomainsServiceListWithHttpIn - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call customDomainsServiceListAsync(@javax.annotation.Nullable String status, @javax.annotation.Nullable Long pageSize, @javax.annotation.Nullable String pageToken, final ApiCallback _callback) throws ApiException { + public okhttp3.Call customDomainsServiceListAsync(@javax.annotation.Nullable String status, @javax.annotation.Nullable Long pageSize, @javax.annotation.Nullable String pageToken, @javax.annotation.Nullable String cursor, final ApiCallback _callback) throws ApiException { - okhttp3.Call localVarCall = customDomainsServiceListValidateBeforeCall(status, pageSize, pageToken, _callback); + okhttp3.Call localVarCall = customDomainsServiceListValidateBeforeCall(status, pageSize, pageToken, cursor, _callback); Type localVarReturnType = new TypeToken(){}.getType(); localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); return localVarCall; @@ -889,6 +939,7 @@ public okhttp3.Call customDomainsServiceListAsync(@javax.annotation.Nullable Str * Build call for customDomainsServiceUpdate * @param id The ID of the custom domain to update (UUID) (required) * @param customDomainsServiceUpdateBody (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @param _callback Callback for upload/download progress * @return Call to execute * @throws ApiException If fail to serialize the request body object @@ -896,11 +947,12 @@ public okhttp3.Call customDomainsServiceListAsync(@javax.annotation.Nullable Str - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call customDomainsServiceUpdateCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull CustomDomainsServiceUpdateBody customDomainsServiceUpdateBody, final ApiCallback _callback) throws ApiException { + public okhttp3.Call customDomainsServiceUpdateCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull CustomDomainsServiceUpdateBody customDomainsServiceUpdateBody, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -942,12 +994,17 @@ public okhttp3.Call customDomainsServiceUpdateCall(@javax.annotation.Nonnull Str localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + if (idempotencyKey != null) { + localVarHeaderParams.put("Idempotency-Key", localVarApiClient.parameterToString(idempotencyKey)); + } + + + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; return localVarApiClient.buildCall(basePath, localVarPath, "PATCH", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @SuppressWarnings("rawtypes") - private okhttp3.Call customDomainsServiceUpdateValidateBeforeCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull CustomDomainsServiceUpdateBody customDomainsServiceUpdateBody, final ApiCallback _callback) throws ApiException { + private okhttp3.Call customDomainsServiceUpdateValidateBeforeCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull CustomDomainsServiceUpdateBody customDomainsServiceUpdateBody, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { // verify the required parameter 'id' is set if (id == null) { throw new ApiException("Missing the required parameter 'id' when calling customDomainsServiceUpdate(Async)"); @@ -958,56 +1015,61 @@ private okhttp3.Call customDomainsServiceUpdateValidateBeforeCall(@javax.annotat throw new ApiException("Missing the required parameter 'customDomainsServiceUpdateBody' when calling customDomainsServiceUpdate(Async)"); } - return customDomainsServiceUpdateCall(id, customDomainsServiceUpdateBody, _callback); + return customDomainsServiceUpdateCall(id, customDomainsServiceUpdateBody, idempotencyKey, _callback); } /** * Update a custom domain - * Update settings for a custom domain, such as the root destination URL. + * Update settings for a custom domain, such as the root destination URL. Requires the `domains:write` scope. * @param id The ID of the custom domain to update (UUID) (required) * @param customDomainsServiceUpdateBody (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return UpdateCustomDomainResponse * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public UpdateCustomDomainResponse customDomainsServiceUpdate(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull CustomDomainsServiceUpdateBody customDomainsServiceUpdateBody) throws ApiException { - ApiResponse localVarResp = customDomainsServiceUpdateWithHttpInfo(id, customDomainsServiceUpdateBody); + public UpdateCustomDomainResponse customDomainsServiceUpdate(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull CustomDomainsServiceUpdateBody customDomainsServiceUpdateBody, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + ApiResponse localVarResp = customDomainsServiceUpdateWithHttpInfo(id, customDomainsServiceUpdateBody, idempotencyKey); return localVarResp.getData(); } /** * Update a custom domain - * Update settings for a custom domain, such as the root destination URL. + * Update settings for a custom domain, such as the root destination URL. Requires the `domains:write` scope. * @param id The ID of the custom domain to update (UUID) (required) * @param customDomainsServiceUpdateBody (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return ApiResponse<UpdateCustomDomainResponse> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public ApiResponse customDomainsServiceUpdateWithHttpInfo(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull CustomDomainsServiceUpdateBody customDomainsServiceUpdateBody) throws ApiException { - okhttp3.Call localVarCall = customDomainsServiceUpdateValidateBeforeCall(id, customDomainsServiceUpdateBody, null); + public ApiResponse customDomainsServiceUpdateWithHttpInfo(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull CustomDomainsServiceUpdateBody customDomainsServiceUpdateBody, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + okhttp3.Call localVarCall = customDomainsServiceUpdateValidateBeforeCall(id, customDomainsServiceUpdateBody, idempotencyKey, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); } /** * Update a custom domain (asynchronously) - * Update settings for a custom domain, such as the root destination URL. + * Update settings for a custom domain, such as the root destination URL. Requires the `domains:write` scope. * @param id The ID of the custom domain to update (UUID) (required) * @param customDomainsServiceUpdateBody (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @param _callback The callback to be executed when the API call finishes * @return The request call * @throws ApiException If fail to process the API call, e.g. serializing the request body object @@ -1015,13 +1077,14 @@ public ApiResponse customDomainsServiceUpdateWithHtt - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call customDomainsServiceUpdateAsync(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull CustomDomainsServiceUpdateBody customDomainsServiceUpdateBody, final ApiCallback _callback) throws ApiException { + public okhttp3.Call customDomainsServiceUpdateAsync(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull CustomDomainsServiceUpdateBody customDomainsServiceUpdateBody, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { - okhttp3.Call localVarCall = customDomainsServiceUpdateValidateBeforeCall(id, customDomainsServiceUpdateBody, _callback); + okhttp3.Call localVarCall = customDomainsServiceUpdateValidateBeforeCall(id, customDomainsServiceUpdateBody, idempotencyKey, _callback); Type localVarReturnType = new TypeToken(){}.getType(); localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); return localVarCall; @@ -1036,8 +1099,9 @@ public okhttp3.Call customDomainsServiceUpdateAsync(@javax.annotation.Nonnull St - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public okhttp3.Call customDomainsServiceValidationInstructionsCall(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { @@ -1081,7 +1145,7 @@ public okhttp3.Call customDomainsServiceValidationInstructionsCall(@javax.annota localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @@ -1098,7 +1162,7 @@ private okhttp3.Call customDomainsServiceValidationInstructionsValidateBeforeCal /** * Get the validation instructions - * Get the instructions for validating a custom domain. There may be a delay before the instructions are available. + * Get the instructions for validating a custom domain. There may be a delay before the instructions are available. Requires the `domains:read` scope. * @param id The ID of the custom domain to retrieve (UUID) (required) * @return ValidationInstructionsCustomDomainResponse * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body @@ -1106,8 +1170,9 @@ private okhttp3.Call customDomainsServiceValidationInstructionsValidateBeforeCal - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public ValidationInstructionsCustomDomainResponse customDomainsServiceValidationInstructions(@javax.annotation.Nonnull String id) throws ApiException { @@ -1117,7 +1182,7 @@ public ValidationInstructionsCustomDomainResponse customDomainsServiceValidation /** * Get the validation instructions - * Get the instructions for validating a custom domain. There may be a delay before the instructions are available. + * Get the instructions for validating a custom domain. There may be a delay before the instructions are available. Requires the `domains:read` scope. * @param id The ID of the custom domain to retrieve (UUID) (required) * @return ApiResponse<ValidationInstructionsCustomDomainResponse> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body @@ -1125,8 +1190,9 @@ public ValidationInstructionsCustomDomainResponse customDomainsServiceValidation - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public ApiResponse customDomainsServiceValidationInstructionsWithHttpInfo(@javax.annotation.Nonnull String id) throws ApiException { @@ -1137,7 +1203,7 @@ public ApiResponse customDomainsServ /** * Get the validation instructions (asynchronously) - * Get the instructions for validating a custom domain. There may be a delay before the instructions are available. + * Get the instructions for validating a custom domain. There may be a delay before the instructions are available. Requires the `domains:read` scope. * @param id The ID of the custom domain to retrieve (UUID) (required) * @param _callback The callback to be executed when the API call finishes * @return The request call @@ -1146,8 +1212,9 @@ public ApiResponse customDomainsServ - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public okhttp3.Call customDomainsServiceValidationInstructionsAsync(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { diff --git a/src/main/java/com/linkbreakers/api/DirectoriesApi.java b/src/main/java/com/linkbreakers/api/DirectoriesApi.java index 0788b97c3..8c350eb8d 100644 --- a/src/main/java/com/linkbreakers/api/DirectoriesApi.java +++ b/src/main/java/com/linkbreakers/api/DirectoriesApi.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -81,6 +81,7 @@ public void setCustomBaseUrl(String customBaseUrl) { /** * Build call for directoriesServiceCreate * @param createDirectoryRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @param _callback Callback for upload/download progress * @return Call to execute * @throws ApiException If fail to serialize the request body object @@ -88,11 +89,12 @@ public void setCustomBaseUrl(String customBaseUrl) { - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call directoriesServiceCreateCall(@javax.annotation.Nonnull CreateDirectoryRequest createDirectoryRequest, final ApiCallback _callback) throws ApiException { + public okhttp3.Call directoriesServiceCreateCall(@javax.annotation.Nonnull CreateDirectoryRequest createDirectoryRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -133,64 +135,74 @@ public okhttp3.Call directoriesServiceCreateCall(@javax.annotation.Nonnull Creat localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + if (idempotencyKey != null) { + localVarHeaderParams.put("Idempotency-Key", localVarApiClient.parameterToString(idempotencyKey)); + } + + + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; return localVarApiClient.buildCall(basePath, localVarPath, "POST", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @SuppressWarnings("rawtypes") - private okhttp3.Call directoriesServiceCreateValidateBeforeCall(@javax.annotation.Nonnull CreateDirectoryRequest createDirectoryRequest, final ApiCallback _callback) throws ApiException { + private okhttp3.Call directoriesServiceCreateValidateBeforeCall(@javax.annotation.Nonnull CreateDirectoryRequest createDirectoryRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { // verify the required parameter 'createDirectoryRequest' is set if (createDirectoryRequest == null) { throw new ApiException("Missing the required parameter 'createDirectoryRequest' when calling directoriesServiceCreate(Async)"); } - return directoriesServiceCreateCall(createDirectoryRequest, _callback); + return directoriesServiceCreateCall(createDirectoryRequest, idempotencyKey, _callback); } /** * Create a directory - * Create a new directory in the workspace. Optionally nest it under an existing directory. + * Create a new directory in the workspace. Optionally nest it under an existing directory. Requires the `links:write` scope. * @param createDirectoryRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return CreateDirectoryResponse * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public CreateDirectoryResponse directoriesServiceCreate(@javax.annotation.Nonnull CreateDirectoryRequest createDirectoryRequest) throws ApiException { - ApiResponse localVarResp = directoriesServiceCreateWithHttpInfo(createDirectoryRequest); + public CreateDirectoryResponse directoriesServiceCreate(@javax.annotation.Nonnull CreateDirectoryRequest createDirectoryRequest, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + ApiResponse localVarResp = directoriesServiceCreateWithHttpInfo(createDirectoryRequest, idempotencyKey); return localVarResp.getData(); } /** * Create a directory - * Create a new directory in the workspace. Optionally nest it under an existing directory. + * Create a new directory in the workspace. Optionally nest it under an existing directory. Requires the `links:write` scope. * @param createDirectoryRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return ApiResponse<CreateDirectoryResponse> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public ApiResponse directoriesServiceCreateWithHttpInfo(@javax.annotation.Nonnull CreateDirectoryRequest createDirectoryRequest) throws ApiException { - okhttp3.Call localVarCall = directoriesServiceCreateValidateBeforeCall(createDirectoryRequest, null); + public ApiResponse directoriesServiceCreateWithHttpInfo(@javax.annotation.Nonnull CreateDirectoryRequest createDirectoryRequest, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + okhttp3.Call localVarCall = directoriesServiceCreateValidateBeforeCall(createDirectoryRequest, idempotencyKey, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); } /** * Create a directory (asynchronously) - * Create a new directory in the workspace. Optionally nest it under an existing directory. + * Create a new directory in the workspace. Optionally nest it under an existing directory. Requires the `links:write` scope. * @param createDirectoryRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @param _callback The callback to be executed when the API call finishes * @return The request call * @throws ApiException If fail to process the API call, e.g. serializing the request body object @@ -198,13 +210,14 @@ public ApiResponse directoriesServiceCreateWithHttpInfo - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call directoriesServiceCreateAsync(@javax.annotation.Nonnull CreateDirectoryRequest createDirectoryRequest, final ApiCallback _callback) throws ApiException { + public okhttp3.Call directoriesServiceCreateAsync(@javax.annotation.Nonnull CreateDirectoryRequest createDirectoryRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { - okhttp3.Call localVarCall = directoriesServiceCreateValidateBeforeCall(createDirectoryRequest, _callback); + okhttp3.Call localVarCall = directoriesServiceCreateValidateBeforeCall(createDirectoryRequest, idempotencyKey, _callback); Type localVarReturnType = new TypeToken(){}.getType(); localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); return localVarCall; @@ -219,9 +232,10 @@ public okhttp3.Call directoriesServiceCreateAsync(@javax.annotation.Nonnull Crea - - - + + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
412 Directory cannot be deleted because it still contains links or child directories. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
412 Directory cannot be deleted because it still contains links or child directories. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public okhttp3.Call directoriesServiceDeleteCall(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { @@ -265,7 +279,7 @@ public okhttp3.Call directoriesServiceDeleteCall(@javax.annotation.Nonnull Strin localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; return localVarApiClient.buildCall(basePath, localVarPath, "DELETE", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @@ -282,7 +296,7 @@ private okhttp3.Call directoriesServiceDeleteValidateBeforeCall(@javax.annotatio /** * Delete a directory - * Remove a directory from the workspace. This operation cannot be undone. A directory cannot be deleted while it still contains links or child directories; move or remove them first. + * Remove a directory from the workspace. This operation cannot be undone. A directory cannot be deleted while it still contains links or child directories; move or remove them first. Requires the `links:write` scope. * @param id The ID of the directory to delete. The directory must be empty before deletion; if it still contains links or child directories, the request fails. (required) * @return Object * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body @@ -290,9 +304,10 @@ private okhttp3.Call directoriesServiceDeleteValidateBeforeCall(@javax.annotatio - - - + + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
412 Directory cannot be deleted because it still contains links or child directories. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
412 Directory cannot be deleted because it still contains links or child directories. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public Object directoriesServiceDelete(@javax.annotation.Nonnull String id) throws ApiException { @@ -302,7 +317,7 @@ public Object directoriesServiceDelete(@javax.annotation.Nonnull String id) thro /** * Delete a directory - * Remove a directory from the workspace. This operation cannot be undone. A directory cannot be deleted while it still contains links or child directories; move or remove them first. + * Remove a directory from the workspace. This operation cannot be undone. A directory cannot be deleted while it still contains links or child directories; move or remove them first. Requires the `links:write` scope. * @param id The ID of the directory to delete. The directory must be empty before deletion; if it still contains links or child directories, the request fails. (required) * @return ApiResponse<Object> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body @@ -310,9 +325,10 @@ public Object directoriesServiceDelete(@javax.annotation.Nonnull String id) thro - - - + + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
412 Directory cannot be deleted because it still contains links or child directories. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
412 Directory cannot be deleted because it still contains links or child directories. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public ApiResponse directoriesServiceDeleteWithHttpInfo(@javax.annotation.Nonnull String id) throws ApiException { @@ -323,7 +339,7 @@ public ApiResponse directoriesServiceDeleteWithHttpInfo(@javax.annotatio /** * Delete a directory (asynchronously) - * Remove a directory from the workspace. This operation cannot be undone. A directory cannot be deleted while it still contains links or child directories; move or remove them first. + * Remove a directory from the workspace. This operation cannot be undone. A directory cannot be deleted while it still contains links or child directories; move or remove them first. Requires the `links:write` scope. * @param id The ID of the directory to delete. The directory must be empty before deletion; if it still contains links or child directories, the request fails. (required) * @param _callback The callback to be executed when the API call finishes * @return The request call @@ -332,9 +348,10 @@ public ApiResponse directoriesServiceDeleteWithHttpInfo(@javax.annotatio - - - + + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
412 Directory cannot be deleted because it still contains links or child directories. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
412 Directory cannot be deleted because it still contains links or child directories. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public okhttp3.Call directoriesServiceDeleteAsync(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { @@ -354,8 +371,9 @@ public okhttp3.Call directoriesServiceDeleteAsync(@javax.annotation.Nonnull Stri - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public okhttp3.Call directoriesServiceGetCall(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { @@ -399,7 +417,7 @@ public okhttp3.Call directoriesServiceGetCall(@javax.annotation.Nonnull String i localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @@ -416,7 +434,7 @@ private okhttp3.Call directoriesServiceGetValidateBeforeCall(@javax.annotation.N /** * Get a directory - * Retrieve a directory by its unique identifier. + * Retrieve a directory by its unique identifier. Requires the `links:read` scope. * @param id The ID of the directory to retrieve (UUID) (required) * @return GetDirectoryResponse * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body @@ -424,8 +442,9 @@ private okhttp3.Call directoriesServiceGetValidateBeforeCall(@javax.annotation.N - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public GetDirectoryResponse directoriesServiceGet(@javax.annotation.Nonnull String id) throws ApiException { @@ -435,7 +454,7 @@ public GetDirectoryResponse directoriesServiceGet(@javax.annotation.Nonnull Stri /** * Get a directory - * Retrieve a directory by its unique identifier. + * Retrieve a directory by its unique identifier. Requires the `links:read` scope. * @param id The ID of the directory to retrieve (UUID) (required) * @return ApiResponse<GetDirectoryResponse> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body @@ -443,8 +462,9 @@ public GetDirectoryResponse directoriesServiceGet(@javax.annotation.Nonnull Stri - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public ApiResponse directoriesServiceGetWithHttpInfo(@javax.annotation.Nonnull String id) throws ApiException { @@ -455,7 +475,7 @@ public ApiResponse directoriesServiceGetWithHttpInfo(@java /** * Get a directory (asynchronously) - * Retrieve a directory by its unique identifier. + * Retrieve a directory by its unique identifier. Requires the `links:read` scope. * @param id The ID of the directory to retrieve (UUID) (required) * @param _callback The callback to be executed when the API call finishes * @return The request call @@ -464,8 +484,9 @@ public ApiResponse directoriesServiceGetWithHttpInfo(@java - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public okhttp3.Call directoriesServiceGetAsync(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { @@ -483,6 +504,7 @@ public okhttp3.Call directoriesServiceGetAsync(@javax.annotation.Nonnull String * @param search Search query to filter directories by name Search query to filter directories by name (optional) * @param includeRoot When listing with parent_directory_id, also include root-level directories if true When listing with parent_directory_id, also include root-level directories. (optional) * @param recursive When true, returns all directories recursively regardless of parent filter Useful for getting a complete flat list of all directories in the workspace (e.g., for directory pickers) When false (default), returns only immediate children based on parent_directory_id Return all directories recursively. When true with empty parent_directory_id, returns all directories in workspace. When true with parent_directory_id set, returns all descendants of that directory. (optional) + * @param cursor Opaque cursor from the previous page's nextPageToken. Same as pageToken; when both are sent, pageToken wins. (optional) * @param _callback Callback for upload/download progress * @return Call to execute * @throws ApiException If fail to serialize the request body object @@ -490,11 +512,12 @@ public okhttp3.Call directoriesServiceGetAsync(@javax.annotation.Nonnull String - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call directoriesServiceListCall(@javax.annotation.Nonnull Long pageSize, @javax.annotation.Nullable String pageToken, @javax.annotation.Nullable String parentDirectoryId, @javax.annotation.Nullable String search, @javax.annotation.Nullable Boolean includeRoot, @javax.annotation.Nullable Boolean recursive, final ApiCallback _callback) throws ApiException { + public okhttp3.Call directoriesServiceListCall(@javax.annotation.Nonnull Long pageSize, @javax.annotation.Nullable String pageToken, @javax.annotation.Nullable String parentDirectoryId, @javax.annotation.Nullable String search, @javax.annotation.Nullable Boolean includeRoot, @javax.annotation.Nullable Boolean recursive, @javax.annotation.Nullable String cursor, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -543,6 +566,10 @@ public okhttp3.Call directoriesServiceListCall(@javax.annotation.Nonnull Long pa localVarQueryParams.addAll(localVarApiClient.parameterToPair("recursive", recursive)); } + if (cursor != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("cursor", cursor)); + } + final String[] localVarAccepts = { "application/json" }; @@ -558,79 +585,84 @@ public okhttp3.Call directoriesServiceListCall(@javax.annotation.Nonnull Long pa localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @SuppressWarnings("rawtypes") - private okhttp3.Call directoriesServiceListValidateBeforeCall(@javax.annotation.Nonnull Long pageSize, @javax.annotation.Nullable String pageToken, @javax.annotation.Nullable String parentDirectoryId, @javax.annotation.Nullable String search, @javax.annotation.Nullable Boolean includeRoot, @javax.annotation.Nullable Boolean recursive, final ApiCallback _callback) throws ApiException { + private okhttp3.Call directoriesServiceListValidateBeforeCall(@javax.annotation.Nonnull Long pageSize, @javax.annotation.Nullable String pageToken, @javax.annotation.Nullable String parentDirectoryId, @javax.annotation.Nullable String search, @javax.annotation.Nullable Boolean includeRoot, @javax.annotation.Nullable Boolean recursive, @javax.annotation.Nullable String cursor, final ApiCallback _callback) throws ApiException { // verify the required parameter 'pageSize' is set if (pageSize == null) { throw new ApiException("Missing the required parameter 'pageSize' when calling directoriesServiceList(Async)"); } - return directoriesServiceListCall(pageSize, pageToken, parentDirectoryId, search, includeRoot, recursive, _callback); + return directoriesServiceListCall(pageSize, pageToken, parentDirectoryId, search, includeRoot, recursive, cursor, _callback); } /** * List directories - * List directories in the workspace with optional filtering by parent directory, search, and pagination. + * List directories in the workspace with optional filtering by parent directory, search, and pagination. Requires the `links:read` scope. * @param pageSize The maximum number of directories to return (required) * @param pageToken The token for retrieving the next page of results If not provided, the first page of results will be returned (optional) * @param parentDirectoryId Filter directories by parent. When empty, returns root-level directories. (optional) * @param search Search query to filter directories by name Search query to filter directories by name (optional) * @param includeRoot When listing with parent_directory_id, also include root-level directories if true When listing with parent_directory_id, also include root-level directories. (optional) * @param recursive When true, returns all directories recursively regardless of parent filter Useful for getting a complete flat list of all directories in the workspace (e.g., for directory pickers) When false (default), returns only immediate children based on parent_directory_id Return all directories recursively. When true with empty parent_directory_id, returns all directories in workspace. When true with parent_directory_id set, returns all descendants of that directory. (optional) + * @param cursor Opaque cursor from the previous page's nextPageToken. Same as pageToken; when both are sent, pageToken wins. (optional) * @return ListDirectoriesResponse * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public ListDirectoriesResponse directoriesServiceList(@javax.annotation.Nonnull Long pageSize, @javax.annotation.Nullable String pageToken, @javax.annotation.Nullable String parentDirectoryId, @javax.annotation.Nullable String search, @javax.annotation.Nullable Boolean includeRoot, @javax.annotation.Nullable Boolean recursive) throws ApiException { - ApiResponse localVarResp = directoriesServiceListWithHttpInfo(pageSize, pageToken, parentDirectoryId, search, includeRoot, recursive); + public ListDirectoriesResponse directoriesServiceList(@javax.annotation.Nonnull Long pageSize, @javax.annotation.Nullable String pageToken, @javax.annotation.Nullable String parentDirectoryId, @javax.annotation.Nullable String search, @javax.annotation.Nullable Boolean includeRoot, @javax.annotation.Nullable Boolean recursive, @javax.annotation.Nullable String cursor) throws ApiException { + ApiResponse localVarResp = directoriesServiceListWithHttpInfo(pageSize, pageToken, parentDirectoryId, search, includeRoot, recursive, cursor); return localVarResp.getData(); } /** * List directories - * List directories in the workspace with optional filtering by parent directory, search, and pagination. + * List directories in the workspace with optional filtering by parent directory, search, and pagination. Requires the `links:read` scope. * @param pageSize The maximum number of directories to return (required) * @param pageToken The token for retrieving the next page of results If not provided, the first page of results will be returned (optional) * @param parentDirectoryId Filter directories by parent. When empty, returns root-level directories. (optional) * @param search Search query to filter directories by name Search query to filter directories by name (optional) * @param includeRoot When listing with parent_directory_id, also include root-level directories if true When listing with parent_directory_id, also include root-level directories. (optional) * @param recursive When true, returns all directories recursively regardless of parent filter Useful for getting a complete flat list of all directories in the workspace (e.g., for directory pickers) When false (default), returns only immediate children based on parent_directory_id Return all directories recursively. When true with empty parent_directory_id, returns all directories in workspace. When true with parent_directory_id set, returns all descendants of that directory. (optional) + * @param cursor Opaque cursor from the previous page's nextPageToken. Same as pageToken; when both are sent, pageToken wins. (optional) * @return ApiResponse<ListDirectoriesResponse> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public ApiResponse directoriesServiceListWithHttpInfo(@javax.annotation.Nonnull Long pageSize, @javax.annotation.Nullable String pageToken, @javax.annotation.Nullable String parentDirectoryId, @javax.annotation.Nullable String search, @javax.annotation.Nullable Boolean includeRoot, @javax.annotation.Nullable Boolean recursive) throws ApiException { - okhttp3.Call localVarCall = directoriesServiceListValidateBeforeCall(pageSize, pageToken, parentDirectoryId, search, includeRoot, recursive, null); + public ApiResponse directoriesServiceListWithHttpInfo(@javax.annotation.Nonnull Long pageSize, @javax.annotation.Nullable String pageToken, @javax.annotation.Nullable String parentDirectoryId, @javax.annotation.Nullable String search, @javax.annotation.Nullable Boolean includeRoot, @javax.annotation.Nullable Boolean recursive, @javax.annotation.Nullable String cursor) throws ApiException { + okhttp3.Call localVarCall = directoriesServiceListValidateBeforeCall(pageSize, pageToken, parentDirectoryId, search, includeRoot, recursive, cursor, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); } /** * List directories (asynchronously) - * List directories in the workspace with optional filtering by parent directory, search, and pagination. + * List directories in the workspace with optional filtering by parent directory, search, and pagination. Requires the `links:read` scope. * @param pageSize The maximum number of directories to return (required) * @param pageToken The token for retrieving the next page of results If not provided, the first page of results will be returned (optional) * @param parentDirectoryId Filter directories by parent. When empty, returns root-level directories. (optional) * @param search Search query to filter directories by name Search query to filter directories by name (optional) * @param includeRoot When listing with parent_directory_id, also include root-level directories if true When listing with parent_directory_id, also include root-level directories. (optional) * @param recursive When true, returns all directories recursively regardless of parent filter Useful for getting a complete flat list of all directories in the workspace (e.g., for directory pickers) When false (default), returns only immediate children based on parent_directory_id Return all directories recursively. When true with empty parent_directory_id, returns all directories in workspace. When true with parent_directory_id set, returns all descendants of that directory. (optional) + * @param cursor Opaque cursor from the previous page's nextPageToken. Same as pageToken; when both are sent, pageToken wins. (optional) * @param _callback The callback to be executed when the API call finishes * @return The request call * @throws ApiException If fail to process the API call, e.g. serializing the request body object @@ -638,13 +670,14 @@ public ApiResponse directoriesServiceListWithHttpInfo(@ - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call directoriesServiceListAsync(@javax.annotation.Nonnull Long pageSize, @javax.annotation.Nullable String pageToken, @javax.annotation.Nullable String parentDirectoryId, @javax.annotation.Nullable String search, @javax.annotation.Nullable Boolean includeRoot, @javax.annotation.Nullable Boolean recursive, final ApiCallback _callback) throws ApiException { + public okhttp3.Call directoriesServiceListAsync(@javax.annotation.Nonnull Long pageSize, @javax.annotation.Nullable String pageToken, @javax.annotation.Nullable String parentDirectoryId, @javax.annotation.Nullable String search, @javax.annotation.Nullable Boolean includeRoot, @javax.annotation.Nullable Boolean recursive, @javax.annotation.Nullable String cursor, final ApiCallback _callback) throws ApiException { - okhttp3.Call localVarCall = directoriesServiceListValidateBeforeCall(pageSize, pageToken, parentDirectoryId, search, includeRoot, recursive, _callback); + okhttp3.Call localVarCall = directoriesServiceListValidateBeforeCall(pageSize, pageToken, parentDirectoryId, search, includeRoot, recursive, cursor, _callback); Type localVarReturnType = new TypeToken(){}.getType(); localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); return localVarCall; @@ -653,6 +686,7 @@ public okhttp3.Call directoriesServiceListAsync(@javax.annotation.Nonnull Long p * Build call for directoriesServiceUpdate * @param id The ID of the directory to update (UUID) (required) * @param directoriesServiceUpdateBody (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @param _callback Callback for upload/download progress * @return Call to execute * @throws ApiException If fail to serialize the request body object @@ -660,11 +694,12 @@ public okhttp3.Call directoriesServiceListAsync(@javax.annotation.Nonnull Long p - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call directoriesServiceUpdateCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull DirectoriesServiceUpdateBody directoriesServiceUpdateBody, final ApiCallback _callback) throws ApiException { + public okhttp3.Call directoriesServiceUpdateCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull DirectoriesServiceUpdateBody directoriesServiceUpdateBody, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -706,12 +741,17 @@ public okhttp3.Call directoriesServiceUpdateCall(@javax.annotation.Nonnull Strin localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + if (idempotencyKey != null) { + localVarHeaderParams.put("Idempotency-Key", localVarApiClient.parameterToString(idempotencyKey)); + } + + + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; return localVarApiClient.buildCall(basePath, localVarPath, "PATCH", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @SuppressWarnings("rawtypes") - private okhttp3.Call directoriesServiceUpdateValidateBeforeCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull DirectoriesServiceUpdateBody directoriesServiceUpdateBody, final ApiCallback _callback) throws ApiException { + private okhttp3.Call directoriesServiceUpdateValidateBeforeCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull DirectoriesServiceUpdateBody directoriesServiceUpdateBody, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { // verify the required parameter 'id' is set if (id == null) { throw new ApiException("Missing the required parameter 'id' when calling directoriesServiceUpdate(Async)"); @@ -722,56 +762,61 @@ private okhttp3.Call directoriesServiceUpdateValidateBeforeCall(@javax.annotatio throw new ApiException("Missing the required parameter 'directoriesServiceUpdateBody' when calling directoriesServiceUpdate(Async)"); } - return directoriesServiceUpdateCall(id, directoriesServiceUpdateBody, _callback); + return directoriesServiceUpdateCall(id, directoriesServiceUpdateBody, idempotencyKey, _callback); } /** * Update a directory - * Update a directory's name or move it under a different parent directory. + * Update a directory's name or move it under a different parent directory. Requires the `links:write` scope. * @param id The ID of the directory to update (UUID) (required) * @param directoriesServiceUpdateBody (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return UpdateDirectoryResponse * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public UpdateDirectoryResponse directoriesServiceUpdate(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull DirectoriesServiceUpdateBody directoriesServiceUpdateBody) throws ApiException { - ApiResponse localVarResp = directoriesServiceUpdateWithHttpInfo(id, directoriesServiceUpdateBody); + public UpdateDirectoryResponse directoriesServiceUpdate(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull DirectoriesServiceUpdateBody directoriesServiceUpdateBody, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + ApiResponse localVarResp = directoriesServiceUpdateWithHttpInfo(id, directoriesServiceUpdateBody, idempotencyKey); return localVarResp.getData(); } /** * Update a directory - * Update a directory's name or move it under a different parent directory. + * Update a directory's name or move it under a different parent directory. Requires the `links:write` scope. * @param id The ID of the directory to update (UUID) (required) * @param directoriesServiceUpdateBody (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return ApiResponse<UpdateDirectoryResponse> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public ApiResponse directoriesServiceUpdateWithHttpInfo(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull DirectoriesServiceUpdateBody directoriesServiceUpdateBody) throws ApiException { - okhttp3.Call localVarCall = directoriesServiceUpdateValidateBeforeCall(id, directoriesServiceUpdateBody, null); + public ApiResponse directoriesServiceUpdateWithHttpInfo(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull DirectoriesServiceUpdateBody directoriesServiceUpdateBody, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + okhttp3.Call localVarCall = directoriesServiceUpdateValidateBeforeCall(id, directoriesServiceUpdateBody, idempotencyKey, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); } /** * Update a directory (asynchronously) - * Update a directory's name or move it under a different parent directory. + * Update a directory's name or move it under a different parent directory. Requires the `links:write` scope. * @param id The ID of the directory to update (UUID) (required) * @param directoriesServiceUpdateBody (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @param _callback The callback to be executed when the API call finishes * @return The request call * @throws ApiException If fail to process the API call, e.g. serializing the request body object @@ -779,13 +824,14 @@ public ApiResponse directoriesServiceUpdateWithHttpInfo - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call directoriesServiceUpdateAsync(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull DirectoriesServiceUpdateBody directoriesServiceUpdateBody, final ApiCallback _callback) throws ApiException { + public okhttp3.Call directoriesServiceUpdateAsync(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull DirectoriesServiceUpdateBody directoriesServiceUpdateBody, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { - okhttp3.Call localVarCall = directoriesServiceUpdateValidateBeforeCall(id, directoriesServiceUpdateBody, _callback); + okhttp3.Call localVarCall = directoriesServiceUpdateValidateBeforeCall(id, directoriesServiceUpdateBody, idempotencyKey, _callback); Type localVarReturnType = new TypeToken(){}.getType(); localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); return localVarCall; diff --git a/src/main/java/com/linkbreakers/api/EventsApi.java b/src/main/java/com/linkbreakers/api/EventsApi.java index 163356889..6571509c0 100644 --- a/src/main/java/com/linkbreakers/api/EventsApi.java +++ b/src/main/java/com/linkbreakers/api/EventsApi.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -85,8 +85,9 @@ public void setCustomBaseUrl(String customBaseUrl) { - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public okhttp3.Call eventsServiceListEventTracesCall(@javax.annotation.Nonnull String eventId, final ApiCallback _callback) throws ApiException { @@ -130,7 +131,7 @@ public okhttp3.Call eventsServiceListEventTracesCall(@javax.annotation.Nonnull S localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @@ -147,7 +148,7 @@ private okhttp3.Call eventsServiceListEventTracesValidateBeforeCall(@javax.annot /** * List event traces - * Retrieves all workflow step traces for an event, ordered by completion time. Useful for analyzing user engagement and workflow progression. + * Retrieves all workflow step traces for an event, ordered by completion time. Useful for analyzing user engagement and workflow progression. Requires the `analytics:read` scope. * @param eventId Event ID to get traces for (UUID) (required) * @return ListEventTracesResponse * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body @@ -155,8 +156,9 @@ private okhttp3.Call eventsServiceListEventTracesValidateBeforeCall(@javax.annot - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public ListEventTracesResponse eventsServiceListEventTraces(@javax.annotation.Nonnull String eventId) throws ApiException { @@ -166,7 +168,7 @@ public ListEventTracesResponse eventsServiceListEventTraces(@javax.annotation.No /** * List event traces - * Retrieves all workflow step traces for an event, ordered by completion time. Useful for analyzing user engagement and workflow progression. + * Retrieves all workflow step traces for an event, ordered by completion time. Useful for analyzing user engagement and workflow progression. Requires the `analytics:read` scope. * @param eventId Event ID to get traces for (UUID) (required) * @return ApiResponse<ListEventTracesResponse> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body @@ -174,8 +176,9 @@ public ListEventTracesResponse eventsServiceListEventTraces(@javax.annotation.No - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public ApiResponse eventsServiceListEventTracesWithHttpInfo(@javax.annotation.Nonnull String eventId) throws ApiException { @@ -186,7 +189,7 @@ public ApiResponse eventsServiceListEventTracesWithHttp /** * List event traces (asynchronously) - * Retrieves all workflow step traces for an event, ordered by completion time. Useful for analyzing user engagement and workflow progression. + * Retrieves all workflow step traces for an event, ordered by completion time. Useful for analyzing user engagement and workflow progression. Requires the `analytics:read` scope. * @param eventId Event ID to get traces for (UUID) (required) * @param _callback The callback to be executed when the API call finishes * @return The request call @@ -195,8 +198,9 @@ public ApiResponse eventsServiceListEventTracesWithHttp - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public okhttp3.Call eventsServiceListEventTracesAsync(@javax.annotation.Nonnull String eventId, final ApiCallback _callback) throws ApiException { @@ -216,6 +220,7 @@ public okhttp3.Call eventsServiceListEventTracesAsync(@javax.annotation.Nonnull * @param pageToken Cursor token to retrieve the next page of results Cursor token to retrieve the next page of results (optional) * @param include Optional list of relationships to include: visitor, device, link, workspace, journey Optional list of relationships to include: visitor, device, link, workspace, journey (optional) * @param visitorId Filter events to a specific visitor (optional, UUID) Optional (optional) + * @param cursor Opaque cursor from the previous page's nextPageToken. Same as pageToken; when both are sent, pageToken wins. (optional) * @param _callback Callback for upload/download progress * @return Call to execute * @throws ApiException If fail to serialize the request body object @@ -223,11 +228,12 @@ public okhttp3.Call eventsServiceListEventTracesAsync(@javax.annotation.Nonnull - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call eventsServiceListEventsCall(@javax.annotation.Nullable String linkId, @javax.annotation.Nullable OffsetDateTime startDate, @javax.annotation.Nullable OffsetDateTime endDate, @javax.annotation.Nullable String responseFormat, @javax.annotation.Nullable Long pageSize, @javax.annotation.Nullable String pageToken, @javax.annotation.Nullable List include, @javax.annotation.Nullable String visitorId, final ApiCallback _callback) throws ApiException { + public okhttp3.Call eventsServiceListEventsCall(@javax.annotation.Nullable String linkId, @javax.annotation.Nullable OffsetDateTime startDate, @javax.annotation.Nullable OffsetDateTime endDate, @javax.annotation.Nullable String responseFormat, @javax.annotation.Nullable Long pageSize, @javax.annotation.Nullable String pageToken, @javax.annotation.Nullable List include, @javax.annotation.Nullable String visitorId, @javax.annotation.Nullable String cursor, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -284,6 +290,10 @@ public okhttp3.Call eventsServiceListEventsCall(@javax.annotation.Nullable Strin localVarQueryParams.addAll(localVarApiClient.parameterToPair("visitorId", visitorId)); } + if (cursor != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("cursor", cursor)); + } + final String[] localVarAccepts = { "application/json" }; @@ -299,19 +309,19 @@ public okhttp3.Call eventsServiceListEventsCall(@javax.annotation.Nullable Strin localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @SuppressWarnings("rawtypes") - private okhttp3.Call eventsServiceListEventsValidateBeforeCall(@javax.annotation.Nullable String linkId, @javax.annotation.Nullable OffsetDateTime startDate, @javax.annotation.Nullable OffsetDateTime endDate, @javax.annotation.Nullable String responseFormat, @javax.annotation.Nullable Long pageSize, @javax.annotation.Nullable String pageToken, @javax.annotation.Nullable List include, @javax.annotation.Nullable String visitorId, final ApiCallback _callback) throws ApiException { - return eventsServiceListEventsCall(linkId, startDate, endDate, responseFormat, pageSize, pageToken, include, visitorId, _callback); + private okhttp3.Call eventsServiceListEventsValidateBeforeCall(@javax.annotation.Nullable String linkId, @javax.annotation.Nullable OffsetDateTime startDate, @javax.annotation.Nullable OffsetDateTime endDate, @javax.annotation.Nullable String responseFormat, @javax.annotation.Nullable Long pageSize, @javax.annotation.Nullable String pageToken, @javax.annotation.Nullable List include, @javax.annotation.Nullable String visitorId, @javax.annotation.Nullable String cursor, final ApiCallback _callback) throws ApiException { + return eventsServiceListEventsCall(linkId, startDate, endDate, responseFormat, pageSize, pageToken, include, visitorId, cursor, _callback); } /** * List events - * Retrieves the workspace's event timeline, returning paginated JSON by default or CSV payloads for reporting exports. For workspaces on the free plan, events older than 2 weeks are restricted, and for light plan workspaces, events older than 3 months are restricted. + * Retrieves the workspace's event timeline, returning paginated JSON by default or CSV payloads for reporting exports. For workspaces on the free plan, events older than 2 weeks are restricted, and for light plan workspaces, events older than 3 months are restricted. Requires the `analytics:read` scope. * @param linkId Filter events to a specific link (optional, UUID) Optional (optional) * @param startDate Inclusive start timestamp for the query window (workspace timezone aware). Note: For free plan workspaces, this will be automatically adjusted to not go back more than 2 weeks. For light plan workspaces, this will be automatically adjusted to not go back more than 3 months. (optional) * @param endDate Inclusive end timestamp for the query window (optional) @@ -320,24 +330,26 @@ private okhttp3.Call eventsServiceListEventsValidateBeforeCall(@javax.annotation * @param pageToken Cursor token to retrieve the next page of results Cursor token to retrieve the next page of results (optional) * @param include Optional list of relationships to include: visitor, device, link, workspace, journey Optional list of relationships to include: visitor, device, link, workspace, journey (optional) * @param visitorId Filter events to a specific visitor (optional, UUID) Optional (optional) + * @param cursor Opaque cursor from the previous page's nextPageToken. Same as pageToken; when both are sent, pageToken wins. (optional) * @return ListEventsResponse * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public ListEventsResponse eventsServiceListEvents(@javax.annotation.Nullable String linkId, @javax.annotation.Nullable OffsetDateTime startDate, @javax.annotation.Nullable OffsetDateTime endDate, @javax.annotation.Nullable String responseFormat, @javax.annotation.Nullable Long pageSize, @javax.annotation.Nullable String pageToken, @javax.annotation.Nullable List include, @javax.annotation.Nullable String visitorId) throws ApiException { - ApiResponse localVarResp = eventsServiceListEventsWithHttpInfo(linkId, startDate, endDate, responseFormat, pageSize, pageToken, include, visitorId); + public ListEventsResponse eventsServiceListEvents(@javax.annotation.Nullable String linkId, @javax.annotation.Nullable OffsetDateTime startDate, @javax.annotation.Nullable OffsetDateTime endDate, @javax.annotation.Nullable String responseFormat, @javax.annotation.Nullable Long pageSize, @javax.annotation.Nullable String pageToken, @javax.annotation.Nullable List include, @javax.annotation.Nullable String visitorId, @javax.annotation.Nullable String cursor) throws ApiException { + ApiResponse localVarResp = eventsServiceListEventsWithHttpInfo(linkId, startDate, endDate, responseFormat, pageSize, pageToken, include, visitorId, cursor); return localVarResp.getData(); } /** * List events - * Retrieves the workspace's event timeline, returning paginated JSON by default or CSV payloads for reporting exports. For workspaces on the free plan, events older than 2 weeks are restricted, and for light plan workspaces, events older than 3 months are restricted. + * Retrieves the workspace's event timeline, returning paginated JSON by default or CSV payloads for reporting exports. For workspaces on the free plan, events older than 2 weeks are restricted, and for light plan workspaces, events older than 3 months are restricted. Requires the `analytics:read` scope. * @param linkId Filter events to a specific link (optional, UUID) Optional (optional) * @param startDate Inclusive start timestamp for the query window (workspace timezone aware). Note: For free plan workspaces, this will be automatically adjusted to not go back more than 2 weeks. For light plan workspaces, this will be automatically adjusted to not go back more than 3 months. (optional) * @param endDate Inclusive end timestamp for the query window (optional) @@ -346,25 +358,27 @@ public ListEventsResponse eventsServiceListEvents(@javax.annotation.Nullable Str * @param pageToken Cursor token to retrieve the next page of results Cursor token to retrieve the next page of results (optional) * @param include Optional list of relationships to include: visitor, device, link, workspace, journey Optional list of relationships to include: visitor, device, link, workspace, journey (optional) * @param visitorId Filter events to a specific visitor (optional, UUID) Optional (optional) + * @param cursor Opaque cursor from the previous page's nextPageToken. Same as pageToken; when both are sent, pageToken wins. (optional) * @return ApiResponse<ListEventsResponse> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public ApiResponse eventsServiceListEventsWithHttpInfo(@javax.annotation.Nullable String linkId, @javax.annotation.Nullable OffsetDateTime startDate, @javax.annotation.Nullable OffsetDateTime endDate, @javax.annotation.Nullable String responseFormat, @javax.annotation.Nullable Long pageSize, @javax.annotation.Nullable String pageToken, @javax.annotation.Nullable List include, @javax.annotation.Nullable String visitorId) throws ApiException { - okhttp3.Call localVarCall = eventsServiceListEventsValidateBeforeCall(linkId, startDate, endDate, responseFormat, pageSize, pageToken, include, visitorId, null); + public ApiResponse eventsServiceListEventsWithHttpInfo(@javax.annotation.Nullable String linkId, @javax.annotation.Nullable OffsetDateTime startDate, @javax.annotation.Nullable OffsetDateTime endDate, @javax.annotation.Nullable String responseFormat, @javax.annotation.Nullable Long pageSize, @javax.annotation.Nullable String pageToken, @javax.annotation.Nullable List include, @javax.annotation.Nullable String visitorId, @javax.annotation.Nullable String cursor) throws ApiException { + okhttp3.Call localVarCall = eventsServiceListEventsValidateBeforeCall(linkId, startDate, endDate, responseFormat, pageSize, pageToken, include, visitorId, cursor, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); } /** * List events (asynchronously) - * Retrieves the workspace's event timeline, returning paginated JSON by default or CSV payloads for reporting exports. For workspaces on the free plan, events older than 2 weeks are restricted, and for light plan workspaces, events older than 3 months are restricted. + * Retrieves the workspace's event timeline, returning paginated JSON by default or CSV payloads for reporting exports. For workspaces on the free plan, events older than 2 weeks are restricted, and for light plan workspaces, events older than 3 months are restricted. Requires the `analytics:read` scope. * @param linkId Filter events to a specific link (optional, UUID) Optional (optional) * @param startDate Inclusive start timestamp for the query window (workspace timezone aware). Note: For free plan workspaces, this will be automatically adjusted to not go back more than 2 weeks. For light plan workspaces, this will be automatically adjusted to not go back more than 3 months. (optional) * @param endDate Inclusive end timestamp for the query window (optional) @@ -373,6 +387,7 @@ public ApiResponse eventsServiceListEventsWithHttpInfo(@java * @param pageToken Cursor token to retrieve the next page of results Cursor token to retrieve the next page of results (optional) * @param include Optional list of relationships to include: visitor, device, link, workspace, journey Optional list of relationships to include: visitor, device, link, workspace, journey (optional) * @param visitorId Filter events to a specific visitor (optional, UUID) Optional (optional) + * @param cursor Opaque cursor from the previous page's nextPageToken. Same as pageToken; when both are sent, pageToken wins. (optional) * @param _callback The callback to be executed when the API call finishes * @return The request call * @throws ApiException If fail to process the API call, e.g. serializing the request body object @@ -380,13 +395,14 @@ public ApiResponse eventsServiceListEventsWithHttpInfo(@java - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call eventsServiceListEventsAsync(@javax.annotation.Nullable String linkId, @javax.annotation.Nullable OffsetDateTime startDate, @javax.annotation.Nullable OffsetDateTime endDate, @javax.annotation.Nullable String responseFormat, @javax.annotation.Nullable Long pageSize, @javax.annotation.Nullable String pageToken, @javax.annotation.Nullable List include, @javax.annotation.Nullable String visitorId, final ApiCallback _callback) throws ApiException { + public okhttp3.Call eventsServiceListEventsAsync(@javax.annotation.Nullable String linkId, @javax.annotation.Nullable OffsetDateTime startDate, @javax.annotation.Nullable OffsetDateTime endDate, @javax.annotation.Nullable String responseFormat, @javax.annotation.Nullable Long pageSize, @javax.annotation.Nullable String pageToken, @javax.annotation.Nullable List include, @javax.annotation.Nullable String visitorId, @javax.annotation.Nullable String cursor, final ApiCallback _callback) throws ApiException { - okhttp3.Call localVarCall = eventsServiceListEventsValidateBeforeCall(linkId, startDate, endDate, responseFormat, pageSize, pageToken, include, visitorId, _callback); + okhttp3.Call localVarCall = eventsServiceListEventsValidateBeforeCall(linkId, startDate, endDate, responseFormat, pageSize, pageToken, include, visitorId, cursor, _callback); Type localVarReturnType = new TypeToken(){}.getType(); localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); return localVarCall; diff --git a/src/main/java/com/linkbreakers/api/GoogleFormsIntegrationsApi.java b/src/main/java/com/linkbreakers/api/GoogleFormsIntegrationsApi.java index 0e81f3aff..e1e51c10e 100644 --- a/src/main/java/com/linkbreakers/api/GoogleFormsIntegrationsApi.java +++ b/src/main/java/com/linkbreakers/api/GoogleFormsIntegrationsApi.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -83,6 +83,7 @@ public void setCustomBaseUrl(String customBaseUrl) { /** * Build call for googleFormsIntegrationsServiceCompleteOAuth * @param completeGoogleFormsOAuthRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @param _callback Callback for upload/download progress * @return Call to execute * @throws ApiException If fail to serialize the request body object @@ -90,11 +91,12 @@ public void setCustomBaseUrl(String customBaseUrl) { - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call googleFormsIntegrationsServiceCompleteOAuthCall(@javax.annotation.Nonnull CompleteGoogleFormsOAuthRequest completeGoogleFormsOAuthRequest, final ApiCallback _callback) throws ApiException { + public okhttp3.Call googleFormsIntegrationsServiceCompleteOAuthCall(@javax.annotation.Nonnull CompleteGoogleFormsOAuthRequest completeGoogleFormsOAuthRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -135,64 +137,74 @@ public okhttp3.Call googleFormsIntegrationsServiceCompleteOAuthCall(@javax.annot localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + if (idempotencyKey != null) { + localVarHeaderParams.put("Idempotency-Key", localVarApiClient.parameterToString(idempotencyKey)); + } + + + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; return localVarApiClient.buildCall(basePath, localVarPath, "POST", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @SuppressWarnings("rawtypes") - private okhttp3.Call googleFormsIntegrationsServiceCompleteOAuthValidateBeforeCall(@javax.annotation.Nonnull CompleteGoogleFormsOAuthRequest completeGoogleFormsOAuthRequest, final ApiCallback _callback) throws ApiException { + private okhttp3.Call googleFormsIntegrationsServiceCompleteOAuthValidateBeforeCall(@javax.annotation.Nonnull CompleteGoogleFormsOAuthRequest completeGoogleFormsOAuthRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { // verify the required parameter 'completeGoogleFormsOAuthRequest' is set if (completeGoogleFormsOAuthRequest == null) { throw new ApiException("Missing the required parameter 'completeGoogleFormsOAuthRequest' when calling googleFormsIntegrationsServiceCompleteOAuth(Async)"); } - return googleFormsIntegrationsServiceCompleteOAuthCall(completeGoogleFormsOAuthRequest, _callback); + return googleFormsIntegrationsServiceCompleteOAuthCall(completeGoogleFormsOAuthRequest, idempotencyKey, _callback); } /** * Complete Google OAuth - * Exchanges the Google authorization code for tokens and creates the workspace integration. + * Exchanges the Google authorization code for tokens and creates the workspace integration. Requires the `integrations:write` scope. * @param completeGoogleFormsOAuthRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return CompleteGoogleFormsOAuthResponse * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public CompleteGoogleFormsOAuthResponse googleFormsIntegrationsServiceCompleteOAuth(@javax.annotation.Nonnull CompleteGoogleFormsOAuthRequest completeGoogleFormsOAuthRequest) throws ApiException { - ApiResponse localVarResp = googleFormsIntegrationsServiceCompleteOAuthWithHttpInfo(completeGoogleFormsOAuthRequest); + public CompleteGoogleFormsOAuthResponse googleFormsIntegrationsServiceCompleteOAuth(@javax.annotation.Nonnull CompleteGoogleFormsOAuthRequest completeGoogleFormsOAuthRequest, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + ApiResponse localVarResp = googleFormsIntegrationsServiceCompleteOAuthWithHttpInfo(completeGoogleFormsOAuthRequest, idempotencyKey); return localVarResp.getData(); } /** * Complete Google OAuth - * Exchanges the Google authorization code for tokens and creates the workspace integration. + * Exchanges the Google authorization code for tokens and creates the workspace integration. Requires the `integrations:write` scope. * @param completeGoogleFormsOAuthRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return ApiResponse<CompleteGoogleFormsOAuthResponse> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public ApiResponse googleFormsIntegrationsServiceCompleteOAuthWithHttpInfo(@javax.annotation.Nonnull CompleteGoogleFormsOAuthRequest completeGoogleFormsOAuthRequest) throws ApiException { - okhttp3.Call localVarCall = googleFormsIntegrationsServiceCompleteOAuthValidateBeforeCall(completeGoogleFormsOAuthRequest, null); + public ApiResponse googleFormsIntegrationsServiceCompleteOAuthWithHttpInfo(@javax.annotation.Nonnull CompleteGoogleFormsOAuthRequest completeGoogleFormsOAuthRequest, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + okhttp3.Call localVarCall = googleFormsIntegrationsServiceCompleteOAuthValidateBeforeCall(completeGoogleFormsOAuthRequest, idempotencyKey, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); } /** * Complete Google OAuth (asynchronously) - * Exchanges the Google authorization code for tokens and creates the workspace integration. + * Exchanges the Google authorization code for tokens and creates the workspace integration. Requires the `integrations:write` scope. * @param completeGoogleFormsOAuthRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @param _callback The callback to be executed when the API call finishes * @return The request call * @throws ApiException If fail to process the API call, e.g. serializing the request body object @@ -200,13 +212,14 @@ public ApiResponse googleFormsIntegrationsServ - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call googleFormsIntegrationsServiceCompleteOAuthAsync(@javax.annotation.Nonnull CompleteGoogleFormsOAuthRequest completeGoogleFormsOAuthRequest, final ApiCallback _callback) throws ApiException { + public okhttp3.Call googleFormsIntegrationsServiceCompleteOAuthAsync(@javax.annotation.Nonnull CompleteGoogleFormsOAuthRequest completeGoogleFormsOAuthRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { - okhttp3.Call localVarCall = googleFormsIntegrationsServiceCompleteOAuthValidateBeforeCall(completeGoogleFormsOAuthRequest, _callback); + okhttp3.Call localVarCall = googleFormsIntegrationsServiceCompleteOAuthValidateBeforeCall(completeGoogleFormsOAuthRequest, idempotencyKey, _callback); Type localVarReturnType = new TypeToken(){}.getType(); localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); return localVarCall; @@ -220,8 +233,9 @@ public okhttp3.Call googleFormsIntegrationsServiceCompleteOAuthAsync(@javax.anno - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public okhttp3.Call googleFormsIntegrationsServiceDeleteCall(final ApiCallback _callback) throws ApiException { @@ -264,7 +278,7 @@ public okhttp3.Call googleFormsIntegrationsServiceDeleteCall(final ApiCallback _ localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; return localVarApiClient.buildCall(basePath, localVarPath, "DELETE", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @@ -276,15 +290,16 @@ private okhttp3.Call googleFormsIntegrationsServiceDeleteValidateBeforeCall(fina /** * Disconnect Google Forms integration - * Disconnect and remove the Google Forms integration from the workspace. + * Disconnect and remove the Google Forms integration from the workspace. Requires the `integrations:write` scope. * @return Object * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public Object googleFormsIntegrationsServiceDelete() throws ApiException { @@ -294,15 +309,16 @@ public Object googleFormsIntegrationsServiceDelete() throws ApiException { /** * Disconnect Google Forms integration - * Disconnect and remove the Google Forms integration from the workspace. + * Disconnect and remove the Google Forms integration from the workspace. Requires the `integrations:write` scope. * @return ApiResponse<Object> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public ApiResponse googleFormsIntegrationsServiceDeleteWithHttpInfo() throws ApiException { @@ -313,7 +329,7 @@ public ApiResponse googleFormsIntegrationsServiceDeleteWithHttpInfo() th /** * Disconnect Google Forms integration (asynchronously) - * Disconnect and remove the Google Forms integration from the workspace. + * Disconnect and remove the Google Forms integration from the workspace. Requires the `integrations:write` scope. * @param _callback The callback to be executed when the API call finishes * @return The request call * @throws ApiException If fail to process the API call, e.g. serializing the request body object @@ -321,8 +337,9 @@ public ApiResponse googleFormsIntegrationsServiceDeleteWithHttpInfo() th - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public okhttp3.Call googleFormsIntegrationsServiceDeleteAsync(final ApiCallback _callback) throws ApiException { @@ -341,8 +358,9 @@ public okhttp3.Call googleFormsIntegrationsServiceDeleteAsync(final ApiCallback< - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public okhttp3.Call googleFormsIntegrationsServiceGetCall(final ApiCallback _callback) throws ApiException { @@ -385,7 +403,7 @@ public okhttp3.Call googleFormsIntegrationsServiceGetCall(final ApiCallback _cal localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @@ -397,15 +415,16 @@ private okhttp3.Call googleFormsIntegrationsServiceGetValidateBeforeCall(final A /** * Get Google Forms integration - * Retrieve the Google Forms integration for the workspace. + * Retrieve the Google Forms integration for the workspace. Requires the `integrations:read` scope. * @return GetGoogleFormsIntegrationResponse * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public GetGoogleFormsIntegrationResponse googleFormsIntegrationsServiceGet() throws ApiException { @@ -415,15 +434,16 @@ public GetGoogleFormsIntegrationResponse googleFormsIntegrationsServiceGet() thr /** * Get Google Forms integration - * Retrieve the Google Forms integration for the workspace. + * Retrieve the Google Forms integration for the workspace. Requires the `integrations:read` scope. * @return ApiResponse<GetGoogleFormsIntegrationResponse> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public ApiResponse googleFormsIntegrationsServiceGetWithHttpInfo() throws ApiException { @@ -434,7 +454,7 @@ public ApiResponse googleFormsIntegrationsSer /** * Get Google Forms integration (asynchronously) - * Retrieve the Google Forms integration for the workspace. + * Retrieve the Google Forms integration for the workspace. Requires the `integrations:read` scope. * @param _callback The callback to be executed when the API call finishes * @return The request call * @throws ApiException If fail to process the API call, e.g. serializing the request body object @@ -442,8 +462,9 @@ public ApiResponse googleFormsIntegrationsSer - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public okhttp3.Call googleFormsIntegrationsServiceGetAsync(final ApiCallback _callback) throws ApiException { @@ -462,8 +483,9 @@ public okhttp3.Call googleFormsIntegrationsServiceGetAsync(final ApiCallback Response Details Status Code Description Response Headers - 200 Everything worked as expected. - - 0 Unexpected error - + 200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
+ 429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
+ 0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public okhttp3.Call googleFormsIntegrationsServiceGetOAuthURLCall(final ApiCallback _callback) throws ApiException { @@ -506,7 +528,7 @@ public okhttp3.Call googleFormsIntegrationsServiceGetOAuthURLCall(final ApiCallb localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @@ -518,15 +540,16 @@ private okhttp3.Call googleFormsIntegrationsServiceGetOAuthURLValidateBeforeCall /** * Get Google OAuth URL - * Returns the Google OAuth authorization URL to initiate the connection flow. + * Returns the Google OAuth authorization URL to initiate the connection flow. Requires the `integrations:write` scope. * @return GetGoogleFormsOAuthURLResponse * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public GetGoogleFormsOAuthURLResponse googleFormsIntegrationsServiceGetOAuthURL() throws ApiException { @@ -536,15 +559,16 @@ public GetGoogleFormsOAuthURLResponse googleFormsIntegrationsServiceGetOAuthURL( /** * Get Google OAuth URL - * Returns the Google OAuth authorization URL to initiate the connection flow. + * Returns the Google OAuth authorization URL to initiate the connection flow. Requires the `integrations:write` scope. * @return ApiResponse<GetGoogleFormsOAuthURLResponse> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public ApiResponse googleFormsIntegrationsServiceGetOAuthURLWithHttpInfo() throws ApiException { @@ -555,7 +579,7 @@ public ApiResponse googleFormsIntegrationsServic /** * Get Google OAuth URL (asynchronously) - * Returns the Google OAuth authorization URL to initiate the connection flow. + * Returns the Google OAuth authorization URL to initiate the connection flow. Requires the `integrations:write` scope. * @param _callback The callback to be executed when the API call finishes * @return The request call * @throws ApiException If fail to process the API call, e.g. serializing the request body object @@ -563,8 +587,9 @@ public ApiResponse googleFormsIntegrationsServic - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public okhttp3.Call googleFormsIntegrationsServiceGetOAuthURLAsync(final ApiCallback _callback) throws ApiException { @@ -583,8 +608,9 @@ public okhttp3.Call googleFormsIntegrationsServiceGetOAuthURLAsync(final ApiCall - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public okhttp3.Call googleFormsIntegrationsServiceListDetectedFormsCall(final ApiCallback _callback) throws ApiException { @@ -627,7 +653,7 @@ public okhttp3.Call googleFormsIntegrationsServiceListDetectedFormsCall(final Ap localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @@ -639,15 +665,16 @@ private okhttp3.Call googleFormsIntegrationsServiceListDetectedFormsValidateBefo /** * List detected Google Forms - * Returns Google Forms auto-detected from workspace links that have a Google Form as their redirect destination. + * Returns Google Forms auto-detected from workspace links that have a Google Form as their redirect destination. Requires the `integrations:read` scope. * @return ListDetectedGoogleFormsResponse * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public ListDetectedGoogleFormsResponse googleFormsIntegrationsServiceListDetectedForms() throws ApiException { @@ -657,15 +684,16 @@ public ListDetectedGoogleFormsResponse googleFormsIntegrationsServiceListDetecte /** * List detected Google Forms - * Returns Google Forms auto-detected from workspace links that have a Google Form as their redirect destination. + * Returns Google Forms auto-detected from workspace links that have a Google Form as their redirect destination. Requires the `integrations:read` scope. * @return ApiResponse<ListDetectedGoogleFormsResponse> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public ApiResponse googleFormsIntegrationsServiceListDetectedFormsWithHttpInfo() throws ApiException { @@ -676,7 +704,7 @@ public ApiResponse googleFormsIntegrationsServi /** * List detected Google Forms (asynchronously) - * Returns Google Forms auto-detected from workspace links that have a Google Form as their redirect destination. + * Returns Google Forms auto-detected from workspace links that have a Google Form as their redirect destination. Requires the `integrations:read` scope. * @param _callback The callback to be executed when the API call finishes * @return The request call * @throws ApiException If fail to process the API call, e.g. serializing the request body object @@ -684,8 +712,9 @@ public ApiResponse googleFormsIntegrationsServi - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public okhttp3.Call googleFormsIntegrationsServiceListDetectedFormsAsync(final ApiCallback _callback) throws ApiException { @@ -698,6 +727,7 @@ public okhttp3.Call googleFormsIntegrationsServiceListDetectedFormsAsync(final A /** * Build call for googleFormsIntegrationsServiceSyncNow * @param body (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @param _callback Callback for upload/download progress * @return Call to execute * @throws ApiException If fail to serialize the request body object @@ -705,11 +735,12 @@ public okhttp3.Call googleFormsIntegrationsServiceListDetectedFormsAsync(final A - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call googleFormsIntegrationsServiceSyncNowCall(@javax.annotation.Nonnull Object body, final ApiCallback _callback) throws ApiException { + public okhttp3.Call googleFormsIntegrationsServiceSyncNowCall(@javax.annotation.Nonnull Object body, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -750,64 +781,74 @@ public okhttp3.Call googleFormsIntegrationsServiceSyncNowCall(@javax.annotation. localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + if (idempotencyKey != null) { + localVarHeaderParams.put("Idempotency-Key", localVarApiClient.parameterToString(idempotencyKey)); + } + + + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; return localVarApiClient.buildCall(basePath, localVarPath, "POST", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @SuppressWarnings("rawtypes") - private okhttp3.Call googleFormsIntegrationsServiceSyncNowValidateBeforeCall(@javax.annotation.Nonnull Object body, final ApiCallback _callback) throws ApiException { + private okhttp3.Call googleFormsIntegrationsServiceSyncNowValidateBeforeCall(@javax.annotation.Nonnull Object body, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { // verify the required parameter 'body' is set if (body == null) { throw new ApiException("Missing the required parameter 'body' when calling googleFormsIntegrationsServiceSyncNow(Async)"); } - return googleFormsIntegrationsServiceSyncNowCall(body, _callback); + return googleFormsIntegrationsServiceSyncNowCall(body, idempotencyKey, _callback); } /** * Sync now - * Trigger an immediate sync of new Google Forms responses from all detected forms. + * Trigger an immediate sync of new Google Forms responses from all detected forms. Requires the `integrations:write` scope. * @param body (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return SyncGoogleFormsResponse * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public SyncGoogleFormsResponse googleFormsIntegrationsServiceSyncNow(@javax.annotation.Nonnull Object body) throws ApiException { - ApiResponse localVarResp = googleFormsIntegrationsServiceSyncNowWithHttpInfo(body); + public SyncGoogleFormsResponse googleFormsIntegrationsServiceSyncNow(@javax.annotation.Nonnull Object body, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + ApiResponse localVarResp = googleFormsIntegrationsServiceSyncNowWithHttpInfo(body, idempotencyKey); return localVarResp.getData(); } /** * Sync now - * Trigger an immediate sync of new Google Forms responses from all detected forms. + * Trigger an immediate sync of new Google Forms responses from all detected forms. Requires the `integrations:write` scope. * @param body (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return ApiResponse<SyncGoogleFormsResponse> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public ApiResponse googleFormsIntegrationsServiceSyncNowWithHttpInfo(@javax.annotation.Nonnull Object body) throws ApiException { - okhttp3.Call localVarCall = googleFormsIntegrationsServiceSyncNowValidateBeforeCall(body, null); + public ApiResponse googleFormsIntegrationsServiceSyncNowWithHttpInfo(@javax.annotation.Nonnull Object body, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + okhttp3.Call localVarCall = googleFormsIntegrationsServiceSyncNowValidateBeforeCall(body, idempotencyKey, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); } /** * Sync now (asynchronously) - * Trigger an immediate sync of new Google Forms responses from all detected forms. + * Trigger an immediate sync of new Google Forms responses from all detected forms. Requires the `integrations:write` scope. * @param body (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @param _callback The callback to be executed when the API call finishes * @return The request call * @throws ApiException If fail to process the API call, e.g. serializing the request body object @@ -815,13 +856,14 @@ public ApiResponse googleFormsIntegrationsServiceSyncNo - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call googleFormsIntegrationsServiceSyncNowAsync(@javax.annotation.Nonnull Object body, final ApiCallback _callback) throws ApiException { + public okhttp3.Call googleFormsIntegrationsServiceSyncNowAsync(@javax.annotation.Nonnull Object body, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { - okhttp3.Call localVarCall = googleFormsIntegrationsServiceSyncNowValidateBeforeCall(body, _callback); + okhttp3.Call localVarCall = googleFormsIntegrationsServiceSyncNowValidateBeforeCall(body, idempotencyKey, _callback); Type localVarReturnType = new TypeToken(){}.getType(); localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); return localVarCall; @@ -829,6 +871,7 @@ public okhttp3.Call googleFormsIntegrationsServiceSyncNowAsync(@javax.annotation /** * Build call for googleFormsIntegrationsServiceUpdate * @param updateGoogleFormsIntegrationRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @param _callback Callback for upload/download progress * @return Call to execute * @throws ApiException If fail to serialize the request body object @@ -836,11 +879,12 @@ public okhttp3.Call googleFormsIntegrationsServiceSyncNowAsync(@javax.annotation - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call googleFormsIntegrationsServiceUpdateCall(@javax.annotation.Nonnull UpdateGoogleFormsIntegrationRequest updateGoogleFormsIntegrationRequest, final ApiCallback _callback) throws ApiException { + public okhttp3.Call googleFormsIntegrationsServiceUpdateCall(@javax.annotation.Nonnull UpdateGoogleFormsIntegrationRequest updateGoogleFormsIntegrationRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -881,64 +925,74 @@ public okhttp3.Call googleFormsIntegrationsServiceUpdateCall(@javax.annotation.N localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + if (idempotencyKey != null) { + localVarHeaderParams.put("Idempotency-Key", localVarApiClient.parameterToString(idempotencyKey)); + } + + + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; return localVarApiClient.buildCall(basePath, localVarPath, "PATCH", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @SuppressWarnings("rawtypes") - private okhttp3.Call googleFormsIntegrationsServiceUpdateValidateBeforeCall(@javax.annotation.Nonnull UpdateGoogleFormsIntegrationRequest updateGoogleFormsIntegrationRequest, final ApiCallback _callback) throws ApiException { + private okhttp3.Call googleFormsIntegrationsServiceUpdateValidateBeforeCall(@javax.annotation.Nonnull UpdateGoogleFormsIntegrationRequest updateGoogleFormsIntegrationRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { // verify the required parameter 'updateGoogleFormsIntegrationRequest' is set if (updateGoogleFormsIntegrationRequest == null) { throw new ApiException("Missing the required parameter 'updateGoogleFormsIntegrationRequest' when calling googleFormsIntegrationsServiceUpdate(Async)"); } - return googleFormsIntegrationsServiceUpdateCall(updateGoogleFormsIntegrationRequest, _callback); + return googleFormsIntegrationsServiceUpdateCall(updateGoogleFormsIntegrationRequest, idempotencyKey, _callback); } /** * Update Google Forms integration - * Update the integration status (pause or resume syncing). + * Update the integration status (pause or resume syncing). Requires the `integrations:write` scope. * @param updateGoogleFormsIntegrationRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return UpdateGoogleFormsIntegrationResponse * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public UpdateGoogleFormsIntegrationResponse googleFormsIntegrationsServiceUpdate(@javax.annotation.Nonnull UpdateGoogleFormsIntegrationRequest updateGoogleFormsIntegrationRequest) throws ApiException { - ApiResponse localVarResp = googleFormsIntegrationsServiceUpdateWithHttpInfo(updateGoogleFormsIntegrationRequest); + public UpdateGoogleFormsIntegrationResponse googleFormsIntegrationsServiceUpdate(@javax.annotation.Nonnull UpdateGoogleFormsIntegrationRequest updateGoogleFormsIntegrationRequest, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + ApiResponse localVarResp = googleFormsIntegrationsServiceUpdateWithHttpInfo(updateGoogleFormsIntegrationRequest, idempotencyKey); return localVarResp.getData(); } /** * Update Google Forms integration - * Update the integration status (pause or resume syncing). + * Update the integration status (pause or resume syncing). Requires the `integrations:write` scope. * @param updateGoogleFormsIntegrationRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return ApiResponse<UpdateGoogleFormsIntegrationResponse> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public ApiResponse googleFormsIntegrationsServiceUpdateWithHttpInfo(@javax.annotation.Nonnull UpdateGoogleFormsIntegrationRequest updateGoogleFormsIntegrationRequest) throws ApiException { - okhttp3.Call localVarCall = googleFormsIntegrationsServiceUpdateValidateBeforeCall(updateGoogleFormsIntegrationRequest, null); + public ApiResponse googleFormsIntegrationsServiceUpdateWithHttpInfo(@javax.annotation.Nonnull UpdateGoogleFormsIntegrationRequest updateGoogleFormsIntegrationRequest, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + okhttp3.Call localVarCall = googleFormsIntegrationsServiceUpdateValidateBeforeCall(updateGoogleFormsIntegrationRequest, idempotencyKey, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); } /** * Update Google Forms integration (asynchronously) - * Update the integration status (pause or resume syncing). + * Update the integration status (pause or resume syncing). Requires the `integrations:write` scope. * @param updateGoogleFormsIntegrationRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @param _callback The callback to be executed when the API call finishes * @return The request call * @throws ApiException If fail to process the API call, e.g. serializing the request body object @@ -946,13 +1000,14 @@ public ApiResponse googleFormsIntegrations - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call googleFormsIntegrationsServiceUpdateAsync(@javax.annotation.Nonnull UpdateGoogleFormsIntegrationRequest updateGoogleFormsIntegrationRequest, final ApiCallback _callback) throws ApiException { + public okhttp3.Call googleFormsIntegrationsServiceUpdateAsync(@javax.annotation.Nonnull UpdateGoogleFormsIntegrationRequest updateGoogleFormsIntegrationRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { - okhttp3.Call localVarCall = googleFormsIntegrationsServiceUpdateValidateBeforeCall(updateGoogleFormsIntegrationRequest, _callback); + okhttp3.Call localVarCall = googleFormsIntegrationsServiceUpdateValidateBeforeCall(updateGoogleFormsIntegrationRequest, idempotencyKey, _callback); Type localVarReturnType = new TypeToken(){}.getType(); localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); return localVarCall; diff --git a/src/main/java/com/linkbreakers/api/IntegrationsServiceApi.java b/src/main/java/com/linkbreakers/api/IntegrationsServiceApi.java index a001c50ec..d415ede59 100644 --- a/src/main/java/com/linkbreakers/api/IntegrationsServiceApi.java +++ b/src/main/java/com/linkbreakers/api/IntegrationsServiceApi.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -75,6 +75,7 @@ public void setCustomBaseUrl(String customBaseUrl) { /** * Build call for integrationsServiceTrack * @param slug The slug identifying the integration being installed (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @param _callback Callback for upload/download progress * @return Call to execute * @throws ApiException If fail to serialize the request body object @@ -82,11 +83,12 @@ public void setCustomBaseUrl(String customBaseUrl) { - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call integrationsServiceTrackCall(@javax.annotation.Nonnull String slug, final ApiCallback _callback) throws ApiException { + public okhttp3.Call integrationsServiceTrackCall(@javax.annotation.Nonnull String slug, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -127,18 +129,23 @@ public okhttp3.Call integrationsServiceTrackCall(@javax.annotation.Nonnull Strin localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + if (idempotencyKey != null) { + localVarHeaderParams.put("Idempotency-Key", localVarApiClient.parameterToString(idempotencyKey)); + } + + + String[] localVarAuthNames = new String[] { }; return localVarApiClient.buildCall(basePath, localVarPath, "POST", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @SuppressWarnings("rawtypes") - private okhttp3.Call integrationsServiceTrackValidateBeforeCall(@javax.annotation.Nonnull String slug, final ApiCallback _callback) throws ApiException { + private okhttp3.Call integrationsServiceTrackValidateBeforeCall(@javax.annotation.Nonnull String slug, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { // verify the required parameter 'slug' is set if (slug == null) { throw new ApiException("Missing the required parameter 'slug' when calling integrationsServiceTrack(Async)"); } - return integrationsServiceTrackCall(slug, _callback); + return integrationsServiceTrackCall(slug, idempotencyKey, _callback); } @@ -146,18 +153,20 @@ private okhttp3.Call integrationsServiceTrackValidateBeforeCall(@javax.annotatio * Track notifies when an integration installation is attempted * * @param slug The slug identifying the integration being installed (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return Object * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public Object integrationsServiceTrack(@javax.annotation.Nonnull String slug) throws ApiException { - ApiResponse localVarResp = integrationsServiceTrackWithHttpInfo(slug); + public Object integrationsServiceTrack(@javax.annotation.Nonnull String slug, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + ApiResponse localVarResp = integrationsServiceTrackWithHttpInfo(slug, idempotencyKey); return localVarResp.getData(); } @@ -165,18 +174,20 @@ public Object integrationsServiceTrack(@javax.annotation.Nonnull String slug) th * Track notifies when an integration installation is attempted * * @param slug The slug identifying the integration being installed (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return ApiResponse<Object> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public ApiResponse integrationsServiceTrackWithHttpInfo(@javax.annotation.Nonnull String slug) throws ApiException { - okhttp3.Call localVarCall = integrationsServiceTrackValidateBeforeCall(slug, null); + public ApiResponse integrationsServiceTrackWithHttpInfo(@javax.annotation.Nonnull String slug, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + okhttp3.Call localVarCall = integrationsServiceTrackValidateBeforeCall(slug, idempotencyKey, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); } @@ -185,6 +196,7 @@ public ApiResponse integrationsServiceTrackWithHttpInfo(@javax.annotatio * Track notifies when an integration installation is attempted (asynchronously) * * @param slug The slug identifying the integration being installed (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @param _callback The callback to be executed when the API call finishes * @return The request call * @throws ApiException If fail to process the API call, e.g. serializing the request body object @@ -192,13 +204,14 @@ public ApiResponse integrationsServiceTrackWithHttpInfo(@javax.annotatio - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call integrationsServiceTrackAsync(@javax.annotation.Nonnull String slug, final ApiCallback _callback) throws ApiException { + public okhttp3.Call integrationsServiceTrackAsync(@javax.annotation.Nonnull String slug, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { - okhttp3.Call localVarCall = integrationsServiceTrackValidateBeforeCall(slug, _callback); + okhttp3.Call localVarCall = integrationsServiceTrackValidateBeforeCall(slug, idempotencyKey, _callback); Type localVarReturnType = new TypeToken(){}.getType(); localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); return localVarCall; diff --git a/src/main/java/com/linkbreakers/api/JobsApi.java b/src/main/java/com/linkbreakers/api/JobsApi.java new file mode 100644 index 000000000..fa300e8f1 --- /dev/null +++ b/src/main/java/com/linkbreakers/api/JobsApi.java @@ -0,0 +1,211 @@ +/* + * Linkbreakers API + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. + * + * The version of the OpenAPI document: 1.158.2 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.linkbreakers.api; + +import com.linkbreakers.ApiCallback; +import com.linkbreakers.ApiClient; +import com.linkbreakers.ApiException; +import com.linkbreakers.ApiResponse; +import com.linkbreakers.Configuration; +import com.linkbreakers.Pair; +import com.linkbreakers.ProgressRequestBody; +import com.linkbreakers.ProgressResponseBody; + +import com.google.gson.reflect.TypeToken; + +import java.io.IOException; + + +import com.linkbreakers.model.ErrorResponse; +import com.linkbreakers.model.Job; + +import java.lang.reflect.Type; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +public class JobsApi { + private ApiClient localVarApiClient; + private int localHostIndex; + private String localCustomBaseUrl; + + public JobsApi() { + this(Configuration.getDefaultApiClient()); + } + + public JobsApi(ApiClient apiClient) { + this.localVarApiClient = apiClient; + } + + public ApiClient getApiClient() { + return localVarApiClient; + } + + public void setApiClient(ApiClient apiClient) { + this.localVarApiClient = apiClient; + } + + public int getHostIndex() { + return localHostIndex; + } + + public void setHostIndex(int hostIndex) { + this.localHostIndex = hostIndex; + } + + public String getCustomBaseUrl() { + return localCustomBaseUrl; + } + + public void setCustomBaseUrl(String customBaseUrl) { + this.localCustomBaseUrl = customBaseUrl; + } + + /** + * Build call for jobsServiceGet + * @param id The job ID returned when the job was accepted. (required) + * @param _callback Callback for upload/download progress + * @return Call to execute + * @throws ApiException If fail to serialize the request body object + * @http.response.details + + + + + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
+ */ + public okhttp3.Call jobsServiceGetCall(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + String basePath = null; + // Operation Servers + String[] localBasePaths = new String[] { }; + + // Determine Base Path to Use + if (localCustomBaseUrl != null){ + basePath = localCustomBaseUrl; + } else if ( localBasePaths.length > 0 ) { + basePath = localBasePaths[localHostIndex]; + } else { + basePath = null; + } + + Object localVarPostBody = null; + + // create path and map variables + String localVarPath = "/v1/jobs/{id}" + .replace("{" + "id" + "}", localVarApiClient.escapeString(id.toString())); + + List localVarQueryParams = new ArrayList(); + List localVarCollectionQueryParams = new ArrayList(); + Map localVarHeaderParams = new HashMap(); + Map localVarCookieParams = new HashMap(); + Map localVarFormParams = new HashMap(); + + final String[] localVarAccepts = { + "application/json" + }; + final String localVarAccept = localVarApiClient.selectHeaderAccept(localVarAccepts); + if (localVarAccept != null) { + localVarHeaderParams.put("Accept", localVarAccept); + } + + final String[] localVarContentTypes = { + }; + final String localVarContentType = localVarApiClient.selectHeaderContentType(localVarContentTypes); + if (localVarContentType != null) { + localVarHeaderParams.put("Content-Type", localVarContentType); + } + + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; + return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); + } + + @SuppressWarnings("rawtypes") + private okhttp3.Call jobsServiceGetValidateBeforeCall(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + // verify the required parameter 'id' is set + if (id == null) { + throw new ApiException("Missing the required parameter 'id' when calling jobsServiceGet(Async)"); + } + + return jobsServiceGetCall(id, _callback); + + } + + /** + * Get a job + * Returns the status of a long-running operation and, once it succeeded, its result. Poll this until the status is JOB_STATUS_SUCCEEDED or JOB_STATUS_FAILED. Requires the `links:read` scope. + * @param id The job ID returned when the job was accepted. (required) + * @return Job + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + + + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
+ */ + public Job jobsServiceGet(@javax.annotation.Nonnull String id) throws ApiException { + ApiResponse localVarResp = jobsServiceGetWithHttpInfo(id); + return localVarResp.getData(); + } + + /** + * Get a job + * Returns the status of a long-running operation and, once it succeeded, its result. Poll this until the status is JOB_STATUS_SUCCEEDED or JOB_STATUS_FAILED. Requires the `links:read` scope. + * @param id The job ID returned when the job was accepted. (required) + * @return ApiResponse<Job> + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + + + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
+ */ + public ApiResponse jobsServiceGetWithHttpInfo(@javax.annotation.Nonnull String id) throws ApiException { + okhttp3.Call localVarCall = jobsServiceGetValidateBeforeCall(id, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * Get a job (asynchronously) + * Returns the status of a long-running operation and, once it succeeded, its result. Poll this until the status is JOB_STATUS_SUCCEEDED or JOB_STATUS_FAILED. Requires the `links:read` scope. + * @param id The job ID returned when the job was accepted. (required) + * @param _callback The callback to be executed when the API call finishes + * @return The request call + * @throws ApiException If fail to process the API call, e.g. serializing the request body object + * @http.response.details + + + + + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
+ */ + public okhttp3.Call jobsServiceGetAsync(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = jobsServiceGetValidateBeforeCall(id, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } +} diff --git a/src/main/java/com/linkbreakers/api/LinkSettingsApi.java b/src/main/java/com/linkbreakers/api/LinkSettingsApi.java index fff8cb63f..3a2559205 100644 --- a/src/main/java/com/linkbreakers/api/LinkSettingsApi.java +++ b/src/main/java/com/linkbreakers/api/LinkSettingsApi.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -85,8 +85,9 @@ public void setCustomBaseUrl(String customBaseUrl) { - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public okhttp3.Call settingsServiceGetLinkSettingCall(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { @@ -130,7 +131,7 @@ public okhttp3.Call settingsServiceGetLinkSettingCall(@javax.annotation.Nonnull localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @@ -147,7 +148,7 @@ private okhttp3.Call settingsServiceGetLinkSettingValidateBeforeCall(@javax.anno /** * Get a link setting - * Retrieve the current visitor data collection configuration for a link. + * Retrieve the current visitor data collection configuration for a link. Requires the `links:read` scope. * @param id Identifier of the link setting profile (UUID) (required) * @return GetLinkSettingResponse * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body @@ -155,8 +156,9 @@ private okhttp3.Call settingsServiceGetLinkSettingValidateBeforeCall(@javax.anno - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public GetLinkSettingResponse settingsServiceGetLinkSetting(@javax.annotation.Nonnull String id) throws ApiException { @@ -166,7 +168,7 @@ public GetLinkSettingResponse settingsServiceGetLinkSetting(@javax.annotation.No /** * Get a link setting - * Retrieve the current visitor data collection configuration for a link. + * Retrieve the current visitor data collection configuration for a link. Requires the `links:read` scope. * @param id Identifier of the link setting profile (UUID) (required) * @return ApiResponse<GetLinkSettingResponse> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body @@ -174,8 +176,9 @@ public GetLinkSettingResponse settingsServiceGetLinkSetting(@javax.annotation.No - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public ApiResponse settingsServiceGetLinkSettingWithHttpInfo(@javax.annotation.Nonnull String id) throws ApiException { @@ -186,7 +189,7 @@ public ApiResponse settingsServiceGetLinkSettingWithHttp /** * Get a link setting (asynchronously) - * Retrieve the current visitor data collection configuration for a link. + * Retrieve the current visitor data collection configuration for a link. Requires the `links:read` scope. * @param id Identifier of the link setting profile (UUID) (required) * @param _callback The callback to be executed when the API call finishes * @return The request call @@ -195,8 +198,9 @@ public ApiResponse settingsServiceGetLinkSettingWithHttp - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public okhttp3.Call settingsServiceGetLinkSettingAsync(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { @@ -210,6 +214,7 @@ public okhttp3.Call settingsServiceGetLinkSettingAsync(@javax.annotation.Nonnull * Build call for settingsServiceUpdateLinkSetting * @param id The ID of the link setting to update (UUID) (required) * @param settingsServiceUpdateLinkSettingBody (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @param _callback Callback for upload/download progress * @return Call to execute * @throws ApiException If fail to serialize the request body object @@ -217,11 +222,12 @@ public okhttp3.Call settingsServiceGetLinkSettingAsync(@javax.annotation.Nonnull - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call settingsServiceUpdateLinkSettingCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull SettingsServiceUpdateLinkSettingBody settingsServiceUpdateLinkSettingBody, final ApiCallback _callback) throws ApiException { + public okhttp3.Call settingsServiceUpdateLinkSettingCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull SettingsServiceUpdateLinkSettingBody settingsServiceUpdateLinkSettingBody, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -263,12 +269,17 @@ public okhttp3.Call settingsServiceUpdateLinkSettingCall(@javax.annotation.Nonnu localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + if (idempotencyKey != null) { + localVarHeaderParams.put("Idempotency-Key", localVarApiClient.parameterToString(idempotencyKey)); + } + + + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; return localVarApiClient.buildCall(basePath, localVarPath, "PUT", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @SuppressWarnings("rawtypes") - private okhttp3.Call settingsServiceUpdateLinkSettingValidateBeforeCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull SettingsServiceUpdateLinkSettingBody settingsServiceUpdateLinkSettingBody, final ApiCallback _callback) throws ApiException { + private okhttp3.Call settingsServiceUpdateLinkSettingValidateBeforeCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull SettingsServiceUpdateLinkSettingBody settingsServiceUpdateLinkSettingBody, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { // verify the required parameter 'id' is set if (id == null) { throw new ApiException("Missing the required parameter 'id' when calling settingsServiceUpdateLinkSetting(Async)"); @@ -279,56 +290,61 @@ private okhttp3.Call settingsServiceUpdateLinkSettingValidateBeforeCall(@javax.a throw new ApiException("Missing the required parameter 'settingsServiceUpdateLinkSettingBody' when calling settingsServiceUpdateLinkSetting(Async)"); } - return settingsServiceUpdateLinkSettingCall(id, settingsServiceUpdateLinkSettingBody, _callback); + return settingsServiceUpdateLinkSettingCall(id, settingsServiceUpdateLinkSettingBody, idempotencyKey, _callback); } /** * Update a link setting - * Adjust the data collection policy associated with a specific link. + * Adjust the data collection policy associated with a specific link. Requires the `links:write` scope. * @param id The ID of the link setting to update (UUID) (required) * @param settingsServiceUpdateLinkSettingBody (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return UpdateLinkSettingResponse * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public UpdateLinkSettingResponse settingsServiceUpdateLinkSetting(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull SettingsServiceUpdateLinkSettingBody settingsServiceUpdateLinkSettingBody) throws ApiException { - ApiResponse localVarResp = settingsServiceUpdateLinkSettingWithHttpInfo(id, settingsServiceUpdateLinkSettingBody); + public UpdateLinkSettingResponse settingsServiceUpdateLinkSetting(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull SettingsServiceUpdateLinkSettingBody settingsServiceUpdateLinkSettingBody, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + ApiResponse localVarResp = settingsServiceUpdateLinkSettingWithHttpInfo(id, settingsServiceUpdateLinkSettingBody, idempotencyKey); return localVarResp.getData(); } /** * Update a link setting - * Adjust the data collection policy associated with a specific link. + * Adjust the data collection policy associated with a specific link. Requires the `links:write` scope. * @param id The ID of the link setting to update (UUID) (required) * @param settingsServiceUpdateLinkSettingBody (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return ApiResponse<UpdateLinkSettingResponse> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public ApiResponse settingsServiceUpdateLinkSettingWithHttpInfo(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull SettingsServiceUpdateLinkSettingBody settingsServiceUpdateLinkSettingBody) throws ApiException { - okhttp3.Call localVarCall = settingsServiceUpdateLinkSettingValidateBeforeCall(id, settingsServiceUpdateLinkSettingBody, null); + public ApiResponse settingsServiceUpdateLinkSettingWithHttpInfo(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull SettingsServiceUpdateLinkSettingBody settingsServiceUpdateLinkSettingBody, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + okhttp3.Call localVarCall = settingsServiceUpdateLinkSettingValidateBeforeCall(id, settingsServiceUpdateLinkSettingBody, idempotencyKey, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); } /** * Update a link setting (asynchronously) - * Adjust the data collection policy associated with a specific link. + * Adjust the data collection policy associated with a specific link. Requires the `links:write` scope. * @param id The ID of the link setting to update (UUID) (required) * @param settingsServiceUpdateLinkSettingBody (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @param _callback The callback to be executed when the API call finishes * @return The request call * @throws ApiException If fail to process the API call, e.g. serializing the request body object @@ -336,13 +352,14 @@ public ApiResponse settingsServiceUpdateLinkSettingWi - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call settingsServiceUpdateLinkSettingAsync(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull SettingsServiceUpdateLinkSettingBody settingsServiceUpdateLinkSettingBody, final ApiCallback _callback) throws ApiException { + public okhttp3.Call settingsServiceUpdateLinkSettingAsync(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull SettingsServiceUpdateLinkSettingBody settingsServiceUpdateLinkSettingBody, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { - okhttp3.Call localVarCall = settingsServiceUpdateLinkSettingValidateBeforeCall(id, settingsServiceUpdateLinkSettingBody, _callback); + okhttp3.Call localVarCall = settingsServiceUpdateLinkSettingValidateBeforeCall(id, settingsServiceUpdateLinkSettingBody, idempotencyKey, _callback); Type localVarReturnType = new TypeToken(){}.getType(); localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); return localVarCall; diff --git a/src/main/java/com/linkbreakers/api/LinksApi.java b/src/main/java/com/linkbreakers/api/LinksApi.java index 2075b4393..664c6264b 100644 --- a/src/main/java/com/linkbreakers/api/LinksApi.java +++ b/src/main/java/com/linkbreakers/api/LinksApi.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -37,6 +37,7 @@ import com.linkbreakers.model.CreateThankYouLinkResponse; import com.linkbreakers.model.ErrorResponse; import com.linkbreakers.model.GetLinkResponse; +import com.linkbreakers.model.Job; import com.linkbreakers.model.LinksServiceUpdateBody; import com.linkbreakers.model.ListLinksResponse; import com.linkbreakers.model.ResolveQrcodeImagesRequest; @@ -91,6 +92,7 @@ public void setCustomBaseUrl(String customBaseUrl) { /** * Build call for linksServiceCreate * @param createLinkRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @param _callback Callback for upload/download progress * @return Call to execute * @throws ApiException If fail to serialize the request body object @@ -98,11 +100,12 @@ public void setCustomBaseUrl(String customBaseUrl) { - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call linksServiceCreateCall(@javax.annotation.Nonnull CreateLinkRequest createLinkRequest, final ApiCallback _callback) throws ApiException { + public okhttp3.Call linksServiceCreateCall(@javax.annotation.Nonnull CreateLinkRequest createLinkRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -143,64 +146,74 @@ public okhttp3.Call linksServiceCreateCall(@javax.annotation.Nonnull CreateLinkR localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + if (idempotencyKey != null) { + localVarHeaderParams.put("Idempotency-Key", localVarApiClient.parameterToString(idempotencyKey)); + } + + + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; return localVarApiClient.buildCall(basePath, localVarPath, "POST", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @SuppressWarnings("rawtypes") - private okhttp3.Call linksServiceCreateValidateBeforeCall(@javax.annotation.Nonnull CreateLinkRequest createLinkRequest, final ApiCallback _callback) throws ApiException { + private okhttp3.Call linksServiceCreateValidateBeforeCall(@javax.annotation.Nonnull CreateLinkRequest createLinkRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { // verify the required parameter 'createLinkRequest' is set if (createLinkRequest == null) { throw new ApiException("Missing the required parameter 'createLinkRequest' when calling linksServiceCreate(Async)"); } - return linksServiceCreateCall(createLinkRequest, _callback); + return linksServiceCreateCall(createLinkRequest, idempotencyKey, _callback); } /** * Create a new link - * This endpoint allows users to create a new shortened URL link in their Linkbreakers workspace. The URL will be checked for malicious content before being shortened. + * This endpoint allows users to create a new shortened URL link in their Linkbreakers workspace. The URL will be checked for malicious content before being shortened. Requires the `links:write` scope. * @param createLinkRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return CreateLinkResponse * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public CreateLinkResponse linksServiceCreate(@javax.annotation.Nonnull CreateLinkRequest createLinkRequest) throws ApiException { - ApiResponse localVarResp = linksServiceCreateWithHttpInfo(createLinkRequest); + public CreateLinkResponse linksServiceCreate(@javax.annotation.Nonnull CreateLinkRequest createLinkRequest, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + ApiResponse localVarResp = linksServiceCreateWithHttpInfo(createLinkRequest, idempotencyKey); return localVarResp.getData(); } /** * Create a new link - * This endpoint allows users to create a new shortened URL link in their Linkbreakers workspace. The URL will be checked for malicious content before being shortened. + * This endpoint allows users to create a new shortened URL link in their Linkbreakers workspace. The URL will be checked for malicious content before being shortened. Requires the `links:write` scope. * @param createLinkRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return ApiResponse<CreateLinkResponse> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public ApiResponse linksServiceCreateWithHttpInfo(@javax.annotation.Nonnull CreateLinkRequest createLinkRequest) throws ApiException { - okhttp3.Call localVarCall = linksServiceCreateValidateBeforeCall(createLinkRequest, null); + public ApiResponse linksServiceCreateWithHttpInfo(@javax.annotation.Nonnull CreateLinkRequest createLinkRequest, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + okhttp3.Call localVarCall = linksServiceCreateValidateBeforeCall(createLinkRequest, idempotencyKey, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); } /** * Create a new link (asynchronously) - * This endpoint allows users to create a new shortened URL link in their Linkbreakers workspace. The URL will be checked for malicious content before being shortened. + * This endpoint allows users to create a new shortened URL link in their Linkbreakers workspace. The URL will be checked for malicious content before being shortened. Requires the `links:write` scope. * @param createLinkRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @param _callback The callback to be executed when the API call finishes * @return The request call * @throws ApiException If fail to process the API call, e.g. serializing the request body object @@ -208,20 +221,166 @@ public ApiResponse linksServiceCreateWithHttpInfo(@javax.ann - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call linksServiceCreateAsync(@javax.annotation.Nonnull CreateLinkRequest createLinkRequest, final ApiCallback _callback) throws ApiException { + public okhttp3.Call linksServiceCreateAsync(@javax.annotation.Nonnull CreateLinkRequest createLinkRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { - okhttp3.Call localVarCall = linksServiceCreateValidateBeforeCall(createLinkRequest, _callback); + okhttp3.Call localVarCall = linksServiceCreateValidateBeforeCall(createLinkRequest, idempotencyKey, _callback); Type localVarReturnType = new TypeToken(){}.getType(); localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); return localVarCall; } + /** + * Build call for linksServiceCreateBatch + * @param createLinkRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) + * @param _callback Callback for upload/download progress + * @return Call to execute + * @throws ApiException If fail to serialize the request body object + * @http.response.details + + + + + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
+ */ + public okhttp3.Call linksServiceCreateBatchCall(@javax.annotation.Nonnull List createLinkRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { + String basePath = null; + // Operation Servers + String[] localBasePaths = new String[] { }; + + // Determine Base Path to Use + if (localCustomBaseUrl != null){ + basePath = localCustomBaseUrl; + } else if ( localBasePaths.length > 0 ) { + basePath = localBasePaths[localHostIndex]; + } else { + basePath = null; + } + + Object localVarPostBody = createLinkRequest; + + // create path and map variables + String localVarPath = "/v1/links/batch"; + + List localVarQueryParams = new ArrayList(); + List localVarCollectionQueryParams = new ArrayList(); + Map localVarHeaderParams = new HashMap(); + Map localVarCookieParams = new HashMap(); + Map localVarFormParams = new HashMap(); + + final String[] localVarAccepts = { + "application/json" + }; + final String localVarAccept = localVarApiClient.selectHeaderAccept(localVarAccepts); + if (localVarAccept != null) { + localVarHeaderParams.put("Accept", localVarAccept); + } + + final String[] localVarContentTypes = { + "application/json" + }; + final String localVarContentType = localVarApiClient.selectHeaderContentType(localVarContentTypes); + if (localVarContentType != null) { + localVarHeaderParams.put("Content-Type", localVarContentType); + } + + if (idempotencyKey != null) { + localVarHeaderParams.put("Idempotency-Key", localVarApiClient.parameterToString(idempotencyKey)); + } + + + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; + return localVarApiClient.buildCall(basePath, localVarPath, "POST", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); + } + + @SuppressWarnings("rawtypes") + private okhttp3.Call linksServiceCreateBatchValidateBeforeCall(@javax.annotation.Nonnull List createLinkRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { + // verify the required parameter 'createLinkRequest' is set + if (createLinkRequest == null) { + throw new ApiException("Missing the required parameter 'createLinkRequest' when calling linksServiceCreateBatch(Async)"); + } + + return linksServiceCreateBatchCall(createLinkRequest, idempotencyKey, _callback); + + } + + /** + * Create multiple links in a single request + * Creates links in batch using the same per-link options as Create. This operation is transactional: if one link fails validation or insertion, no links from the batch are created. Requires the `links:write` scope. + * @param createLinkRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) + * @return CreateBulkLinksResponse + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + + + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
+ */ + public CreateBulkLinksResponse linksServiceCreateBatch(@javax.annotation.Nonnull List createLinkRequest, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + ApiResponse localVarResp = linksServiceCreateBatchWithHttpInfo(createLinkRequest, idempotencyKey); + return localVarResp.getData(); + } + + /** + * Create multiple links in a single request + * Creates links in batch using the same per-link options as Create. This operation is transactional: if one link fails validation or insertion, no links from the batch are created. Requires the `links:write` scope. + * @param createLinkRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) + * @return ApiResponse<CreateBulkLinksResponse> + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + + + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
+ */ + public ApiResponse linksServiceCreateBatchWithHttpInfo(@javax.annotation.Nonnull List createLinkRequest, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + okhttp3.Call localVarCall = linksServiceCreateBatchValidateBeforeCall(createLinkRequest, idempotencyKey, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * Create multiple links in a single request (asynchronously) + * Creates links in batch using the same per-link options as Create. This operation is transactional: if one link fails validation or insertion, no links from the batch are created. Requires the `links:write` scope. + * @param createLinkRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) + * @param _callback The callback to be executed when the API call finishes + * @return The request call + * @throws ApiException If fail to process the API call, e.g. serializing the request body object + * @http.response.details + + + + + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
+ */ + public okhttp3.Call linksServiceCreateBatchAsync(@javax.annotation.Nonnull List createLinkRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = linksServiceCreateBatchValidateBeforeCall(createLinkRequest, idempotencyKey, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } /** * Build call for linksServiceCreateBulk * @param createBulkLinksRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @param _callback Callback for upload/download progress * @return Call to execute * @throws ApiException If fail to serialize the request body object @@ -229,11 +388,12 @@ public okhttp3.Call linksServiceCreateAsync(@javax.annotation.Nonnull CreateLink - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call linksServiceCreateBulkCall(@javax.annotation.Nonnull CreateBulkLinksRequest createBulkLinksRequest, final ApiCallback _callback) throws ApiException { + public okhttp3.Call linksServiceCreateBulkCall(@javax.annotation.Nonnull CreateBulkLinksRequest createBulkLinksRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -274,64 +434,74 @@ public okhttp3.Call linksServiceCreateBulkCall(@javax.annotation.Nonnull CreateB localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + if (idempotencyKey != null) { + localVarHeaderParams.put("Idempotency-Key", localVarApiClient.parameterToString(idempotencyKey)); + } + + + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; return localVarApiClient.buildCall(basePath, localVarPath, "POST", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @SuppressWarnings("rawtypes") - private okhttp3.Call linksServiceCreateBulkValidateBeforeCall(@javax.annotation.Nonnull CreateBulkLinksRequest createBulkLinksRequest, final ApiCallback _callback) throws ApiException { + private okhttp3.Call linksServiceCreateBulkValidateBeforeCall(@javax.annotation.Nonnull CreateBulkLinksRequest createBulkLinksRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { // verify the required parameter 'createBulkLinksRequest' is set if (createBulkLinksRequest == null) { throw new ApiException("Missing the required parameter 'createBulkLinksRequest' when calling linksServiceCreateBulk(Async)"); } - return linksServiceCreateBulkCall(createBulkLinksRequest, _callback); + return linksServiceCreateBulkCall(createBulkLinksRequest, idempotencyKey, _callback); } /** * Create multiple links in a single request - * Creates links in batch using the same per-link options as Create. This operation is transactional: if one link fails validation or insertion, no links from the batch are created. + * Creates links in batch using the same per-link options as Create. This operation is transactional: if one link fails validation or insertion, no links from the batch are created. Requires the `links:write` scope. * @param createBulkLinksRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return CreateBulkLinksResponse * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public CreateBulkLinksResponse linksServiceCreateBulk(@javax.annotation.Nonnull CreateBulkLinksRequest createBulkLinksRequest) throws ApiException { - ApiResponse localVarResp = linksServiceCreateBulkWithHttpInfo(createBulkLinksRequest); + public CreateBulkLinksResponse linksServiceCreateBulk(@javax.annotation.Nonnull CreateBulkLinksRequest createBulkLinksRequest, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + ApiResponse localVarResp = linksServiceCreateBulkWithHttpInfo(createBulkLinksRequest, idempotencyKey); return localVarResp.getData(); } /** * Create multiple links in a single request - * Creates links in batch using the same per-link options as Create. This operation is transactional: if one link fails validation or insertion, no links from the batch are created. + * Creates links in batch using the same per-link options as Create. This operation is transactional: if one link fails validation or insertion, no links from the batch are created. Requires the `links:write` scope. * @param createBulkLinksRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return ApiResponse<CreateBulkLinksResponse> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public ApiResponse linksServiceCreateBulkWithHttpInfo(@javax.annotation.Nonnull CreateBulkLinksRequest createBulkLinksRequest) throws ApiException { - okhttp3.Call localVarCall = linksServiceCreateBulkValidateBeforeCall(createBulkLinksRequest, null); + public ApiResponse linksServiceCreateBulkWithHttpInfo(@javax.annotation.Nonnull CreateBulkLinksRequest createBulkLinksRequest, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + okhttp3.Call localVarCall = linksServiceCreateBulkValidateBeforeCall(createBulkLinksRequest, idempotencyKey, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); } /** * Create multiple links in a single request (asynchronously) - * Creates links in batch using the same per-link options as Create. This operation is transactional: if one link fails validation or insertion, no links from the batch are created. + * Creates links in batch using the same per-link options as Create. This operation is transactional: if one link fails validation or insertion, no links from the batch are created. Requires the `links:write` scope. * @param createBulkLinksRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @param _callback The callback to be executed when the API call finishes * @return The request call * @throws ApiException If fail to process the API call, e.g. serializing the request body object @@ -339,20 +509,166 @@ public ApiResponse linksServiceCreateBulkWithHttpInfo(@ - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call linksServiceCreateBulkAsync(@javax.annotation.Nonnull CreateBulkLinksRequest createBulkLinksRequest, final ApiCallback _callback) throws ApiException { + public okhttp3.Call linksServiceCreateBulkAsync(@javax.annotation.Nonnull CreateBulkLinksRequest createBulkLinksRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { - okhttp3.Call localVarCall = linksServiceCreateBulkValidateBeforeCall(createBulkLinksRequest, _callback); + okhttp3.Call localVarCall = linksServiceCreateBulkValidateBeforeCall(createBulkLinksRequest, idempotencyKey, _callback); Type localVarReturnType = new TypeToken(){}.getType(); localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); return localVarCall; } + /** + * Build call for linksServiceCreateBulkAsync + * @param createBulkLinksRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) + * @param _callback Callback for upload/download progress + * @return Call to execute + * @throws ApiException If fail to serialize the request body object + * @http.response.details + + + + + + +
Response Details
Status Code Description Response Headers
202 Accepted. The links are being created; poll the job at the Location header (GET /v1/jobs/{id}). * Idempotent-Replayed -
* Location - Where to poll the job: GET this path until its status is JOB_STATUS_SUCCEEDED or JOB_STATUS_FAILED.
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
+ */ + public okhttp3.Call linksServiceCreateBulkAsyncCall(@javax.annotation.Nonnull CreateBulkLinksRequest createBulkLinksRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { + String basePath = null; + // Operation Servers + String[] localBasePaths = new String[] { }; + + // Determine Base Path to Use + if (localCustomBaseUrl != null){ + basePath = localCustomBaseUrl; + } else if ( localBasePaths.length > 0 ) { + basePath = localBasePaths[localHostIndex]; + } else { + basePath = null; + } + + Object localVarPostBody = createBulkLinksRequest; + + // create path and map variables + String localVarPath = "/v1/links/bulk/jobs"; + + List localVarQueryParams = new ArrayList(); + List localVarCollectionQueryParams = new ArrayList(); + Map localVarHeaderParams = new HashMap(); + Map localVarCookieParams = new HashMap(); + Map localVarFormParams = new HashMap(); + + final String[] localVarAccepts = { + "application/json" + }; + final String localVarAccept = localVarApiClient.selectHeaderAccept(localVarAccepts); + if (localVarAccept != null) { + localVarHeaderParams.put("Accept", localVarAccept); + } + + final String[] localVarContentTypes = { + "application/json" + }; + final String localVarContentType = localVarApiClient.selectHeaderContentType(localVarContentTypes); + if (localVarContentType != null) { + localVarHeaderParams.put("Content-Type", localVarContentType); + } + + if (idempotencyKey != null) { + localVarHeaderParams.put("Idempotency-Key", localVarApiClient.parameterToString(idempotencyKey)); + } + + + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; + return localVarApiClient.buildCall(basePath, localVarPath, "POST", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); + } + + @SuppressWarnings("rawtypes") + private okhttp3.Call linksServiceCreateBulkAsyncValidateBeforeCall(@javax.annotation.Nonnull CreateBulkLinksRequest createBulkLinksRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { + // verify the required parameter 'createBulkLinksRequest' is set + if (createBulkLinksRequest == null) { + throw new ApiException("Missing the required parameter 'createBulkLinksRequest' when calling linksServiceCreateBulkAsync(Async)"); + } + + return linksServiceCreateBulkAsyncCall(createBulkLinksRequest, idempotencyKey, _callback); + + } + + /** + * Create links in bulk in the background + * Accepts the same batch as POST /v1/links/bulk, answers 202 Accepted at once with a job and a Location header, and creates the links in the background. Poll GET /v1/jobs/{id} for the result. The batch is transactional: when the job fails, no link was created. Requires the `links:write` scope. + * @param createBulkLinksRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) + * @return Job + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + + + + +
Response Details
Status Code Description Response Headers
202 Accepted. The links are being created; poll the job at the Location header (GET /v1/jobs/{id}). * Idempotent-Replayed -
* Location - Where to poll the job: GET this path until its status is JOB_STATUS_SUCCEEDED or JOB_STATUS_FAILED.
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
+ */ + public Job linksServiceCreateBulkAsync(@javax.annotation.Nonnull CreateBulkLinksRequest createBulkLinksRequest, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + ApiResponse localVarResp = linksServiceCreateBulkAsyncWithHttpInfo(createBulkLinksRequest, idempotencyKey); + return localVarResp.getData(); + } + + /** + * Create links in bulk in the background + * Accepts the same batch as POST /v1/links/bulk, answers 202 Accepted at once with a job and a Location header, and creates the links in the background. Poll GET /v1/jobs/{id} for the result. The batch is transactional: when the job fails, no link was created. Requires the `links:write` scope. + * @param createBulkLinksRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) + * @return ApiResponse<Job> + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + + + + +
Response Details
Status Code Description Response Headers
202 Accepted. The links are being created; poll the job at the Location header (GET /v1/jobs/{id}). * Idempotent-Replayed -
* Location - Where to poll the job: GET this path until its status is JOB_STATUS_SUCCEEDED or JOB_STATUS_FAILED.
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
+ */ + public ApiResponse linksServiceCreateBulkAsyncWithHttpInfo(@javax.annotation.Nonnull CreateBulkLinksRequest createBulkLinksRequest, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + okhttp3.Call localVarCall = linksServiceCreateBulkAsyncValidateBeforeCall(createBulkLinksRequest, idempotencyKey, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * Create links in bulk in the background (asynchronously) + * Accepts the same batch as POST /v1/links/bulk, answers 202 Accepted at once with a job and a Location header, and creates the links in the background. Poll GET /v1/jobs/{id} for the result. The batch is transactional: when the job fails, no link was created. Requires the `links:write` scope. + * @param createBulkLinksRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) + * @param _callback The callback to be executed when the API call finishes + * @return The request call + * @throws ApiException If fail to process the API call, e.g. serializing the request body object + * @http.response.details + + + + + + +
Response Details
Status Code Description Response Headers
202 Accepted. The links are being created; poll the job at the Location header (GET /v1/jobs/{id}). * Idempotent-Replayed -
* Location - Where to poll the job: GET this path until its status is JOB_STATUS_SUCCEEDED or JOB_STATUS_FAILED.
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
+ */ + public okhttp3.Call linksServiceCreateBulkAsyncAsync(@javax.annotation.Nonnull CreateBulkLinksRequest createBulkLinksRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = linksServiceCreateBulkAsyncValidateBeforeCall(createBulkLinksRequest, idempotencyKey, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } /** * Build call for linksServiceCreateContactLink * @param createContactLinkRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @param _callback Callback for upload/download progress * @return Call to execute * @throws ApiException If fail to serialize the request body object @@ -360,11 +676,12 @@ public okhttp3.Call linksServiceCreateBulkAsync(@javax.annotation.Nonnull Create - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call linksServiceCreateContactLinkCall(@javax.annotation.Nonnull CreateContactLinkRequest createContactLinkRequest, final ApiCallback _callback) throws ApiException { + public okhttp3.Call linksServiceCreateContactLinkCall(@javax.annotation.Nonnull CreateContactLinkRequest createContactLinkRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -405,64 +722,74 @@ public okhttp3.Call linksServiceCreateContactLinkCall(@javax.annotation.Nonnull localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + if (idempotencyKey != null) { + localVarHeaderParams.put("Idempotency-Key", localVarApiClient.parameterToString(idempotencyKey)); + } + + + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; return localVarApiClient.buildCall(basePath, localVarPath, "POST", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @SuppressWarnings("rawtypes") - private okhttp3.Call linksServiceCreateContactLinkValidateBeforeCall(@javax.annotation.Nonnull CreateContactLinkRequest createContactLinkRequest, final ApiCallback _callback) throws ApiException { + private okhttp3.Call linksServiceCreateContactLinkValidateBeforeCall(@javax.annotation.Nonnull CreateContactLinkRequest createContactLinkRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { // verify the required parameter 'createContactLinkRequest' is set if (createContactLinkRequest == null) { throw new ApiException("Missing the required parameter 'createContactLinkRequest' when calling linksServiceCreateContactLink(Async)"); } - return linksServiceCreateContactLinkCall(createContactLinkRequest, _callback); + return linksServiceCreateContactLinkCall(createContactLinkRequest, idempotencyKey, _callback); } /** * Create a new contact card link - * This endpoint allows users to create a new vCard contact link in their Linkbreakers workspace. The link will generate a vCard file for contact information sharing. + * This endpoint allows users to create a new vCard contact link in their Linkbreakers workspace. The link will generate a vCard file for contact information sharing. Requires the `links:write` scope. * @param createContactLinkRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return CreateContactLinkResponse * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public CreateContactLinkResponse linksServiceCreateContactLink(@javax.annotation.Nonnull CreateContactLinkRequest createContactLinkRequest) throws ApiException { - ApiResponse localVarResp = linksServiceCreateContactLinkWithHttpInfo(createContactLinkRequest); + public CreateContactLinkResponse linksServiceCreateContactLink(@javax.annotation.Nonnull CreateContactLinkRequest createContactLinkRequest, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + ApiResponse localVarResp = linksServiceCreateContactLinkWithHttpInfo(createContactLinkRequest, idempotencyKey); return localVarResp.getData(); } /** * Create a new contact card link - * This endpoint allows users to create a new vCard contact link in their Linkbreakers workspace. The link will generate a vCard file for contact information sharing. + * This endpoint allows users to create a new vCard contact link in their Linkbreakers workspace. The link will generate a vCard file for contact information sharing. Requires the `links:write` scope. * @param createContactLinkRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return ApiResponse<CreateContactLinkResponse> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public ApiResponse linksServiceCreateContactLinkWithHttpInfo(@javax.annotation.Nonnull CreateContactLinkRequest createContactLinkRequest) throws ApiException { - okhttp3.Call localVarCall = linksServiceCreateContactLinkValidateBeforeCall(createContactLinkRequest, null); + public ApiResponse linksServiceCreateContactLinkWithHttpInfo(@javax.annotation.Nonnull CreateContactLinkRequest createContactLinkRequest, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + okhttp3.Call localVarCall = linksServiceCreateContactLinkValidateBeforeCall(createContactLinkRequest, idempotencyKey, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); } /** * Create a new contact card link (asynchronously) - * This endpoint allows users to create a new vCard contact link in their Linkbreakers workspace. The link will generate a vCard file for contact information sharing. + * This endpoint allows users to create a new vCard contact link in their Linkbreakers workspace. The link will generate a vCard file for contact information sharing. Requires the `links:write` scope. * @param createContactLinkRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @param _callback The callback to be executed when the API call finishes * @return The request call * @throws ApiException If fail to process the API call, e.g. serializing the request body object @@ -470,13 +797,14 @@ public ApiResponse linksServiceCreateContactLinkWithH - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call linksServiceCreateContactLinkAsync(@javax.annotation.Nonnull CreateContactLinkRequest createContactLinkRequest, final ApiCallback _callback) throws ApiException { + public okhttp3.Call linksServiceCreateContactLinkAsync(@javax.annotation.Nonnull CreateContactLinkRequest createContactLinkRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { - okhttp3.Call localVarCall = linksServiceCreateContactLinkValidateBeforeCall(createContactLinkRequest, _callback); + okhttp3.Call localVarCall = linksServiceCreateContactLinkValidateBeforeCall(createContactLinkRequest, idempotencyKey, _callback); Type localVarReturnType = new TypeToken(){}.getType(); localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); return localVarCall; @@ -484,6 +812,7 @@ public okhttp3.Call linksServiceCreateContactLinkAsync(@javax.annotation.Nonnull /** * Build call for linksServiceCreateThankYouLink * @param createThankYouLinkRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @param _callback Callback for upload/download progress * @return Call to execute * @throws ApiException If fail to serialize the request body object @@ -491,11 +820,12 @@ public okhttp3.Call linksServiceCreateContactLinkAsync(@javax.annotation.Nonnull - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call linksServiceCreateThankYouLinkCall(@javax.annotation.Nonnull CreateThankYouLinkRequest createThankYouLinkRequest, final ApiCallback _callback) throws ApiException { + public okhttp3.Call linksServiceCreateThankYouLinkCall(@javax.annotation.Nonnull CreateThankYouLinkRequest createThankYouLinkRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -536,64 +866,74 @@ public okhttp3.Call linksServiceCreateThankYouLinkCall(@javax.annotation.Nonnull localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + if (idempotencyKey != null) { + localVarHeaderParams.put("Idempotency-Key", localVarApiClient.parameterToString(idempotencyKey)); + } + + + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; return localVarApiClient.buildCall(basePath, localVarPath, "POST", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @SuppressWarnings("rawtypes") - private okhttp3.Call linksServiceCreateThankYouLinkValidateBeforeCall(@javax.annotation.Nonnull CreateThankYouLinkRequest createThankYouLinkRequest, final ApiCallback _callback) throws ApiException { + private okhttp3.Call linksServiceCreateThankYouLinkValidateBeforeCall(@javax.annotation.Nonnull CreateThankYouLinkRequest createThankYouLinkRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { // verify the required parameter 'createThankYouLinkRequest' is set if (createThankYouLinkRequest == null) { throw new ApiException("Missing the required parameter 'createThankYouLinkRequest' when calling linksServiceCreateThankYouLink(Async)"); } - return linksServiceCreateThankYouLinkCall(createThankYouLinkRequest, _callback); + return linksServiceCreateThankYouLinkCall(createThankYouLinkRequest, idempotencyKey, _callback); } /** * Create a new thank you page link - * This endpoint allows users to create a new link with a thank you page as the exit step. + * This endpoint allows users to create a new link with a thank you page as the exit step. Requires the `links:write` scope. * @param createThankYouLinkRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return CreateThankYouLinkResponse * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public CreateThankYouLinkResponse linksServiceCreateThankYouLink(@javax.annotation.Nonnull CreateThankYouLinkRequest createThankYouLinkRequest) throws ApiException { - ApiResponse localVarResp = linksServiceCreateThankYouLinkWithHttpInfo(createThankYouLinkRequest); + public CreateThankYouLinkResponse linksServiceCreateThankYouLink(@javax.annotation.Nonnull CreateThankYouLinkRequest createThankYouLinkRequest, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + ApiResponse localVarResp = linksServiceCreateThankYouLinkWithHttpInfo(createThankYouLinkRequest, idempotencyKey); return localVarResp.getData(); } /** * Create a new thank you page link - * This endpoint allows users to create a new link with a thank you page as the exit step. + * This endpoint allows users to create a new link with a thank you page as the exit step. Requires the `links:write` scope. * @param createThankYouLinkRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return ApiResponse<CreateThankYouLinkResponse> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public ApiResponse linksServiceCreateThankYouLinkWithHttpInfo(@javax.annotation.Nonnull CreateThankYouLinkRequest createThankYouLinkRequest) throws ApiException { - okhttp3.Call localVarCall = linksServiceCreateThankYouLinkValidateBeforeCall(createThankYouLinkRequest, null); + public ApiResponse linksServiceCreateThankYouLinkWithHttpInfo(@javax.annotation.Nonnull CreateThankYouLinkRequest createThankYouLinkRequest, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + okhttp3.Call localVarCall = linksServiceCreateThankYouLinkValidateBeforeCall(createThankYouLinkRequest, idempotencyKey, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); } /** * Create a new thank you page link (asynchronously) - * This endpoint allows users to create a new link with a thank you page as the exit step. + * This endpoint allows users to create a new link with a thank you page as the exit step. Requires the `links:write` scope. * @param createThankYouLinkRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @param _callback The callback to be executed when the API call finishes * @return The request call * @throws ApiException If fail to process the API call, e.g. serializing the request body object @@ -601,13 +941,14 @@ public ApiResponse linksServiceCreateThankYouLinkWit - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call linksServiceCreateThankYouLinkAsync(@javax.annotation.Nonnull CreateThankYouLinkRequest createThankYouLinkRequest, final ApiCallback _callback) throws ApiException { + public okhttp3.Call linksServiceCreateThankYouLinkAsync(@javax.annotation.Nonnull CreateThankYouLinkRequest createThankYouLinkRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { - okhttp3.Call localVarCall = linksServiceCreateThankYouLinkValidateBeforeCall(createThankYouLinkRequest, _callback); + okhttp3.Call localVarCall = linksServiceCreateThankYouLinkValidateBeforeCall(createThankYouLinkRequest, idempotencyKey, _callback); Type localVarReturnType = new TypeToken(){}.getType(); localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); return localVarCall; @@ -622,8 +963,9 @@ public okhttp3.Call linksServiceCreateThankYouLinkAsync(@javax.annotation.Nonnul - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public okhttp3.Call linksServiceDeleteCall(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { @@ -667,7 +1009,7 @@ public okhttp3.Call linksServiceDeleteCall(@javax.annotation.Nonnull String id, localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; return localVarApiClient.buildCall(basePath, localVarPath, "DELETE", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @@ -684,7 +1026,7 @@ private okhttp3.Call linksServiceDeleteValidateBeforeCall(@javax.annotation.Nonn /** * Delete a link - * Removes a shortened link from the workspace. This operation cannot be undone. + * Removes a shortened link from the workspace. This operation cannot be undone. Requires the `links:write` scope. * @param id The ID of the link to delete (UUID) (required) * @return Object * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body @@ -692,8 +1034,9 @@ private okhttp3.Call linksServiceDeleteValidateBeforeCall(@javax.annotation.Nonn - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public Object linksServiceDelete(@javax.annotation.Nonnull String id) throws ApiException { @@ -703,7 +1046,7 @@ public Object linksServiceDelete(@javax.annotation.Nonnull String id) throws Api /** * Delete a link - * Removes a shortened link from the workspace. This operation cannot be undone. + * Removes a shortened link from the workspace. This operation cannot be undone. Requires the `links:write` scope. * @param id The ID of the link to delete (UUID) (required) * @return ApiResponse<Object> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body @@ -711,8 +1054,9 @@ public Object linksServiceDelete(@javax.annotation.Nonnull String id) throws Api - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public ApiResponse linksServiceDeleteWithHttpInfo(@javax.annotation.Nonnull String id) throws ApiException { @@ -723,7 +1067,7 @@ public ApiResponse linksServiceDeleteWithHttpInfo(@javax.annotation.Nonn /** * Delete a link (asynchronously) - * Removes a shortened link from the workspace. This operation cannot be undone. + * Removes a shortened link from the workspace. This operation cannot be undone. Requires the `links:write` scope. * @param id The ID of the link to delete (UUID) (required) * @param _callback The callback to be executed when the API call finishes * @return The request call @@ -732,8 +1076,9 @@ public ApiResponse linksServiceDeleteWithHttpInfo(@javax.annotation.Nonn - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public okhttp3.Call linksServiceDeleteAsync(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { @@ -754,8 +1099,9 @@ public okhttp3.Call linksServiceDeleteAsync(@javax.annotation.Nonnull String id, - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public okhttp3.Call linksServiceGetCall(@javax.annotation.Nonnull String id, @javax.annotation.Nullable List include, final ApiCallback _callback) throws ApiException { @@ -803,7 +1149,7 @@ public okhttp3.Call linksServiceGetCall(@javax.annotation.Nonnull String id, @ja localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @@ -820,7 +1166,7 @@ private okhttp3.Call linksServiceGetValidateBeforeCall(@javax.annotation.Nonnull /** * Get link details - * Retrieves information about a shortened link including its metadata and metrics. + * Retrieves information about a shortened link including its metadata and metrics. Requires the `links:read` scope. * @param id The ID of the link to retrieve (UUID) (required) * @param include List of related resources to include in the response. Supported values: \"customDomain\", \"qrcodeDesign\", \"qrcodeSignedUrl\", \"tags\", \"pageTheme\". Use \"qrcodeSignedUrl\" to fetch signed QR image URLs—they are omitted by default to keep requests fast. (optional) * @return GetLinkResponse @@ -829,8 +1175,9 @@ private okhttp3.Call linksServiceGetValidateBeforeCall(@javax.annotation.Nonnull - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public GetLinkResponse linksServiceGet(@javax.annotation.Nonnull String id, @javax.annotation.Nullable List include) throws ApiException { @@ -840,7 +1187,7 @@ public GetLinkResponse linksServiceGet(@javax.annotation.Nonnull String id, @jav /** * Get link details - * Retrieves information about a shortened link including its metadata and metrics. + * Retrieves information about a shortened link including its metadata and metrics. Requires the `links:read` scope. * @param id The ID of the link to retrieve (UUID) (required) * @param include List of related resources to include in the response. Supported values: \"customDomain\", \"qrcodeDesign\", \"qrcodeSignedUrl\", \"tags\", \"pageTheme\". Use \"qrcodeSignedUrl\" to fetch signed QR image URLs—they are omitted by default to keep requests fast. (optional) * @return ApiResponse<GetLinkResponse> @@ -849,8 +1196,9 @@ public GetLinkResponse linksServiceGet(@javax.annotation.Nonnull String id, @jav - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public ApiResponse linksServiceGetWithHttpInfo(@javax.annotation.Nonnull String id, @javax.annotation.Nullable List include) throws ApiException { @@ -861,7 +1209,7 @@ public ApiResponse linksServiceGetWithHttpInfo(@javax.annotatio /** * Get link details (asynchronously) - * Retrieves information about a shortened link including its metadata and metrics. + * Retrieves information about a shortened link including its metadata and metrics. Requires the `links:read` scope. * @param id The ID of the link to retrieve (UUID) (required) * @param include List of related resources to include in the response. Supported values: \"customDomain\", \"qrcodeDesign\", \"qrcodeSignedUrl\", \"tags\", \"pageTheme\". Use \"qrcodeSignedUrl\" to fetch signed QR image URLs—they are omitted by default to keep requests fast. (optional) * @param _callback The callback to be executed when the API call finishes @@ -871,8 +1219,9 @@ public ApiResponse linksServiceGetWithHttpInfo(@javax.annotatio - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public okhttp3.Call linksServiceGetAsync(@javax.annotation.Nonnull String id, @javax.annotation.Nullable List include, final ApiCallback _callback) throws ApiException { @@ -893,6 +1242,7 @@ public okhttp3.Call linksServiceGetAsync(@javax.annotation.Nonnull String id, @j * @param sortDirection Sort direction (defaults to descending if not specified) Sort direction (ascending or descending) - SORT_DIRECTION_UNSPECIFIED: Sort direction not specified (defaults to descending) - SORT_DIRECTION_ASC: Sort in ascending order - SORT_DIRECTION_DESC: Sort in descending order (optional) * @param view View mode. Default returns all links. LINK_VIEW_DIRECTORY scopes to a directory (or root when directory_id is empty). - LINK_VIEW_UNSPECIFIED: Return all links regardless of directory (default) - LINK_VIEW_DIRECTORY: Return links scoped to a directory. When directory_id is set, returns links in that directory. When directory_id is empty, returns root-level links (no directory). (optional) * @param directoryId Directory ID to scope to when view is LINK_VIEW_DIRECTORY. When empty with LINK_VIEW_DIRECTORY, returns root-level links. (optional) + * @param cursor Opaque cursor from the previous page's nextPageToken. Same as pageToken; when both are sent, pageToken wins. (optional) * @param _callback Callback for upload/download progress * @return Call to execute * @throws ApiException If fail to serialize the request body object @@ -900,11 +1250,12 @@ public okhttp3.Call linksServiceGetAsync(@javax.annotation.Nonnull String id, @j - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call linksServiceListCall(@javax.annotation.Nonnull Long pageSize, @javax.annotation.Nullable String pageToken, @javax.annotation.Nullable List include, @javax.annotation.Nullable List tags, @javax.annotation.Nullable String search, @javax.annotation.Nullable String sortBy, @javax.annotation.Nullable String sortDirection, @javax.annotation.Nullable String view, @javax.annotation.Nullable String directoryId, final ApiCallback _callback) throws ApiException { + public okhttp3.Call linksServiceListCall(@javax.annotation.Nonnull Long pageSize, @javax.annotation.Nullable String pageToken, @javax.annotation.Nullable List include, @javax.annotation.Nullable List tags, @javax.annotation.Nullable String search, @javax.annotation.Nullable String sortBy, @javax.annotation.Nullable String sortDirection, @javax.annotation.Nullable String view, @javax.annotation.Nullable String directoryId, @javax.annotation.Nullable String cursor, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -965,6 +1316,10 @@ public okhttp3.Call linksServiceListCall(@javax.annotation.Nonnull Long pageSize localVarQueryParams.addAll(localVarApiClient.parameterToPair("directoryId", directoryId)); } + if (cursor != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("cursor", cursor)); + } + final String[] localVarAccepts = { "application/json" }; @@ -980,24 +1335,24 @@ public okhttp3.Call linksServiceListCall(@javax.annotation.Nonnull Long pageSize localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @SuppressWarnings("rawtypes") - private okhttp3.Call linksServiceListValidateBeforeCall(@javax.annotation.Nonnull Long pageSize, @javax.annotation.Nullable String pageToken, @javax.annotation.Nullable List include, @javax.annotation.Nullable List tags, @javax.annotation.Nullable String search, @javax.annotation.Nullable String sortBy, @javax.annotation.Nullable String sortDirection, @javax.annotation.Nullable String view, @javax.annotation.Nullable String directoryId, final ApiCallback _callback) throws ApiException { + private okhttp3.Call linksServiceListValidateBeforeCall(@javax.annotation.Nonnull Long pageSize, @javax.annotation.Nullable String pageToken, @javax.annotation.Nullable List include, @javax.annotation.Nullable List tags, @javax.annotation.Nullable String search, @javax.annotation.Nullable String sortBy, @javax.annotation.Nullable String sortDirection, @javax.annotation.Nullable String view, @javax.annotation.Nullable String directoryId, @javax.annotation.Nullable String cursor, final ApiCallback _callback) throws ApiException { // verify the required parameter 'pageSize' is set if (pageSize == null) { throw new ApiException("Missing the required parameter 'pageSize' when calling linksServiceList(Async)"); } - return linksServiceListCall(pageSize, pageToken, include, tags, search, sortBy, sortDirection, view, directoryId, _callback); + return linksServiceListCall(pageSize, pageToken, include, tags, search, sortBy, sortDirection, view, directoryId, cursor, _callback); } /** * List links - * Retrieves the shortened links for your workspace + * Retrieves the shortened links for your workspace Requires the `links:read` scope. * @param pageSize The maximum number of links to return. (required) * @param pageToken The token for retrieving the next page of results If not provided, the first page of results will be returned (optional) * @param include List of related resources to include in the response. Supported values: \"customDomain\", \"qrcodeDesign\", \"qrcodeSignedUrl\", \"tags\", \"pageTheme\". Use \"qrcodeSignedUrl\" to fetch signed QR image URLs—they are omitted by default to keep requests fast. (optional) @@ -1007,24 +1362,26 @@ private okhttp3.Call linksServiceListValidateBeforeCall(@javax.annotation.Nonnul * @param sortDirection Sort direction (defaults to descending if not specified) Sort direction (ascending or descending) - SORT_DIRECTION_UNSPECIFIED: Sort direction not specified (defaults to descending) - SORT_DIRECTION_ASC: Sort in ascending order - SORT_DIRECTION_DESC: Sort in descending order (optional) * @param view View mode. Default returns all links. LINK_VIEW_DIRECTORY scopes to a directory (or root when directory_id is empty). - LINK_VIEW_UNSPECIFIED: Return all links regardless of directory (default) - LINK_VIEW_DIRECTORY: Return links scoped to a directory. When directory_id is set, returns links in that directory. When directory_id is empty, returns root-level links (no directory). (optional) * @param directoryId Directory ID to scope to when view is LINK_VIEW_DIRECTORY. When empty with LINK_VIEW_DIRECTORY, returns root-level links. (optional) + * @param cursor Opaque cursor from the previous page's nextPageToken. Same as pageToken; when both are sent, pageToken wins. (optional) * @return ListLinksResponse * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public ListLinksResponse linksServiceList(@javax.annotation.Nonnull Long pageSize, @javax.annotation.Nullable String pageToken, @javax.annotation.Nullable List include, @javax.annotation.Nullable List tags, @javax.annotation.Nullable String search, @javax.annotation.Nullable String sortBy, @javax.annotation.Nullable String sortDirection, @javax.annotation.Nullable String view, @javax.annotation.Nullable String directoryId) throws ApiException { - ApiResponse localVarResp = linksServiceListWithHttpInfo(pageSize, pageToken, include, tags, search, sortBy, sortDirection, view, directoryId); + public ListLinksResponse linksServiceList(@javax.annotation.Nonnull Long pageSize, @javax.annotation.Nullable String pageToken, @javax.annotation.Nullable List include, @javax.annotation.Nullable List tags, @javax.annotation.Nullable String search, @javax.annotation.Nullable String sortBy, @javax.annotation.Nullable String sortDirection, @javax.annotation.Nullable String view, @javax.annotation.Nullable String directoryId, @javax.annotation.Nullable String cursor) throws ApiException { + ApiResponse localVarResp = linksServiceListWithHttpInfo(pageSize, pageToken, include, tags, search, sortBy, sortDirection, view, directoryId, cursor); return localVarResp.getData(); } /** * List links - * Retrieves the shortened links for your workspace + * Retrieves the shortened links for your workspace Requires the `links:read` scope. * @param pageSize The maximum number of links to return. (required) * @param pageToken The token for retrieving the next page of results If not provided, the first page of results will be returned (optional) * @param include List of related resources to include in the response. Supported values: \"customDomain\", \"qrcodeDesign\", \"qrcodeSignedUrl\", \"tags\", \"pageTheme\". Use \"qrcodeSignedUrl\" to fetch signed QR image URLs—they are omitted by default to keep requests fast. (optional) @@ -1034,25 +1391,27 @@ public ListLinksResponse linksServiceList(@javax.annotation.Nonnull Long pageSiz * @param sortDirection Sort direction (defaults to descending if not specified) Sort direction (ascending or descending) - SORT_DIRECTION_UNSPECIFIED: Sort direction not specified (defaults to descending) - SORT_DIRECTION_ASC: Sort in ascending order - SORT_DIRECTION_DESC: Sort in descending order (optional) * @param view View mode. Default returns all links. LINK_VIEW_DIRECTORY scopes to a directory (or root when directory_id is empty). - LINK_VIEW_UNSPECIFIED: Return all links regardless of directory (default) - LINK_VIEW_DIRECTORY: Return links scoped to a directory. When directory_id is set, returns links in that directory. When directory_id is empty, returns root-level links (no directory). (optional) * @param directoryId Directory ID to scope to when view is LINK_VIEW_DIRECTORY. When empty with LINK_VIEW_DIRECTORY, returns root-level links. (optional) + * @param cursor Opaque cursor from the previous page's nextPageToken. Same as pageToken; when both are sent, pageToken wins. (optional) * @return ApiResponse<ListLinksResponse> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public ApiResponse linksServiceListWithHttpInfo(@javax.annotation.Nonnull Long pageSize, @javax.annotation.Nullable String pageToken, @javax.annotation.Nullable List include, @javax.annotation.Nullable List tags, @javax.annotation.Nullable String search, @javax.annotation.Nullable String sortBy, @javax.annotation.Nullable String sortDirection, @javax.annotation.Nullable String view, @javax.annotation.Nullable String directoryId) throws ApiException { - okhttp3.Call localVarCall = linksServiceListValidateBeforeCall(pageSize, pageToken, include, tags, search, sortBy, sortDirection, view, directoryId, null); + public ApiResponse linksServiceListWithHttpInfo(@javax.annotation.Nonnull Long pageSize, @javax.annotation.Nullable String pageToken, @javax.annotation.Nullable List include, @javax.annotation.Nullable List tags, @javax.annotation.Nullable String search, @javax.annotation.Nullable String sortBy, @javax.annotation.Nullable String sortDirection, @javax.annotation.Nullable String view, @javax.annotation.Nullable String directoryId, @javax.annotation.Nullable String cursor) throws ApiException { + okhttp3.Call localVarCall = linksServiceListValidateBeforeCall(pageSize, pageToken, include, tags, search, sortBy, sortDirection, view, directoryId, cursor, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); } /** * List links (asynchronously) - * Retrieves the shortened links for your workspace + * Retrieves the shortened links for your workspace Requires the `links:read` scope. * @param pageSize The maximum number of links to return. (required) * @param pageToken The token for retrieving the next page of results If not provided, the first page of results will be returned (optional) * @param include List of related resources to include in the response. Supported values: \"customDomain\", \"qrcodeDesign\", \"qrcodeSignedUrl\", \"tags\", \"pageTheme\". Use \"qrcodeSignedUrl\" to fetch signed QR image URLs—they are omitted by default to keep requests fast. (optional) @@ -1062,6 +1421,7 @@ public ApiResponse linksServiceListWithHttpInfo(@javax.annota * @param sortDirection Sort direction (defaults to descending if not specified) Sort direction (ascending or descending) - SORT_DIRECTION_UNSPECIFIED: Sort direction not specified (defaults to descending) - SORT_DIRECTION_ASC: Sort in ascending order - SORT_DIRECTION_DESC: Sort in descending order (optional) * @param view View mode. Default returns all links. LINK_VIEW_DIRECTORY scopes to a directory (or root when directory_id is empty). - LINK_VIEW_UNSPECIFIED: Return all links regardless of directory (default) - LINK_VIEW_DIRECTORY: Return links scoped to a directory. When directory_id is set, returns links in that directory. When directory_id is empty, returns root-level links (no directory). (optional) * @param directoryId Directory ID to scope to when view is LINK_VIEW_DIRECTORY. When empty with LINK_VIEW_DIRECTORY, returns root-level links. (optional) + * @param cursor Opaque cursor from the previous page's nextPageToken. Same as pageToken; when both are sent, pageToken wins. (optional) * @param _callback The callback to be executed when the API call finishes * @return The request call * @throws ApiException If fail to process the API call, e.g. serializing the request body object @@ -1069,13 +1429,14 @@ public ApiResponse linksServiceListWithHttpInfo(@javax.annota - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call linksServiceListAsync(@javax.annotation.Nonnull Long pageSize, @javax.annotation.Nullable String pageToken, @javax.annotation.Nullable List include, @javax.annotation.Nullable List tags, @javax.annotation.Nullable String search, @javax.annotation.Nullable String sortBy, @javax.annotation.Nullable String sortDirection, @javax.annotation.Nullable String view, @javax.annotation.Nullable String directoryId, final ApiCallback _callback) throws ApiException { + public okhttp3.Call linksServiceListAsync(@javax.annotation.Nonnull Long pageSize, @javax.annotation.Nullable String pageToken, @javax.annotation.Nullable List include, @javax.annotation.Nullable List tags, @javax.annotation.Nullable String search, @javax.annotation.Nullable String sortBy, @javax.annotation.Nullable String sortDirection, @javax.annotation.Nullable String view, @javax.annotation.Nullable String directoryId, @javax.annotation.Nullable String cursor, final ApiCallback _callback) throws ApiException { - okhttp3.Call localVarCall = linksServiceListValidateBeforeCall(pageSize, pageToken, include, tags, search, sortBy, sortDirection, view, directoryId, _callback); + okhttp3.Call localVarCall = linksServiceListValidateBeforeCall(pageSize, pageToken, include, tags, search, sortBy, sortDirection, view, directoryId, cursor, _callback); Type localVarReturnType = new TypeToken(){}.getType(); localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); return localVarCall; @@ -1083,6 +1444,7 @@ public okhttp3.Call linksServiceListAsync(@javax.annotation.Nonnull Long pageSiz /** * Build call for linksServiceResolveQrcodeImages * @param resolveQrcodeImagesRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @param _callback Callback for upload/download progress * @return Call to execute * @throws ApiException If fail to serialize the request body object @@ -1090,11 +1452,12 @@ public okhttp3.Call linksServiceListAsync(@javax.annotation.Nonnull Long pageSiz - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call linksServiceResolveQrcodeImagesCall(@javax.annotation.Nonnull ResolveQrcodeImagesRequest resolveQrcodeImagesRequest, final ApiCallback _callback) throws ApiException { + public okhttp3.Call linksServiceResolveQrcodeImagesCall(@javax.annotation.Nonnull ResolveQrcodeImagesRequest resolveQrcodeImagesRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -1135,64 +1498,74 @@ public okhttp3.Call linksServiceResolveQrcodeImagesCall(@javax.annotation.Nonnul localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + if (idempotencyKey != null) { + localVarHeaderParams.put("Idempotency-Key", localVarApiClient.parameterToString(idempotencyKey)); + } + + + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; return localVarApiClient.buildCall(basePath, localVarPath, "POST", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @SuppressWarnings("rawtypes") - private okhttp3.Call linksServiceResolveQrcodeImagesValidateBeforeCall(@javax.annotation.Nonnull ResolveQrcodeImagesRequest resolveQrcodeImagesRequest, final ApiCallback _callback) throws ApiException { + private okhttp3.Call linksServiceResolveQrcodeImagesValidateBeforeCall(@javax.annotation.Nonnull ResolveQrcodeImagesRequest resolveQrcodeImagesRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { // verify the required parameter 'resolveQrcodeImagesRequest' is set if (resolveQrcodeImagesRequest == null) { throw new ApiException("Missing the required parameter 'resolveQrcodeImagesRequest' when calling linksServiceResolveQrcodeImages(Async)"); } - return linksServiceResolveQrcodeImagesCall(resolveQrcodeImagesRequest, _callback); + return linksServiceResolveQrcodeImagesCall(resolveQrcodeImagesRequest, idempotencyKey, _callback); } /** * Resolve QR code image URLs - * Return freshly signed QR code image URLs for the given links. The URLs expire, so callers fetch them when they need to render rather than storing them. + * Return freshly signed QR code image URLs for the given links. The URLs expire, so callers fetch them when they need to render rather than storing them. Requires the `links:read` scope. * @param resolveQrcodeImagesRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return ResolveQrcodeImagesResponse * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public ResolveQrcodeImagesResponse linksServiceResolveQrcodeImages(@javax.annotation.Nonnull ResolveQrcodeImagesRequest resolveQrcodeImagesRequest) throws ApiException { - ApiResponse localVarResp = linksServiceResolveQrcodeImagesWithHttpInfo(resolveQrcodeImagesRequest); + public ResolveQrcodeImagesResponse linksServiceResolveQrcodeImages(@javax.annotation.Nonnull ResolveQrcodeImagesRequest resolveQrcodeImagesRequest, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + ApiResponse localVarResp = linksServiceResolveQrcodeImagesWithHttpInfo(resolveQrcodeImagesRequest, idempotencyKey); return localVarResp.getData(); } /** * Resolve QR code image URLs - * Return freshly signed QR code image URLs for the given links. The URLs expire, so callers fetch them when they need to render rather than storing them. + * Return freshly signed QR code image URLs for the given links. The URLs expire, so callers fetch them when they need to render rather than storing them. Requires the `links:read` scope. * @param resolveQrcodeImagesRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return ApiResponse<ResolveQrcodeImagesResponse> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public ApiResponse linksServiceResolveQrcodeImagesWithHttpInfo(@javax.annotation.Nonnull ResolveQrcodeImagesRequest resolveQrcodeImagesRequest) throws ApiException { - okhttp3.Call localVarCall = linksServiceResolveQrcodeImagesValidateBeforeCall(resolveQrcodeImagesRequest, null); + public ApiResponse linksServiceResolveQrcodeImagesWithHttpInfo(@javax.annotation.Nonnull ResolveQrcodeImagesRequest resolveQrcodeImagesRequest, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + okhttp3.Call localVarCall = linksServiceResolveQrcodeImagesValidateBeforeCall(resolveQrcodeImagesRequest, idempotencyKey, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); } /** * Resolve QR code image URLs (asynchronously) - * Return freshly signed QR code image URLs for the given links. The URLs expire, so callers fetch them when they need to render rather than storing them. + * Return freshly signed QR code image URLs for the given links. The URLs expire, so callers fetch them when they need to render rather than storing them. Requires the `links:read` scope. * @param resolveQrcodeImagesRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @param _callback The callback to be executed when the API call finishes * @return The request call * @throws ApiException If fail to process the API call, e.g. serializing the request body object @@ -1200,13 +1573,14 @@ public ApiResponse linksServiceResolveQrcodeImagesW - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call linksServiceResolveQrcodeImagesAsync(@javax.annotation.Nonnull ResolveQrcodeImagesRequest resolveQrcodeImagesRequest, final ApiCallback _callback) throws ApiException { + public okhttp3.Call linksServiceResolveQrcodeImagesAsync(@javax.annotation.Nonnull ResolveQrcodeImagesRequest resolveQrcodeImagesRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { - okhttp3.Call localVarCall = linksServiceResolveQrcodeImagesValidateBeforeCall(resolveQrcodeImagesRequest, _callback); + okhttp3.Call localVarCall = linksServiceResolveQrcodeImagesValidateBeforeCall(resolveQrcodeImagesRequest, idempotencyKey, _callback); Type localVarReturnType = new TypeToken(){}.getType(); localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); return localVarCall; @@ -1222,8 +1596,9 @@ public okhttp3.Call linksServiceResolveQrcodeImagesAsync(@javax.annotation.Nonnu - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public okhttp3.Call linksServiceShortlinkAvailabilityCall(@javax.annotation.Nullable String shortlink, @javax.annotation.Nullable String customDomainId, final ApiCallback _callback) throws ApiException { @@ -1274,7 +1649,7 @@ public okhttp3.Call linksServiceShortlinkAvailabilityCall(@javax.annotation.Null localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @@ -1286,7 +1661,7 @@ private okhttp3.Call linksServiceShortlinkAvailabilityValidateBeforeCall(@javax. /** * Check shortlink availability - * Checks if a shortlink is available for use to create a new link. A custom domain can be provided to check against. It typically checks the shortlink slugs and shortlink IDs already present within the system. + * Checks if a shortlink is available for use to create a new link. A custom domain can be provided to check against. It typically checks the shortlink slugs and shortlink IDs already present within the system. Requires the `links:read` scope. * @param shortlink The shortlink to check availability for. (optional) * @param customDomainId The ID of the custom domain to check against (UUID) If not provided, checks against the default domain (optional) * @return ShortlinkAvailabilityResponse @@ -1295,8 +1670,9 @@ private okhttp3.Call linksServiceShortlinkAvailabilityValidateBeforeCall(@javax. - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public ShortlinkAvailabilityResponse linksServiceShortlinkAvailability(@javax.annotation.Nullable String shortlink, @javax.annotation.Nullable String customDomainId) throws ApiException { @@ -1306,7 +1682,7 @@ public ShortlinkAvailabilityResponse linksServiceShortlinkAvailability(@javax.an /** * Check shortlink availability - * Checks if a shortlink is available for use to create a new link. A custom domain can be provided to check against. It typically checks the shortlink slugs and shortlink IDs already present within the system. + * Checks if a shortlink is available for use to create a new link. A custom domain can be provided to check against. It typically checks the shortlink slugs and shortlink IDs already present within the system. Requires the `links:read` scope. * @param shortlink The shortlink to check availability for. (optional) * @param customDomainId The ID of the custom domain to check against (UUID) If not provided, checks against the default domain (optional) * @return ApiResponse<ShortlinkAvailabilityResponse> @@ -1315,8 +1691,9 @@ public ShortlinkAvailabilityResponse linksServiceShortlinkAvailability(@javax.an - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public ApiResponse linksServiceShortlinkAvailabilityWithHttpInfo(@javax.annotation.Nullable String shortlink, @javax.annotation.Nullable String customDomainId) throws ApiException { @@ -1327,7 +1704,7 @@ public ApiResponse linksServiceShortlinkAvailabil /** * Check shortlink availability (asynchronously) - * Checks if a shortlink is available for use to create a new link. A custom domain can be provided to check against. It typically checks the shortlink slugs and shortlink IDs already present within the system. + * Checks if a shortlink is available for use to create a new link. A custom domain can be provided to check against. It typically checks the shortlink slugs and shortlink IDs already present within the system. Requires the `links:read` scope. * @param shortlink The shortlink to check availability for. (optional) * @param customDomainId The ID of the custom domain to check against (UUID) If not provided, checks against the default domain (optional) * @param _callback The callback to be executed when the API call finishes @@ -1337,8 +1714,9 @@ public ApiResponse linksServiceShortlinkAvailabil - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public okhttp3.Call linksServiceShortlinkAvailabilityAsync(@javax.annotation.Nullable String shortlink, @javax.annotation.Nullable String customDomainId, final ApiCallback _callback) throws ApiException { @@ -1357,8 +1735,9 @@ public okhttp3.Call linksServiceShortlinkAvailabilityAsync(@javax.annotation.Nul - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public okhttp3.Call linksServiceShortlinkRandomCall(final ApiCallback _callback) throws ApiException { @@ -1401,7 +1780,7 @@ public okhttp3.Call linksServiceShortlinkRandomCall(final ApiCallback _callback) localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @@ -1413,15 +1792,16 @@ private okhttp3.Call linksServiceShortlinkRandomValidateBeforeCall(final ApiCall /** * Get a random shortlink - * Generates a random availableshortlink for a new link. + * Generates a random availableshortlink for a new link. Requires the `links:read` scope. * @return ShortlinkRandomResponse * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public ShortlinkRandomResponse linksServiceShortlinkRandom() throws ApiException { @@ -1431,15 +1811,16 @@ public ShortlinkRandomResponse linksServiceShortlinkRandom() throws ApiException /** * Get a random shortlink - * Generates a random availableshortlink for a new link. + * Generates a random availableshortlink for a new link. Requires the `links:read` scope. * @return ApiResponse<ShortlinkRandomResponse> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public ApiResponse linksServiceShortlinkRandomWithHttpInfo() throws ApiException { @@ -1450,7 +1831,7 @@ public ApiResponse linksServiceShortlinkRandomWithHttpI /** * Get a random shortlink (asynchronously) - * Generates a random availableshortlink for a new link. + * Generates a random availableshortlink for a new link. Requires the `links:read` scope. * @param _callback The callback to be executed when the API call finishes * @return The request call * @throws ApiException If fail to process the API call, e.g. serializing the request body object @@ -1458,8 +1839,9 @@ public ApiResponse linksServiceShortlinkRandomWithHttpI - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public okhttp3.Call linksServiceShortlinkRandomAsync(final ApiCallback _callback) throws ApiException { @@ -1473,6 +1855,7 @@ public okhttp3.Call linksServiceShortlinkRandomAsync(final ApiCallback Response Details Status Code Description Response Headers - 200 Everything worked as expected. - - 0 Unexpected error - + 200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
+ 429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
+ 0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call linksServiceUpdateCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull LinksServiceUpdateBody linksServiceUpdateBody, final ApiCallback _callback) throws ApiException { + public okhttp3.Call linksServiceUpdateCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull LinksServiceUpdateBody linksServiceUpdateBody, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -1526,12 +1910,17 @@ public okhttp3.Call linksServiceUpdateCall(@javax.annotation.Nonnull String id, localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + if (idempotencyKey != null) { + localVarHeaderParams.put("Idempotency-Key", localVarApiClient.parameterToString(idempotencyKey)); + } + + + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; return localVarApiClient.buildCall(basePath, localVarPath, "PATCH", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @SuppressWarnings("rawtypes") - private okhttp3.Call linksServiceUpdateValidateBeforeCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull LinksServiceUpdateBody linksServiceUpdateBody, final ApiCallback _callback) throws ApiException { + private okhttp3.Call linksServiceUpdateValidateBeforeCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull LinksServiceUpdateBody linksServiceUpdateBody, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { // verify the required parameter 'id' is set if (id == null) { throw new ApiException("Missing the required parameter 'id' when calling linksServiceUpdate(Async)"); @@ -1542,56 +1931,61 @@ private okhttp3.Call linksServiceUpdateValidateBeforeCall(@javax.annotation.Nonn throw new ApiException("Missing the required parameter 'linksServiceUpdateBody' when calling linksServiceUpdate(Async)"); } - return linksServiceUpdateCall(id, linksServiceUpdateBody, _callback); + return linksServiceUpdateCall(id, linksServiceUpdateBody, idempotencyKey, _callback); } /** * Update a link - * Updates an existing shortened link in your Linkbreakers workspace. + * Updates an existing shortened link in your Linkbreakers workspace. Requires the `links:write` scope. * @param id The ID of the link to update (UUID) (required) * @param linksServiceUpdateBody (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return UpdateLinkResponse * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public UpdateLinkResponse linksServiceUpdate(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull LinksServiceUpdateBody linksServiceUpdateBody) throws ApiException { - ApiResponse localVarResp = linksServiceUpdateWithHttpInfo(id, linksServiceUpdateBody); + public UpdateLinkResponse linksServiceUpdate(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull LinksServiceUpdateBody linksServiceUpdateBody, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + ApiResponse localVarResp = linksServiceUpdateWithHttpInfo(id, linksServiceUpdateBody, idempotencyKey); return localVarResp.getData(); } /** * Update a link - * Updates an existing shortened link in your Linkbreakers workspace. + * Updates an existing shortened link in your Linkbreakers workspace. Requires the `links:write` scope. * @param id The ID of the link to update (UUID) (required) * @param linksServiceUpdateBody (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return ApiResponse<UpdateLinkResponse> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public ApiResponse linksServiceUpdateWithHttpInfo(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull LinksServiceUpdateBody linksServiceUpdateBody) throws ApiException { - okhttp3.Call localVarCall = linksServiceUpdateValidateBeforeCall(id, linksServiceUpdateBody, null); + public ApiResponse linksServiceUpdateWithHttpInfo(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull LinksServiceUpdateBody linksServiceUpdateBody, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + okhttp3.Call localVarCall = linksServiceUpdateValidateBeforeCall(id, linksServiceUpdateBody, idempotencyKey, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); } /** * Update a link (asynchronously) - * Updates an existing shortened link in your Linkbreakers workspace. + * Updates an existing shortened link in your Linkbreakers workspace. Requires the `links:write` scope. * @param id The ID of the link to update (UUID) (required) * @param linksServiceUpdateBody (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @param _callback The callback to be executed when the API call finishes * @return The request call * @throws ApiException If fail to process the API call, e.g. serializing the request body object @@ -1599,13 +1993,14 @@ public ApiResponse linksServiceUpdateWithHttpInfo(@javax.ann - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call linksServiceUpdateAsync(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull LinksServiceUpdateBody linksServiceUpdateBody, final ApiCallback _callback) throws ApiException { + public okhttp3.Call linksServiceUpdateAsync(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull LinksServiceUpdateBody linksServiceUpdateBody, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { - okhttp3.Call localVarCall = linksServiceUpdateValidateBeforeCall(id, linksServiceUpdateBody, _callback); + okhttp3.Call localVarCall = linksServiceUpdateValidateBeforeCall(id, linksServiceUpdateBody, idempotencyKey, _callback); Type localVarReturnType = new TypeToken(){}.getType(); localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); return localVarCall; diff --git a/src/main/java/com/linkbreakers/api/MediaApi.java b/src/main/java/com/linkbreakers/api/MediaApi.java index a20cff920..36ec05113 100644 --- a/src/main/java/com/linkbreakers/api/MediaApi.java +++ b/src/main/java/com/linkbreakers/api/MediaApi.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -79,6 +79,7 @@ public void setCustomBaseUrl(String customBaseUrl) { /** * Build call for mediaServiceCreate * @param createMediaRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @param _callback Callback for upload/download progress * @return Call to execute * @throws ApiException If fail to serialize the request body object @@ -86,11 +87,12 @@ public void setCustomBaseUrl(String customBaseUrl) { - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call mediaServiceCreateCall(@javax.annotation.Nonnull CreateMediaRequest createMediaRequest, final ApiCallback _callback) throws ApiException { + public okhttp3.Call mediaServiceCreateCall(@javax.annotation.Nonnull CreateMediaRequest createMediaRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -131,64 +133,74 @@ public okhttp3.Call mediaServiceCreateCall(@javax.annotation.Nonnull CreateMedia localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + if (idempotencyKey != null) { + localVarHeaderParams.put("Idempotency-Key", localVarApiClient.parameterToString(idempotencyKey)); + } + + + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; return localVarApiClient.buildCall(basePath, localVarPath, "POST", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @SuppressWarnings("rawtypes") - private okhttp3.Call mediaServiceCreateValidateBeforeCall(@javax.annotation.Nonnull CreateMediaRequest createMediaRequest, final ApiCallback _callback) throws ApiException { + private okhttp3.Call mediaServiceCreateValidateBeforeCall(@javax.annotation.Nonnull CreateMediaRequest createMediaRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { // verify the required parameter 'createMediaRequest' is set if (createMediaRequest == null) { throw new ApiException("Missing the required parameter 'createMediaRequest' when calling mediaServiceCreate(Async)"); } - return mediaServiceCreateCall(createMediaRequest, _callback); + return mediaServiceCreateCall(createMediaRequest, idempotencyKey, _callback); } /** * Upload a media file - * This endpoint allows users to upload a new media file to their Linkbreakers workspace. For now the file size limit is 3MB. Example: Uploading an image to be placed in the center of a QR Code. + * This endpoint allows users to upload a new media file to their Linkbreakers workspace. For now the file size limit is 3MB. Example: Uploading an image to be placed in the center of a QR Code. Requires the `media:write` scope. * @param createMediaRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return CreateMediaResponse * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public CreateMediaResponse mediaServiceCreate(@javax.annotation.Nonnull CreateMediaRequest createMediaRequest) throws ApiException { - ApiResponse localVarResp = mediaServiceCreateWithHttpInfo(createMediaRequest); + public CreateMediaResponse mediaServiceCreate(@javax.annotation.Nonnull CreateMediaRequest createMediaRequest, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + ApiResponse localVarResp = mediaServiceCreateWithHttpInfo(createMediaRequest, idempotencyKey); return localVarResp.getData(); } /** * Upload a media file - * This endpoint allows users to upload a new media file to their Linkbreakers workspace. For now the file size limit is 3MB. Example: Uploading an image to be placed in the center of a QR Code. + * This endpoint allows users to upload a new media file to their Linkbreakers workspace. For now the file size limit is 3MB. Example: Uploading an image to be placed in the center of a QR Code. Requires the `media:write` scope. * @param createMediaRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return ApiResponse<CreateMediaResponse> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public ApiResponse mediaServiceCreateWithHttpInfo(@javax.annotation.Nonnull CreateMediaRequest createMediaRequest) throws ApiException { - okhttp3.Call localVarCall = mediaServiceCreateValidateBeforeCall(createMediaRequest, null); + public ApiResponse mediaServiceCreateWithHttpInfo(@javax.annotation.Nonnull CreateMediaRequest createMediaRequest, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + okhttp3.Call localVarCall = mediaServiceCreateValidateBeforeCall(createMediaRequest, idempotencyKey, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); } /** * Upload a media file (asynchronously) - * This endpoint allows users to upload a new media file to their Linkbreakers workspace. For now the file size limit is 3MB. Example: Uploading an image to be placed in the center of a QR Code. + * This endpoint allows users to upload a new media file to their Linkbreakers workspace. For now the file size limit is 3MB. Example: Uploading an image to be placed in the center of a QR Code. Requires the `media:write` scope. * @param createMediaRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @param _callback The callback to be executed when the API call finishes * @return The request call * @throws ApiException If fail to process the API call, e.g. serializing the request body object @@ -196,13 +208,14 @@ public ApiResponse mediaServiceCreateWithHttpInfo(@javax.an - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call mediaServiceCreateAsync(@javax.annotation.Nonnull CreateMediaRequest createMediaRequest, final ApiCallback _callback) throws ApiException { + public okhttp3.Call mediaServiceCreateAsync(@javax.annotation.Nonnull CreateMediaRequest createMediaRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { - okhttp3.Call localVarCall = mediaServiceCreateValidateBeforeCall(createMediaRequest, _callback); + okhttp3.Call localVarCall = mediaServiceCreateValidateBeforeCall(createMediaRequest, idempotencyKey, _callback); Type localVarReturnType = new TypeToken(){}.getType(); localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); return localVarCall; @@ -217,9 +230,10 @@ public okhttp3.Call mediaServiceCreateAsync(@javax.annotation.Nonnull CreateMedi - - - + + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
204 Media file deleted successfully -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
204 Media file deleted successfully * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public okhttp3.Call mediaServiceDeleteCall(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { @@ -263,7 +277,7 @@ public okhttp3.Call mediaServiceDeleteCall(@javax.annotation.Nonnull String id, localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; return localVarApiClient.buildCall(basePath, localVarPath, "DELETE", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @@ -280,7 +294,7 @@ private okhttp3.Call mediaServiceDeleteValidateBeforeCall(@javax.annotation.Nonn /** * Delete a media file - * Removes a media file from the workspace. This operation cannot be undone. + * Removes a media file from the workspace. This operation cannot be undone. Requires the `media:write` scope. * @param id The ID of the media file to delete (UUID) (required) * @return Object * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body @@ -288,9 +302,10 @@ private okhttp3.Call mediaServiceDeleteValidateBeforeCall(@javax.annotation.Nonn - - - + + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
204 Media file deleted successfully -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
204 Media file deleted successfully * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public Object mediaServiceDelete(@javax.annotation.Nonnull String id) throws ApiException { @@ -300,7 +315,7 @@ public Object mediaServiceDelete(@javax.annotation.Nonnull String id) throws Api /** * Delete a media file - * Removes a media file from the workspace. This operation cannot be undone. + * Removes a media file from the workspace. This operation cannot be undone. Requires the `media:write` scope. * @param id The ID of the media file to delete (UUID) (required) * @return ApiResponse<Object> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body @@ -308,9 +323,10 @@ public Object mediaServiceDelete(@javax.annotation.Nonnull String id) throws Api - - - + + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
204 Media file deleted successfully -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
204 Media file deleted successfully * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public ApiResponse mediaServiceDeleteWithHttpInfo(@javax.annotation.Nonnull String id) throws ApiException { @@ -321,7 +337,7 @@ public ApiResponse mediaServiceDeleteWithHttpInfo(@javax.annotation.Nonn /** * Delete a media file (asynchronously) - * Removes a media file from the workspace. This operation cannot be undone. + * Removes a media file from the workspace. This operation cannot be undone. Requires the `media:write` scope. * @param id The ID of the media file to delete (UUID) (required) * @param _callback The callback to be executed when the API call finishes * @return The request call @@ -330,9 +346,10 @@ public ApiResponse mediaServiceDeleteWithHttpInfo(@javax.annotation.Nonn - - - + + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
204 Media file deleted successfully -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
204 Media file deleted successfully * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public okhttp3.Call mediaServiceDeleteAsync(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { @@ -352,8 +369,9 @@ public okhttp3.Call mediaServiceDeleteAsync(@javax.annotation.Nonnull String id, - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public okhttp3.Call mediaServiceGetCall(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { @@ -397,7 +415,7 @@ public okhttp3.Call mediaServiceGetCall(@javax.annotation.Nonnull String id, fin localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @@ -414,7 +432,7 @@ private okhttp3.Call mediaServiceGetValidateBeforeCall(@javax.annotation.Nonnull /** * Get media file details - * Retrieves information about a media file including its metadata and URL. Example: Getting details for media with ID \"med_123\". + * Retrieves information about a media file including its metadata and URL. Example: Getting details for media with ID \"med_123\". Requires the `media:read` scope. * @param id The ID of the media file to retrieve (UUID) (required) * @return GetMediaResponse * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body @@ -422,8 +440,9 @@ private okhttp3.Call mediaServiceGetValidateBeforeCall(@javax.annotation.Nonnull - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public GetMediaResponse mediaServiceGet(@javax.annotation.Nonnull String id) throws ApiException { @@ -433,7 +452,7 @@ public GetMediaResponse mediaServiceGet(@javax.annotation.Nonnull String id) thr /** * Get media file details - * Retrieves information about a media file including its metadata and URL. Example: Getting details for media with ID \"med_123\". + * Retrieves information about a media file including its metadata and URL. Example: Getting details for media with ID \"med_123\". Requires the `media:read` scope. * @param id The ID of the media file to retrieve (UUID) (required) * @return ApiResponse<GetMediaResponse> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body @@ -441,8 +460,9 @@ public GetMediaResponse mediaServiceGet(@javax.annotation.Nonnull String id) thr - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public ApiResponse mediaServiceGetWithHttpInfo(@javax.annotation.Nonnull String id) throws ApiException { @@ -453,7 +473,7 @@ public ApiResponse mediaServiceGetWithHttpInfo(@javax.annotati /** * Get media file details (asynchronously) - * Retrieves information about a media file including its metadata and URL. Example: Getting details for media with ID \"med_123\". + * Retrieves information about a media file including its metadata and URL. Example: Getting details for media with ID \"med_123\". Requires the `media:read` scope. * @param id The ID of the media file to retrieve (UUID) (required) * @param _callback The callback to be executed when the API call finishes * @return The request call @@ -462,8 +482,9 @@ public ApiResponse mediaServiceGetWithHttpInfo(@javax.annotati - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public okhttp3.Call mediaServiceGetAsync(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { @@ -477,6 +498,7 @@ public okhttp3.Call mediaServiceGetAsync(@javax.annotation.Nonnull String id, fi * Build call for mediaServiceList * @param pageSize The maximum number of media files to return. (required) * @param pageToken The token for retrieving the next page of results If not provided, the first page of results will be returned (optional) + * @param cursor Opaque cursor from the previous page's nextPageToken. Same as pageToken; when both are sent, pageToken wins. (optional) * @param _callback Callback for upload/download progress * @return Call to execute * @throws ApiException If fail to serialize the request body object @@ -484,11 +506,12 @@ public okhttp3.Call mediaServiceGetAsync(@javax.annotation.Nonnull String id, fi - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call mediaServiceListCall(@javax.annotation.Nonnull Long pageSize, @javax.annotation.Nullable String pageToken, final ApiCallback _callback) throws ApiException { + public okhttp3.Call mediaServiceListCall(@javax.annotation.Nonnull Long pageSize, @javax.annotation.Nullable String pageToken, @javax.annotation.Nullable String cursor, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -521,6 +544,10 @@ public okhttp3.Call mediaServiceListCall(@javax.annotation.Nonnull Long pageSize localVarQueryParams.addAll(localVarApiClient.parameterToPair("pageToken", pageToken)); } + if (cursor != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("cursor", cursor)); + } + final String[] localVarAccepts = { "application/json" }; @@ -536,67 +563,72 @@ public okhttp3.Call mediaServiceListCall(@javax.annotation.Nonnull Long pageSize localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @SuppressWarnings("rawtypes") - private okhttp3.Call mediaServiceListValidateBeforeCall(@javax.annotation.Nonnull Long pageSize, @javax.annotation.Nullable String pageToken, final ApiCallback _callback) throws ApiException { + private okhttp3.Call mediaServiceListValidateBeforeCall(@javax.annotation.Nonnull Long pageSize, @javax.annotation.Nullable String pageToken, @javax.annotation.Nullable String cursor, final ApiCallback _callback) throws ApiException { // verify the required parameter 'pageSize' is set if (pageSize == null) { throw new ApiException("Missing the required parameter 'pageSize' when calling mediaServiceList(Async)"); } - return mediaServiceListCall(pageSize, pageToken, _callback); + return mediaServiceListCall(pageSize, pageToken, cursor, _callback); } /** * List media files - * Retrieves the media files for your workspace + * Retrieves the media files for your workspace Requires the `media:read` scope. * @param pageSize The maximum number of media files to return. (required) * @param pageToken The token for retrieving the next page of results If not provided, the first page of results will be returned (optional) + * @param cursor Opaque cursor from the previous page's nextPageToken. Same as pageToken; when both are sent, pageToken wins. (optional) * @return ListMediaResponse * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public ListMediaResponse mediaServiceList(@javax.annotation.Nonnull Long pageSize, @javax.annotation.Nullable String pageToken) throws ApiException { - ApiResponse localVarResp = mediaServiceListWithHttpInfo(pageSize, pageToken); + public ListMediaResponse mediaServiceList(@javax.annotation.Nonnull Long pageSize, @javax.annotation.Nullable String pageToken, @javax.annotation.Nullable String cursor) throws ApiException { + ApiResponse localVarResp = mediaServiceListWithHttpInfo(pageSize, pageToken, cursor); return localVarResp.getData(); } /** * List media files - * Retrieves the media files for your workspace + * Retrieves the media files for your workspace Requires the `media:read` scope. * @param pageSize The maximum number of media files to return. (required) * @param pageToken The token for retrieving the next page of results If not provided, the first page of results will be returned (optional) + * @param cursor Opaque cursor from the previous page's nextPageToken. Same as pageToken; when both are sent, pageToken wins. (optional) * @return ApiResponse<ListMediaResponse> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public ApiResponse mediaServiceListWithHttpInfo(@javax.annotation.Nonnull Long pageSize, @javax.annotation.Nullable String pageToken) throws ApiException { - okhttp3.Call localVarCall = mediaServiceListValidateBeforeCall(pageSize, pageToken, null); + public ApiResponse mediaServiceListWithHttpInfo(@javax.annotation.Nonnull Long pageSize, @javax.annotation.Nullable String pageToken, @javax.annotation.Nullable String cursor) throws ApiException { + okhttp3.Call localVarCall = mediaServiceListValidateBeforeCall(pageSize, pageToken, cursor, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); } /** * List media files (asynchronously) - * Retrieves the media files for your workspace + * Retrieves the media files for your workspace Requires the `media:read` scope. * @param pageSize The maximum number of media files to return. (required) * @param pageToken The token for retrieving the next page of results If not provided, the first page of results will be returned (optional) + * @param cursor Opaque cursor from the previous page's nextPageToken. Same as pageToken; when both are sent, pageToken wins. (optional) * @param _callback The callback to be executed when the API call finishes * @return The request call * @throws ApiException If fail to process the API call, e.g. serializing the request body object @@ -604,13 +636,14 @@ public ApiResponse mediaServiceListWithHttpInfo(@javax.annota - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call mediaServiceListAsync(@javax.annotation.Nonnull Long pageSize, @javax.annotation.Nullable String pageToken, final ApiCallback _callback) throws ApiException { + public okhttp3.Call mediaServiceListAsync(@javax.annotation.Nonnull Long pageSize, @javax.annotation.Nullable String pageToken, @javax.annotation.Nullable String cursor, final ApiCallback _callback) throws ApiException { - okhttp3.Call localVarCall = mediaServiceListValidateBeforeCall(pageSize, pageToken, _callback); + okhttp3.Call localVarCall = mediaServiceListValidateBeforeCall(pageSize, pageToken, cursor, _callback); Type localVarReturnType = new TypeToken(){}.getType(); localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); return localVarCall; diff --git a/src/main/java/com/linkbreakers/api/MembersApi.java b/src/main/java/com/linkbreakers/api/MembersApi.java index c66da2417..0e30cd62a 100644 --- a/src/main/java/com/linkbreakers/api/MembersApi.java +++ b/src/main/java/com/linkbreakers/api/MembersApi.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -81,6 +81,7 @@ public void setCustomBaseUrl(String customBaseUrl) { * Build call for membersServiceAllowAccess * @param id Member identifier (UUID) whose access should be restored (required) * @param body (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @param _callback Callback for upload/download progress * @return Call to execute * @throws ApiException If fail to serialize the request body object @@ -88,11 +89,12 @@ public void setCustomBaseUrl(String customBaseUrl) { - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call membersServiceAllowAccessCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull Object body, final ApiCallback _callback) throws ApiException { + public okhttp3.Call membersServiceAllowAccessCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull Object body, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -134,12 +136,17 @@ public okhttp3.Call membersServiceAllowAccessCall(@javax.annotation.Nonnull Stri localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + if (idempotencyKey != null) { + localVarHeaderParams.put("Idempotency-Key", localVarApiClient.parameterToString(idempotencyKey)); + } + + + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; return localVarApiClient.buildCall(basePath, localVarPath, "POST", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @SuppressWarnings("rawtypes") - private okhttp3.Call membersServiceAllowAccessValidateBeforeCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull Object body, final ApiCallback _callback) throws ApiException { + private okhttp3.Call membersServiceAllowAccessValidateBeforeCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull Object body, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { // verify the required parameter 'id' is set if (id == null) { throw new ApiException("Missing the required parameter 'id' when calling membersServiceAllowAccess(Async)"); @@ -150,56 +157,61 @@ private okhttp3.Call membersServiceAllowAccessValidateBeforeCall(@javax.annotati throw new ApiException("Missing the required parameter 'body' when calling membersServiceAllowAccess(Async)"); } - return membersServiceAllowAccessCall(id, body, _callback); + return membersServiceAllowAccessCall(id, body, idempotencyKey, _callback); } /** * Allow access for a member - * Restore workspace access for a previously suspended member. + * Restore workspace access for a previously suspended member. Requires the `members:write` scope. * @param id Member identifier (UUID) whose access should be restored (required) * @param body (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return Member * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public Member membersServiceAllowAccess(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull Object body) throws ApiException { - ApiResponse localVarResp = membersServiceAllowAccessWithHttpInfo(id, body); + public Member membersServiceAllowAccess(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull Object body, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + ApiResponse localVarResp = membersServiceAllowAccessWithHttpInfo(id, body, idempotencyKey); return localVarResp.getData(); } /** * Allow access for a member - * Restore workspace access for a previously suspended member. + * Restore workspace access for a previously suspended member. Requires the `members:write` scope. * @param id Member identifier (UUID) whose access should be restored (required) * @param body (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return ApiResponse<Member> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public ApiResponse membersServiceAllowAccessWithHttpInfo(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull Object body) throws ApiException { - okhttp3.Call localVarCall = membersServiceAllowAccessValidateBeforeCall(id, body, null); + public ApiResponse membersServiceAllowAccessWithHttpInfo(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull Object body, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + okhttp3.Call localVarCall = membersServiceAllowAccessValidateBeforeCall(id, body, idempotencyKey, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); } /** * Allow access for a member (asynchronously) - * Restore workspace access for a previously suspended member. + * Restore workspace access for a previously suspended member. Requires the `members:write` scope. * @param id Member identifier (UUID) whose access should be restored (required) * @param body (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @param _callback The callback to be executed when the API call finishes * @return The request call * @throws ApiException If fail to process the API call, e.g. serializing the request body object @@ -207,13 +219,14 @@ public ApiResponse membersServiceAllowAccessWithHttpInfo(@javax.annotati - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call membersServiceAllowAccessAsync(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull Object body, final ApiCallback _callback) throws ApiException { + public okhttp3.Call membersServiceAllowAccessAsync(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull Object body, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { - okhttp3.Call localVarCall = membersServiceAllowAccessValidateBeforeCall(id, body, _callback); + okhttp3.Call localVarCall = membersServiceAllowAccessValidateBeforeCall(id, body, idempotencyKey, _callback); Type localVarReturnType = new TypeToken(){}.getType(); localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); return localVarCall; @@ -228,8 +241,9 @@ public okhttp3.Call membersServiceAllowAccessAsync(@javax.annotation.Nonnull Str - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public okhttp3.Call membersServiceDeleteCall(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { @@ -273,7 +287,7 @@ public okhttp3.Call membersServiceDeleteCall(@javax.annotation.Nonnull String id localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; return localVarApiClient.buildCall(basePath, localVarPath, "DELETE", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @@ -290,7 +304,7 @@ private okhttp3.Call membersServiceDeleteValidateBeforeCall(@javax.annotation.No /** * Delete a member - * Permanently remove a member from the workspace roster. + * Permanently remove a member from the workspace roster. Requires the `members:write` scope. * @param id Member identifier (UUID) to delete (required) * @return Object * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body @@ -298,8 +312,9 @@ private okhttp3.Call membersServiceDeleteValidateBeforeCall(@javax.annotation.No - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public Object membersServiceDelete(@javax.annotation.Nonnull String id) throws ApiException { @@ -309,7 +324,7 @@ public Object membersServiceDelete(@javax.annotation.Nonnull String id) throws A /** * Delete a member - * Permanently remove a member from the workspace roster. + * Permanently remove a member from the workspace roster. Requires the `members:write` scope. * @param id Member identifier (UUID) to delete (required) * @return ApiResponse<Object> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body @@ -317,8 +332,9 @@ public Object membersServiceDelete(@javax.annotation.Nonnull String id) throws A - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public ApiResponse membersServiceDeleteWithHttpInfo(@javax.annotation.Nonnull String id) throws ApiException { @@ -329,7 +345,7 @@ public ApiResponse membersServiceDeleteWithHttpInfo(@javax.annotation.No /** * Delete a member (asynchronously) - * Permanently remove a member from the workspace roster. + * Permanently remove a member from the workspace roster. Requires the `members:write` scope. * @param id Member identifier (UUID) to delete (required) * @param _callback The callback to be executed when the API call finishes * @return The request call @@ -338,8 +354,9 @@ public ApiResponse membersServiceDeleteWithHttpInfo(@javax.annotation.No - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public okhttp3.Call membersServiceDeleteAsync(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { @@ -353,6 +370,7 @@ public okhttp3.Call membersServiceDeleteAsync(@javax.annotation.Nonnull String i * Build call for membersServiceForceSignout * @param id Member identifier (UUID) to sign out of all sessions (required) * @param body (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @param _callback Callback for upload/download progress * @return Call to execute * @throws ApiException If fail to serialize the request body object @@ -360,11 +378,12 @@ public okhttp3.Call membersServiceDeleteAsync(@javax.annotation.Nonnull String i - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call membersServiceForceSignoutCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull Object body, final ApiCallback _callback) throws ApiException { + public okhttp3.Call membersServiceForceSignoutCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull Object body, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -406,12 +425,17 @@ public okhttp3.Call membersServiceForceSignoutCall(@javax.annotation.Nonnull Str localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + if (idempotencyKey != null) { + localVarHeaderParams.put("Idempotency-Key", localVarApiClient.parameterToString(idempotencyKey)); + } + + + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; return localVarApiClient.buildCall(basePath, localVarPath, "POST", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @SuppressWarnings("rawtypes") - private okhttp3.Call membersServiceForceSignoutValidateBeforeCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull Object body, final ApiCallback _callback) throws ApiException { + private okhttp3.Call membersServiceForceSignoutValidateBeforeCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull Object body, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { // verify the required parameter 'id' is set if (id == null) { throw new ApiException("Missing the required parameter 'id' when calling membersServiceForceSignout(Async)"); @@ -422,56 +446,61 @@ private okhttp3.Call membersServiceForceSignoutValidateBeforeCall(@javax.annotat throw new ApiException("Missing the required parameter 'body' when calling membersServiceForceSignout(Async)"); } - return membersServiceForceSignoutCall(id, body, _callback); + return membersServiceForceSignoutCall(id, body, idempotencyKey, _callback); } /** * Force a member to sign out - * Terminate all active sessions for the specified member. + * Terminate all active sessions for the specified member. Requires the `members:write` scope. * @param id Member identifier (UUID) to sign out of all sessions (required) * @param body (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return Member * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public Member membersServiceForceSignout(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull Object body) throws ApiException { - ApiResponse localVarResp = membersServiceForceSignoutWithHttpInfo(id, body); + public Member membersServiceForceSignout(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull Object body, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + ApiResponse localVarResp = membersServiceForceSignoutWithHttpInfo(id, body, idempotencyKey); return localVarResp.getData(); } /** * Force a member to sign out - * Terminate all active sessions for the specified member. + * Terminate all active sessions for the specified member. Requires the `members:write` scope. * @param id Member identifier (UUID) to sign out of all sessions (required) * @param body (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return ApiResponse<Member> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public ApiResponse membersServiceForceSignoutWithHttpInfo(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull Object body) throws ApiException { - okhttp3.Call localVarCall = membersServiceForceSignoutValidateBeforeCall(id, body, null); + public ApiResponse membersServiceForceSignoutWithHttpInfo(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull Object body, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + okhttp3.Call localVarCall = membersServiceForceSignoutValidateBeforeCall(id, body, idempotencyKey, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); } /** * Force a member to sign out (asynchronously) - * Terminate all active sessions for the specified member. + * Terminate all active sessions for the specified member. Requires the `members:write` scope. * @param id Member identifier (UUID) to sign out of all sessions (required) * @param body (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @param _callback The callback to be executed when the API call finishes * @return The request call * @throws ApiException If fail to process the API call, e.g. serializing the request body object @@ -479,13 +508,14 @@ public ApiResponse membersServiceForceSignoutWithHttpInfo(@javax.annotat - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call membersServiceForceSignoutAsync(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull Object body, final ApiCallback _callback) throws ApiException { + public okhttp3.Call membersServiceForceSignoutAsync(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull Object body, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { - okhttp3.Call localVarCall = membersServiceForceSignoutValidateBeforeCall(id, body, _callback); + okhttp3.Call localVarCall = membersServiceForceSignoutValidateBeforeCall(id, body, idempotencyKey, _callback); Type localVarReturnType = new TypeToken(){}.getType(); localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); return localVarCall; @@ -500,8 +530,9 @@ public okhttp3.Call membersServiceForceSignoutAsync(@javax.annotation.Nonnull St - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public okhttp3.Call membersServiceGetCall(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { @@ -545,7 +576,7 @@ public okhttp3.Call membersServiceGetCall(@javax.annotation.Nonnull String id, f localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @@ -562,7 +593,7 @@ private okhttp3.Call membersServiceGetValidateBeforeCall(@javax.annotation.Nonnu /** * Get a member by ID - * Fetch a single workspace member by the provided identifier. + * Fetch a single workspace member by the provided identifier. Requires the `members:read` scope. * @param id Member identifier (UUID) to retrieve (required) * @return Member * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body @@ -570,8 +601,9 @@ private okhttp3.Call membersServiceGetValidateBeforeCall(@javax.annotation.Nonnu - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public Member membersServiceGet(@javax.annotation.Nonnull String id) throws ApiException { @@ -581,7 +613,7 @@ public Member membersServiceGet(@javax.annotation.Nonnull String id) throws ApiE /** * Get a member by ID - * Fetch a single workspace member by the provided identifier. + * Fetch a single workspace member by the provided identifier. Requires the `members:read` scope. * @param id Member identifier (UUID) to retrieve (required) * @return ApiResponse<Member> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body @@ -589,8 +621,9 @@ public Member membersServiceGet(@javax.annotation.Nonnull String id) throws ApiE - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public ApiResponse membersServiceGetWithHttpInfo(@javax.annotation.Nonnull String id) throws ApiException { @@ -601,7 +634,7 @@ public ApiResponse membersServiceGetWithHttpInfo(@javax.annotation.Nonnu /** * Get a member by ID (asynchronously) - * Fetch a single workspace member by the provided identifier. + * Fetch a single workspace member by the provided identifier. Requires the `members:read` scope. * @param id Member identifier (UUID) to retrieve (required) * @param _callback The callback to be executed when the API call finishes * @return The request call @@ -610,8 +643,9 @@ public ApiResponse membersServiceGetWithHttpInfo(@javax.annotation.Nonnu - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public okhttp3.Call membersServiceGetAsync(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { @@ -630,8 +664,9 @@ public okhttp3.Call membersServiceGetAsync(@javax.annotation.Nonnull String id, - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public okhttp3.Call membersServiceGetMyselfCall(final ApiCallback _callback) throws ApiException { @@ -674,7 +709,7 @@ public okhttp3.Call membersServiceGetMyselfCall(final ApiCallback _callback) thr localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @@ -686,15 +721,16 @@ private okhttp3.Call membersServiceGetMyselfValidateBeforeCall(final ApiCallback /** * Get the current member - * Return the member information associated with the authenticated caller. + * Return the member information associated with the authenticated caller. Requires the `members:read` scope. * @return Member * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public Member membersServiceGetMyself() throws ApiException { @@ -704,15 +740,16 @@ public Member membersServiceGetMyself() throws ApiException { /** * Get the current member - * Return the member information associated with the authenticated caller. + * Return the member information associated with the authenticated caller. Requires the `members:read` scope. * @return ApiResponse<Member> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public ApiResponse membersServiceGetMyselfWithHttpInfo() throws ApiException { @@ -723,7 +760,7 @@ public ApiResponse membersServiceGetMyselfWithHttpInfo() throws ApiExcep /** * Get the current member (asynchronously) - * Return the member information associated with the authenticated caller. + * Return the member information associated with the authenticated caller. Requires the `members:read` scope. * @param _callback The callback to be executed when the API call finishes * @return The request call * @throws ApiException If fail to process the API call, e.g. serializing the request body object @@ -731,8 +768,9 @@ public ApiResponse membersServiceGetMyselfWithHttpInfo() throws ApiExcep - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public okhttp3.Call membersServiceGetMyselfAsync(final ApiCallback _callback) throws ApiException { @@ -745,6 +783,7 @@ public okhttp3.Call membersServiceGetMyselfAsync(final ApiCallback _call /** * Build call for membersServiceInvite * @param inviteMemberRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @param _callback Callback for upload/download progress * @return Call to execute * @throws ApiException If fail to serialize the request body object @@ -752,12 +791,13 @@ public okhttp3.Call membersServiceGetMyselfAsync(final ApiCallback _call - - - + + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
201 Member invited successfully -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
201 Member invited successfully * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call membersServiceInviteCall(@javax.annotation.Nonnull InviteMemberRequest inviteMemberRequest, final ApiCallback _callback) throws ApiException { + public okhttp3.Call membersServiceInviteCall(@javax.annotation.Nonnull InviteMemberRequest inviteMemberRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -798,66 +838,76 @@ public okhttp3.Call membersServiceInviteCall(@javax.annotation.Nonnull InviteMem localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + if (idempotencyKey != null) { + localVarHeaderParams.put("Idempotency-Key", localVarApiClient.parameterToString(idempotencyKey)); + } + + + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; return localVarApiClient.buildCall(basePath, localVarPath, "POST", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @SuppressWarnings("rawtypes") - private okhttp3.Call membersServiceInviteValidateBeforeCall(@javax.annotation.Nonnull InviteMemberRequest inviteMemberRequest, final ApiCallback _callback) throws ApiException { + private okhttp3.Call membersServiceInviteValidateBeforeCall(@javax.annotation.Nonnull InviteMemberRequest inviteMemberRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { // verify the required parameter 'inviteMemberRequest' is set if (inviteMemberRequest == null) { throw new ApiException("Missing the required parameter 'inviteMemberRequest' when calling membersServiceInvite(Async)"); } - return membersServiceInviteCall(inviteMemberRequest, _callback); + return membersServiceInviteCall(inviteMemberRequest, idempotencyKey, _callback); } /** * Invite a new member - * Create a pending member and dispatch an invitation email. + * Create a pending member and dispatch an invitation email. Requires the `members:write` scope. * @param inviteMemberRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return Member * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - - + + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
201 Member invited successfully -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
201 Member invited successfully * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public Member membersServiceInvite(@javax.annotation.Nonnull InviteMemberRequest inviteMemberRequest) throws ApiException { - ApiResponse localVarResp = membersServiceInviteWithHttpInfo(inviteMemberRequest); + public Member membersServiceInvite(@javax.annotation.Nonnull InviteMemberRequest inviteMemberRequest, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + ApiResponse localVarResp = membersServiceInviteWithHttpInfo(inviteMemberRequest, idempotencyKey); return localVarResp.getData(); } /** * Invite a new member - * Create a pending member and dispatch an invitation email. + * Create a pending member and dispatch an invitation email. Requires the `members:write` scope. * @param inviteMemberRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return ApiResponse<Member> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - - + + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
201 Member invited successfully -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
201 Member invited successfully * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public ApiResponse membersServiceInviteWithHttpInfo(@javax.annotation.Nonnull InviteMemberRequest inviteMemberRequest) throws ApiException { - okhttp3.Call localVarCall = membersServiceInviteValidateBeforeCall(inviteMemberRequest, null); + public ApiResponse membersServiceInviteWithHttpInfo(@javax.annotation.Nonnull InviteMemberRequest inviteMemberRequest, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + okhttp3.Call localVarCall = membersServiceInviteValidateBeforeCall(inviteMemberRequest, idempotencyKey, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); } /** * Invite a new member (asynchronously) - * Create a pending member and dispatch an invitation email. + * Create a pending member and dispatch an invitation email. Requires the `members:write` scope. * @param inviteMemberRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @param _callback The callback to be executed when the API call finishes * @return The request call * @throws ApiException If fail to process the API call, e.g. serializing the request body object @@ -865,14 +915,15 @@ public ApiResponse membersServiceInviteWithHttpInfo(@javax.annotation.No - - - + + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
201 Member invited successfully -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
201 Member invited successfully * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call membersServiceInviteAsync(@javax.annotation.Nonnull InviteMemberRequest inviteMemberRequest, final ApiCallback _callback) throws ApiException { + public okhttp3.Call membersServiceInviteAsync(@javax.annotation.Nonnull InviteMemberRequest inviteMemberRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { - okhttp3.Call localVarCall = membersServiceInviteValidateBeforeCall(inviteMemberRequest, _callback); + okhttp3.Call localVarCall = membersServiceInviteValidateBeforeCall(inviteMemberRequest, idempotencyKey, _callback); Type localVarReturnType = new TypeToken(){}.getType(); localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); return localVarCall; @@ -881,6 +932,7 @@ public okhttp3.Call membersServiceInviteAsync(@javax.annotation.Nonnull InviteMe * Build call for membersServiceList * @param pageSize Maximum number of members to return. Defaults to 100, capped at 1000. (optional) * @param pageToken Cursor from a previous response's next_page_token. Empty starts at the first page. Pages are ordered by (created_at, id), which never change, so a record cannot move between pages while a client is walking them. (optional) + * @param cursor Opaque cursor from the previous page's nextPageToken. Same as pageToken; when both are sent, pageToken wins. (optional) * @param _callback Callback for upload/download progress * @return Call to execute * @throws ApiException If fail to serialize the request body object @@ -888,12 +940,13 @@ public okhttp3.Call membersServiceInviteAsync(@javax.annotation.Nonnull InviteMe - - - + + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
201 Members listed successfully -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
201 Members listed successfully * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call membersServiceListCall(@javax.annotation.Nullable Long pageSize, @javax.annotation.Nullable String pageToken, final ApiCallback _callback) throws ApiException { + public okhttp3.Call membersServiceListCall(@javax.annotation.Nullable Long pageSize, @javax.annotation.Nullable String pageToken, @javax.annotation.Nullable String cursor, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -926,6 +979,10 @@ public okhttp3.Call membersServiceListCall(@javax.annotation.Nullable Long pageS localVarQueryParams.addAll(localVarApiClient.parameterToPair("pageToken", pageToken)); } + if (cursor != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("cursor", cursor)); + } + final String[] localVarAccepts = { "application/json" }; @@ -941,64 +998,69 @@ public okhttp3.Call membersServiceListCall(@javax.annotation.Nullable Long pageS localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @SuppressWarnings("rawtypes") - private okhttp3.Call membersServiceListValidateBeforeCall(@javax.annotation.Nullable Long pageSize, @javax.annotation.Nullable String pageToken, final ApiCallback _callback) throws ApiException { - return membersServiceListCall(pageSize, pageToken, _callback); + private okhttp3.Call membersServiceListValidateBeforeCall(@javax.annotation.Nullable Long pageSize, @javax.annotation.Nullable String pageToken, @javax.annotation.Nullable String cursor, final ApiCallback _callback) throws ApiException { + return membersServiceListCall(pageSize, pageToken, cursor, _callback); } /** * List members - * Retrieve a paginated list of members in the current workspace. + * Retrieve a paginated list of members in the current workspace. Requires the `members:read` scope. * @param pageSize Maximum number of members to return. Defaults to 100, capped at 1000. (optional) * @param pageToken Cursor from a previous response's next_page_token. Empty starts at the first page. Pages are ordered by (created_at, id), which never change, so a record cannot move between pages while a client is walking them. (optional) + * @param cursor Opaque cursor from the previous page's nextPageToken. Same as pageToken; when both are sent, pageToken wins. (optional) * @return ListResponse * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - - + + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
201 Members listed successfully -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
201 Members listed successfully * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public ListResponse membersServiceList(@javax.annotation.Nullable Long pageSize, @javax.annotation.Nullable String pageToken) throws ApiException { - ApiResponse localVarResp = membersServiceListWithHttpInfo(pageSize, pageToken); + public ListResponse membersServiceList(@javax.annotation.Nullable Long pageSize, @javax.annotation.Nullable String pageToken, @javax.annotation.Nullable String cursor) throws ApiException { + ApiResponse localVarResp = membersServiceListWithHttpInfo(pageSize, pageToken, cursor); return localVarResp.getData(); } /** * List members - * Retrieve a paginated list of members in the current workspace. + * Retrieve a paginated list of members in the current workspace. Requires the `members:read` scope. * @param pageSize Maximum number of members to return. Defaults to 100, capped at 1000. (optional) * @param pageToken Cursor from a previous response's next_page_token. Empty starts at the first page. Pages are ordered by (created_at, id), which never change, so a record cannot move between pages while a client is walking them. (optional) + * @param cursor Opaque cursor from the previous page's nextPageToken. Same as pageToken; when both are sent, pageToken wins. (optional) * @return ApiResponse<ListResponse> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - - + + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
201 Members listed successfully -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
201 Members listed successfully * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public ApiResponse membersServiceListWithHttpInfo(@javax.annotation.Nullable Long pageSize, @javax.annotation.Nullable String pageToken) throws ApiException { - okhttp3.Call localVarCall = membersServiceListValidateBeforeCall(pageSize, pageToken, null); + public ApiResponse membersServiceListWithHttpInfo(@javax.annotation.Nullable Long pageSize, @javax.annotation.Nullable String pageToken, @javax.annotation.Nullable String cursor) throws ApiException { + okhttp3.Call localVarCall = membersServiceListValidateBeforeCall(pageSize, pageToken, cursor, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); } /** * List members (asynchronously) - * Retrieve a paginated list of members in the current workspace. + * Retrieve a paginated list of members in the current workspace. Requires the `members:read` scope. * @param pageSize Maximum number of members to return. Defaults to 100, capped at 1000. (optional) * @param pageToken Cursor from a previous response's next_page_token. Empty starts at the first page. Pages are ordered by (created_at, id), which never change, so a record cannot move between pages while a client is walking them. (optional) + * @param cursor Opaque cursor from the previous page's nextPageToken. Same as pageToken; when both are sent, pageToken wins. (optional) * @param _callback The callback to be executed when the API call finishes * @return The request call * @throws ApiException If fail to process the API call, e.g. serializing the request body object @@ -1006,14 +1068,15 @@ public ApiResponse membersServiceListWithHttpInfo(@javax.annotatio - - - + + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
201 Members listed successfully -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
201 Members listed successfully * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call membersServiceListAsync(@javax.annotation.Nullable Long pageSize, @javax.annotation.Nullable String pageToken, final ApiCallback _callback) throws ApiException { + public okhttp3.Call membersServiceListAsync(@javax.annotation.Nullable Long pageSize, @javax.annotation.Nullable String pageToken, @javax.annotation.Nullable String cursor, final ApiCallback _callback) throws ApiException { - okhttp3.Call localVarCall = membersServiceListValidateBeforeCall(pageSize, pageToken, _callback); + okhttp3.Call localVarCall = membersServiceListValidateBeforeCall(pageSize, pageToken, cursor, _callback); Type localVarReturnType = new TypeToken(){}.getType(); localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); return localVarCall; @@ -1022,6 +1085,7 @@ public okhttp3.Call membersServiceListAsync(@javax.annotation.Nullable Long page * Build call for membersServiceRevokeAccess * @param id Member identifier (UUID) whose access should be suspended (required) * @param body (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @param _callback Callback for upload/download progress * @return Call to execute * @throws ApiException If fail to serialize the request body object @@ -1029,11 +1093,12 @@ public okhttp3.Call membersServiceListAsync(@javax.annotation.Nullable Long page - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call membersServiceRevokeAccessCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull Object body, final ApiCallback _callback) throws ApiException { + public okhttp3.Call membersServiceRevokeAccessCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull Object body, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -1075,12 +1140,17 @@ public okhttp3.Call membersServiceRevokeAccessCall(@javax.annotation.Nonnull Str localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + if (idempotencyKey != null) { + localVarHeaderParams.put("Idempotency-Key", localVarApiClient.parameterToString(idempotencyKey)); + } + + + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; return localVarApiClient.buildCall(basePath, localVarPath, "POST", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @SuppressWarnings("rawtypes") - private okhttp3.Call membersServiceRevokeAccessValidateBeforeCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull Object body, final ApiCallback _callback) throws ApiException { + private okhttp3.Call membersServiceRevokeAccessValidateBeforeCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull Object body, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { // verify the required parameter 'id' is set if (id == null) { throw new ApiException("Missing the required parameter 'id' when calling membersServiceRevokeAccess(Async)"); @@ -1091,56 +1161,61 @@ private okhttp3.Call membersServiceRevokeAccessValidateBeforeCall(@javax.annotat throw new ApiException("Missing the required parameter 'body' when calling membersServiceRevokeAccess(Async)"); } - return membersServiceRevokeAccessCall(id, body, _callback); + return membersServiceRevokeAccessCall(id, body, idempotencyKey, _callback); } /** * Revoke access for a member - * Suspend a member's access without removing their account. + * Suspend a member's access without removing their account. Requires the `members:write` scope. * @param id Member identifier (UUID) whose access should be suspended (required) * @param body (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return Member * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public Member membersServiceRevokeAccess(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull Object body) throws ApiException { - ApiResponse localVarResp = membersServiceRevokeAccessWithHttpInfo(id, body); + public Member membersServiceRevokeAccess(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull Object body, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + ApiResponse localVarResp = membersServiceRevokeAccessWithHttpInfo(id, body, idempotencyKey); return localVarResp.getData(); } /** * Revoke access for a member - * Suspend a member's access without removing their account. + * Suspend a member's access without removing their account. Requires the `members:write` scope. * @param id Member identifier (UUID) whose access should be suspended (required) * @param body (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return ApiResponse<Member> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public ApiResponse membersServiceRevokeAccessWithHttpInfo(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull Object body) throws ApiException { - okhttp3.Call localVarCall = membersServiceRevokeAccessValidateBeforeCall(id, body, null); + public ApiResponse membersServiceRevokeAccessWithHttpInfo(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull Object body, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + okhttp3.Call localVarCall = membersServiceRevokeAccessValidateBeforeCall(id, body, idempotencyKey, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); } /** * Revoke access for a member (asynchronously) - * Suspend a member's access without removing their account. + * Suspend a member's access without removing their account. Requires the `members:write` scope. * @param id Member identifier (UUID) whose access should be suspended (required) * @param body (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @param _callback The callback to be executed when the API call finishes * @return The request call * @throws ApiException If fail to process the API call, e.g. serializing the request body object @@ -1148,13 +1223,14 @@ public ApiResponse membersServiceRevokeAccessWithHttpInfo(@javax.annotat - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call membersServiceRevokeAccessAsync(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull Object body, final ApiCallback _callback) throws ApiException { + public okhttp3.Call membersServiceRevokeAccessAsync(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull Object body, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { - okhttp3.Call localVarCall = membersServiceRevokeAccessValidateBeforeCall(id, body, _callback); + okhttp3.Call localVarCall = membersServiceRevokeAccessValidateBeforeCall(id, body, idempotencyKey, _callback); Type localVarReturnType = new TypeToken(){}.getType(); localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); return localVarCall; @@ -1163,6 +1239,7 @@ public okhttp3.Call membersServiceRevokeAccessAsync(@javax.annotation.Nonnull St * Build call for membersServiceUpdate * @param id Member identifier (UUID) to update (required) * @param membersServiceUpdateBody (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @param _callback Callback for upload/download progress * @return Call to execute * @throws ApiException If fail to serialize the request body object @@ -1170,11 +1247,12 @@ public okhttp3.Call membersServiceRevokeAccessAsync(@javax.annotation.Nonnull St - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call membersServiceUpdateCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull MembersServiceUpdateBody membersServiceUpdateBody, final ApiCallback _callback) throws ApiException { + public okhttp3.Call membersServiceUpdateCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull MembersServiceUpdateBody membersServiceUpdateBody, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -1216,12 +1294,17 @@ public okhttp3.Call membersServiceUpdateCall(@javax.annotation.Nonnull String id localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + if (idempotencyKey != null) { + localVarHeaderParams.put("Idempotency-Key", localVarApiClient.parameterToString(idempotencyKey)); + } + + + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; return localVarApiClient.buildCall(basePath, localVarPath, "PUT", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @SuppressWarnings("rawtypes") - private okhttp3.Call membersServiceUpdateValidateBeforeCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull MembersServiceUpdateBody membersServiceUpdateBody, final ApiCallback _callback) throws ApiException { + private okhttp3.Call membersServiceUpdateValidateBeforeCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull MembersServiceUpdateBody membersServiceUpdateBody, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { // verify the required parameter 'id' is set if (id == null) { throw new ApiException("Missing the required parameter 'id' when calling membersServiceUpdate(Async)"); @@ -1232,56 +1315,61 @@ private okhttp3.Call membersServiceUpdateValidateBeforeCall(@javax.annotation.No throw new ApiException("Missing the required parameter 'membersServiceUpdateBody' when calling membersServiceUpdate(Async)"); } - return membersServiceUpdateCall(id, membersServiceUpdateBody, _callback); + return membersServiceUpdateCall(id, membersServiceUpdateBody, idempotencyKey, _callback); } /** * Update a member - * Modify profile details or role assignments for an existing member. + * Modify profile details or role assignments for an existing member. Requires the `members:write` scope. * @param id Member identifier (UUID) to update (required) * @param membersServiceUpdateBody (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return Member * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public Member membersServiceUpdate(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull MembersServiceUpdateBody membersServiceUpdateBody) throws ApiException { - ApiResponse localVarResp = membersServiceUpdateWithHttpInfo(id, membersServiceUpdateBody); + public Member membersServiceUpdate(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull MembersServiceUpdateBody membersServiceUpdateBody, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + ApiResponse localVarResp = membersServiceUpdateWithHttpInfo(id, membersServiceUpdateBody, idempotencyKey); return localVarResp.getData(); } /** * Update a member - * Modify profile details or role assignments for an existing member. + * Modify profile details or role assignments for an existing member. Requires the `members:write` scope. * @param id Member identifier (UUID) to update (required) * @param membersServiceUpdateBody (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return ApiResponse<Member> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public ApiResponse membersServiceUpdateWithHttpInfo(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull MembersServiceUpdateBody membersServiceUpdateBody) throws ApiException { - okhttp3.Call localVarCall = membersServiceUpdateValidateBeforeCall(id, membersServiceUpdateBody, null); + public ApiResponse membersServiceUpdateWithHttpInfo(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull MembersServiceUpdateBody membersServiceUpdateBody, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + okhttp3.Call localVarCall = membersServiceUpdateValidateBeforeCall(id, membersServiceUpdateBody, idempotencyKey, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); } /** * Update a member (asynchronously) - * Modify profile details or role assignments for an existing member. + * Modify profile details or role assignments for an existing member. Requires the `members:write` scope. * @param id Member identifier (UUID) to update (required) * @param membersServiceUpdateBody (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @param _callback The callback to be executed when the API call finishes * @return The request call * @throws ApiException If fail to process the API call, e.g. serializing the request body object @@ -1289,13 +1377,14 @@ public ApiResponse membersServiceUpdateWithHttpInfo(@javax.annotation.No - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call membersServiceUpdateAsync(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull MembersServiceUpdateBody membersServiceUpdateBody, final ApiCallback _callback) throws ApiException { + public okhttp3.Call membersServiceUpdateAsync(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull MembersServiceUpdateBody membersServiceUpdateBody, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { - okhttp3.Call localVarCall = membersServiceUpdateValidateBeforeCall(id, membersServiceUpdateBody, _callback); + okhttp3.Call localVarCall = membersServiceUpdateValidateBeforeCall(id, membersServiceUpdateBody, idempotencyKey, _callback); Type localVarReturnType = new TypeToken(){}.getType(); localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); return localVarCall; @@ -1303,6 +1392,7 @@ public okhttp3.Call membersServiceUpdateAsync(@javax.annotation.Nonnull String i /** * Build call for membersServiceUpdateMyself * @param updateMeRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @param _callback Callback for upload/download progress * @return Call to execute * @throws ApiException If fail to serialize the request body object @@ -1310,11 +1400,12 @@ public okhttp3.Call membersServiceUpdateAsync(@javax.annotation.Nonnull String i - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call membersServiceUpdateMyselfCall(@javax.annotation.Nonnull UpdateMeRequest updateMeRequest, final ApiCallback _callback) throws ApiException { + public okhttp3.Call membersServiceUpdateMyselfCall(@javax.annotation.Nonnull UpdateMeRequest updateMeRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -1355,64 +1446,74 @@ public okhttp3.Call membersServiceUpdateMyselfCall(@javax.annotation.Nonnull Upd localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + if (idempotencyKey != null) { + localVarHeaderParams.put("Idempotency-Key", localVarApiClient.parameterToString(idempotencyKey)); + } + + + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; return localVarApiClient.buildCall(basePath, localVarPath, "PUT", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @SuppressWarnings("rawtypes") - private okhttp3.Call membersServiceUpdateMyselfValidateBeforeCall(@javax.annotation.Nonnull UpdateMeRequest updateMeRequest, final ApiCallback _callback) throws ApiException { + private okhttp3.Call membersServiceUpdateMyselfValidateBeforeCall(@javax.annotation.Nonnull UpdateMeRequest updateMeRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { // verify the required parameter 'updateMeRequest' is set if (updateMeRequest == null) { throw new ApiException("Missing the required parameter 'updateMeRequest' when calling membersServiceUpdateMyself(Async)"); } - return membersServiceUpdateMyselfCall(updateMeRequest, _callback); + return membersServiceUpdateMyselfCall(updateMeRequest, idempotencyKey, _callback); } /** * Update the current member - * Let the signed-in member update their own profile or credentials. + * Let the signed-in member update their own profile or credentials. Requires the `members:write` scope. * @param updateMeRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return Member * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public Member membersServiceUpdateMyself(@javax.annotation.Nonnull UpdateMeRequest updateMeRequest) throws ApiException { - ApiResponse localVarResp = membersServiceUpdateMyselfWithHttpInfo(updateMeRequest); + public Member membersServiceUpdateMyself(@javax.annotation.Nonnull UpdateMeRequest updateMeRequest, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + ApiResponse localVarResp = membersServiceUpdateMyselfWithHttpInfo(updateMeRequest, idempotencyKey); return localVarResp.getData(); } /** * Update the current member - * Let the signed-in member update their own profile or credentials. + * Let the signed-in member update their own profile or credentials. Requires the `members:write` scope. * @param updateMeRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return ApiResponse<Member> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public ApiResponse membersServiceUpdateMyselfWithHttpInfo(@javax.annotation.Nonnull UpdateMeRequest updateMeRequest) throws ApiException { - okhttp3.Call localVarCall = membersServiceUpdateMyselfValidateBeforeCall(updateMeRequest, null); + public ApiResponse membersServiceUpdateMyselfWithHttpInfo(@javax.annotation.Nonnull UpdateMeRequest updateMeRequest, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + okhttp3.Call localVarCall = membersServiceUpdateMyselfValidateBeforeCall(updateMeRequest, idempotencyKey, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); } /** * Update the current member (asynchronously) - * Let the signed-in member update their own profile or credentials. + * Let the signed-in member update their own profile or credentials. Requires the `members:write` scope. * @param updateMeRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @param _callback The callback to be executed when the API call finishes * @return The request call * @throws ApiException If fail to process the API call, e.g. serializing the request body object @@ -1420,13 +1521,14 @@ public ApiResponse membersServiceUpdateMyselfWithHttpInfo(@javax.annotat - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call membersServiceUpdateMyselfAsync(@javax.annotation.Nonnull UpdateMeRequest updateMeRequest, final ApiCallback _callback) throws ApiException { + public okhttp3.Call membersServiceUpdateMyselfAsync(@javax.annotation.Nonnull UpdateMeRequest updateMeRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { - okhttp3.Call localVarCall = membersServiceUpdateMyselfValidateBeforeCall(updateMeRequest, _callback); + okhttp3.Call localVarCall = membersServiceUpdateMyselfValidateBeforeCall(updateMeRequest, idempotencyKey, _callback); Type localVarReturnType = new TypeToken(){}.getType(); localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); return localVarCall; diff --git a/src/main/java/com/linkbreakers/api/PageThemeTemplatesApi.java b/src/main/java/com/linkbreakers/api/PageThemeTemplatesApi.java index 27c435939..042998342 100644 --- a/src/main/java/com/linkbreakers/api/PageThemeTemplatesApi.java +++ b/src/main/java/com/linkbreakers/api/PageThemeTemplatesApi.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -90,6 +90,7 @@ public void setCustomBaseUrl(String customBaseUrl) { /** * Build call for pageThemeTemplatesServiceCreatePageThemeTemplate * @param createPageThemeTemplateRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @param _callback Callback for upload/download progress * @return Call to execute * @throws ApiException If fail to serialize the request body object @@ -97,11 +98,12 @@ public void setCustomBaseUrl(String customBaseUrl) { - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call pageThemeTemplatesServiceCreatePageThemeTemplateCall(@javax.annotation.Nonnull CreatePageThemeTemplateRequest createPageThemeTemplateRequest, final ApiCallback _callback) throws ApiException { + public okhttp3.Call pageThemeTemplatesServiceCreatePageThemeTemplateCall(@javax.annotation.Nonnull CreatePageThemeTemplateRequest createPageThemeTemplateRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -142,64 +144,74 @@ public okhttp3.Call pageThemeTemplatesServiceCreatePageThemeTemplateCall(@javax. localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + if (idempotencyKey != null) { + localVarHeaderParams.put("Idempotency-Key", localVarApiClient.parameterToString(idempotencyKey)); + } + + + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; return localVarApiClient.buildCall(basePath, localVarPath, "POST", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @SuppressWarnings("rawtypes") - private okhttp3.Call pageThemeTemplatesServiceCreatePageThemeTemplateValidateBeforeCall(@javax.annotation.Nonnull CreatePageThemeTemplateRequest createPageThemeTemplateRequest, final ApiCallback _callback) throws ApiException { + private okhttp3.Call pageThemeTemplatesServiceCreatePageThemeTemplateValidateBeforeCall(@javax.annotation.Nonnull CreatePageThemeTemplateRequest createPageThemeTemplateRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { // verify the required parameter 'createPageThemeTemplateRequest' is set if (createPageThemeTemplateRequest == null) { throw new ApiException("Missing the required parameter 'createPageThemeTemplateRequest' when calling pageThemeTemplatesServiceCreatePageThemeTemplate(Async)"); } - return pageThemeTemplatesServiceCreatePageThemeTemplateCall(createPageThemeTemplateRequest, _callback); + return pageThemeTemplatesServiceCreatePageThemeTemplateCall(createPageThemeTemplateRequest, idempotencyKey, _callback); } /** * Create a new page theme template - * Create a page theme template by copying the styling of an existing page theme into a fresh detached theme owned by the template. + * Create a page theme template by copying the styling of an existing page theme into a fresh detached theme owned by the template. Requires the `page_themes:write` scope. * @param createPageThemeTemplateRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return CreatePageThemeTemplateResponse * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public CreatePageThemeTemplateResponse pageThemeTemplatesServiceCreatePageThemeTemplate(@javax.annotation.Nonnull CreatePageThemeTemplateRequest createPageThemeTemplateRequest) throws ApiException { - ApiResponse localVarResp = pageThemeTemplatesServiceCreatePageThemeTemplateWithHttpInfo(createPageThemeTemplateRequest); + public CreatePageThemeTemplateResponse pageThemeTemplatesServiceCreatePageThemeTemplate(@javax.annotation.Nonnull CreatePageThemeTemplateRequest createPageThemeTemplateRequest, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + ApiResponse localVarResp = pageThemeTemplatesServiceCreatePageThemeTemplateWithHttpInfo(createPageThemeTemplateRequest, idempotencyKey); return localVarResp.getData(); } /** * Create a new page theme template - * Create a page theme template by copying the styling of an existing page theme into a fresh detached theme owned by the template. + * Create a page theme template by copying the styling of an existing page theme into a fresh detached theme owned by the template. Requires the `page_themes:write` scope. * @param createPageThemeTemplateRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return ApiResponse<CreatePageThemeTemplateResponse> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public ApiResponse pageThemeTemplatesServiceCreatePageThemeTemplateWithHttpInfo(@javax.annotation.Nonnull CreatePageThemeTemplateRequest createPageThemeTemplateRequest) throws ApiException { - okhttp3.Call localVarCall = pageThemeTemplatesServiceCreatePageThemeTemplateValidateBeforeCall(createPageThemeTemplateRequest, null); + public ApiResponse pageThemeTemplatesServiceCreatePageThemeTemplateWithHttpInfo(@javax.annotation.Nonnull CreatePageThemeTemplateRequest createPageThemeTemplateRequest, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + okhttp3.Call localVarCall = pageThemeTemplatesServiceCreatePageThemeTemplateValidateBeforeCall(createPageThemeTemplateRequest, idempotencyKey, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); } /** * Create a new page theme template (asynchronously) - * Create a page theme template by copying the styling of an existing page theme into a fresh detached theme owned by the template. + * Create a page theme template by copying the styling of an existing page theme into a fresh detached theme owned by the template. Requires the `page_themes:write` scope. * @param createPageThemeTemplateRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @param _callback The callback to be executed when the API call finishes * @return The request call * @throws ApiException If fail to process the API call, e.g. serializing the request body object @@ -207,13 +219,14 @@ public ApiResponse pageThemeTemplatesServiceCre - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call pageThemeTemplatesServiceCreatePageThemeTemplateAsync(@javax.annotation.Nonnull CreatePageThemeTemplateRequest createPageThemeTemplateRequest, final ApiCallback _callback) throws ApiException { + public okhttp3.Call pageThemeTemplatesServiceCreatePageThemeTemplateAsync(@javax.annotation.Nonnull CreatePageThemeTemplateRequest createPageThemeTemplateRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { - okhttp3.Call localVarCall = pageThemeTemplatesServiceCreatePageThemeTemplateValidateBeforeCall(createPageThemeTemplateRequest, _callback); + okhttp3.Call localVarCall = pageThemeTemplatesServiceCreatePageThemeTemplateValidateBeforeCall(createPageThemeTemplateRequest, idempotencyKey, _callback); Type localVarReturnType = new TypeToken(){}.getType(); localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); return localVarCall; @@ -228,9 +241,10 @@ public okhttp3.Call pageThemeTemplatesServiceCreatePageThemeTemplateAsync(@javax - - - + + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
204 Page theme template deleted successfully -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
204 Page theme template deleted successfully * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public okhttp3.Call pageThemeTemplatesServiceDeletePageThemeTemplateCall(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { @@ -274,7 +288,7 @@ public okhttp3.Call pageThemeTemplatesServiceDeletePageThemeTemplateCall(@javax. localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; return localVarApiClient.buildCall(basePath, localVarPath, "DELETE", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @@ -291,7 +305,7 @@ private okhttp3.Call pageThemeTemplatesServiceDeletePageThemeTemplateValidateBef /** * Delete a workspace page theme template - * Remove a page theme template belonging to the authenticated caller's workspace. Pages already styled from it are unaffected. + * Remove a page theme template belonging to the authenticated caller's workspace. Pages already styled from it are unaffected. Requires the `page_themes:write` scope. * @param id (required) * @return Object * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body @@ -299,9 +313,10 @@ private okhttp3.Call pageThemeTemplatesServiceDeletePageThemeTemplateValidateBef - - - + + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
204 Page theme template deleted successfully -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
204 Page theme template deleted successfully * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public Object pageThemeTemplatesServiceDeletePageThemeTemplate(@javax.annotation.Nonnull String id) throws ApiException { @@ -311,7 +326,7 @@ public Object pageThemeTemplatesServiceDeletePageThemeTemplate(@javax.annotation /** * Delete a workspace page theme template - * Remove a page theme template belonging to the authenticated caller's workspace. Pages already styled from it are unaffected. + * Remove a page theme template belonging to the authenticated caller's workspace. Pages already styled from it are unaffected. Requires the `page_themes:write` scope. * @param id (required) * @return ApiResponse<Object> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body @@ -319,9 +334,10 @@ public Object pageThemeTemplatesServiceDeletePageThemeTemplate(@javax.annotation - - - + + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
204 Page theme template deleted successfully -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
204 Page theme template deleted successfully * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public ApiResponse pageThemeTemplatesServiceDeletePageThemeTemplateWithHttpInfo(@javax.annotation.Nonnull String id) throws ApiException { @@ -332,7 +348,7 @@ public ApiResponse pageThemeTemplatesServiceDeletePageThemeTemplateWithH /** * Delete a workspace page theme template (asynchronously) - * Remove a page theme template belonging to the authenticated caller's workspace. Pages already styled from it are unaffected. + * Remove a page theme template belonging to the authenticated caller's workspace. Pages already styled from it are unaffected. Requires the `page_themes:write` scope. * @param id (required) * @param _callback The callback to be executed when the API call finishes * @return The request call @@ -341,9 +357,10 @@ public ApiResponse pageThemeTemplatesServiceDeletePageThemeTemplateWithH - - - + + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
204 Page theme template deleted successfully -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
204 Page theme template deleted successfully * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public okhttp3.Call pageThemeTemplatesServiceDeletePageThemeTemplateAsync(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { @@ -364,8 +381,9 @@ public okhttp3.Call pageThemeTemplatesServiceDeletePageThemeTemplateAsync(@javax - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public okhttp3.Call pageThemeTemplatesServiceGetPageThemeTemplateCall(@javax.annotation.Nonnull String id, @javax.annotation.Nullable List include, final ApiCallback _callback) throws ApiException { @@ -413,7 +431,7 @@ public okhttp3.Call pageThemeTemplatesServiceGetPageThemeTemplateCall(@javax.ann localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @@ -430,7 +448,7 @@ private okhttp3.Call pageThemeTemplatesServiceGetPageThemeTemplateValidateBefore /** * Get a workspace page theme template - * Retrieve a page theme template that belongs to the authenticated caller's workspace. + * Retrieve a page theme template that belongs to the authenticated caller's workspace. Requires the `page_themes:read` scope. * @param id (required) * @param include (optional) * @return PageThemeTemplate @@ -439,8 +457,9 @@ private okhttp3.Call pageThemeTemplatesServiceGetPageThemeTemplateValidateBefore - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public PageThemeTemplate pageThemeTemplatesServiceGetPageThemeTemplate(@javax.annotation.Nonnull String id, @javax.annotation.Nullable List include) throws ApiException { @@ -450,7 +469,7 @@ public PageThemeTemplate pageThemeTemplatesServiceGetPageThemeTemplate(@javax.an /** * Get a workspace page theme template - * Retrieve a page theme template that belongs to the authenticated caller's workspace. + * Retrieve a page theme template that belongs to the authenticated caller's workspace. Requires the `page_themes:read` scope. * @param id (required) * @param include (optional) * @return ApiResponse<PageThemeTemplate> @@ -459,8 +478,9 @@ public PageThemeTemplate pageThemeTemplatesServiceGetPageThemeTemplate(@javax.an - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public ApiResponse pageThemeTemplatesServiceGetPageThemeTemplateWithHttpInfo(@javax.annotation.Nonnull String id, @javax.annotation.Nullable List include) throws ApiException { @@ -471,7 +491,7 @@ public ApiResponse pageThemeTemplatesServiceGetPageThemeTempl /** * Get a workspace page theme template (asynchronously) - * Retrieve a page theme template that belongs to the authenticated caller's workspace. + * Retrieve a page theme template that belongs to the authenticated caller's workspace. Requires the `page_themes:read` scope. * @param id (required) * @param include (optional) * @param _callback The callback to be executed when the API call finishes @@ -481,8 +501,9 @@ public ApiResponse pageThemeTemplatesServiceGetPageThemeTempl - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public okhttp3.Call pageThemeTemplatesServiceGetPageThemeTemplateAsync(@javax.annotation.Nonnull String id, @javax.annotation.Nullable List include, final ApiCallback _callback) throws ApiException { @@ -495,6 +516,7 @@ public okhttp3.Call pageThemeTemplatesServiceGetPageThemeTemplateAsync(@javax.an /** * Build call for pageThemeTemplatesServiceImportPageThemeTemplate * @param importPageThemeTemplateRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @param _callback Callback for upload/download progress * @return Call to execute * @throws ApiException If fail to serialize the request body object @@ -502,11 +524,12 @@ public okhttp3.Call pageThemeTemplatesServiceGetPageThemeTemplateAsync(@javax.an - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call pageThemeTemplatesServiceImportPageThemeTemplateCall(@javax.annotation.Nonnull ImportPageThemeTemplateRequest importPageThemeTemplateRequest, final ApiCallback _callback) throws ApiException { + public okhttp3.Call pageThemeTemplatesServiceImportPageThemeTemplateCall(@javax.annotation.Nonnull ImportPageThemeTemplateRequest importPageThemeTemplateRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -547,64 +570,74 @@ public okhttp3.Call pageThemeTemplatesServiceImportPageThemeTemplateCall(@javax. localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + if (idempotencyKey != null) { + localVarHeaderParams.put("Idempotency-Key", localVarApiClient.parameterToString(idempotencyKey)); + } + + + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; return localVarApiClient.buildCall(basePath, localVarPath, "POST", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @SuppressWarnings("rawtypes") - private okhttp3.Call pageThemeTemplatesServiceImportPageThemeTemplateValidateBeforeCall(@javax.annotation.Nonnull ImportPageThemeTemplateRequest importPageThemeTemplateRequest, final ApiCallback _callback) throws ApiException { + private okhttp3.Call pageThemeTemplatesServiceImportPageThemeTemplateValidateBeforeCall(@javax.annotation.Nonnull ImportPageThemeTemplateRequest importPageThemeTemplateRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { // verify the required parameter 'importPageThemeTemplateRequest' is set if (importPageThemeTemplateRequest == null) { throw new ApiException("Missing the required parameter 'importPageThemeTemplateRequest' when calling pageThemeTemplatesServiceImportPageThemeTemplate(Async)"); } - return pageThemeTemplatesServiceImportPageThemeTemplateCall(importPageThemeTemplateRequest, _callback); + return pageThemeTemplatesServiceImportPageThemeTemplateCall(importPageThemeTemplateRequest, idempotencyKey, _callback); } /** * Import a public page theme template - * Import a public page theme template into your workspace by slug. Creates a private copy owned by your workspace. + * Import a public page theme template into your workspace by slug. Creates a private copy owned by your workspace. Requires the `page_themes:write` scope. * @param importPageThemeTemplateRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return ImportPageThemeTemplateResponse * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public ImportPageThemeTemplateResponse pageThemeTemplatesServiceImportPageThemeTemplate(@javax.annotation.Nonnull ImportPageThemeTemplateRequest importPageThemeTemplateRequest) throws ApiException { - ApiResponse localVarResp = pageThemeTemplatesServiceImportPageThemeTemplateWithHttpInfo(importPageThemeTemplateRequest); + public ImportPageThemeTemplateResponse pageThemeTemplatesServiceImportPageThemeTemplate(@javax.annotation.Nonnull ImportPageThemeTemplateRequest importPageThemeTemplateRequest, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + ApiResponse localVarResp = pageThemeTemplatesServiceImportPageThemeTemplateWithHttpInfo(importPageThemeTemplateRequest, idempotencyKey); return localVarResp.getData(); } /** * Import a public page theme template - * Import a public page theme template into your workspace by slug. Creates a private copy owned by your workspace. + * Import a public page theme template into your workspace by slug. Creates a private copy owned by your workspace. Requires the `page_themes:write` scope. * @param importPageThemeTemplateRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return ApiResponse<ImportPageThemeTemplateResponse> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public ApiResponse pageThemeTemplatesServiceImportPageThemeTemplateWithHttpInfo(@javax.annotation.Nonnull ImportPageThemeTemplateRequest importPageThemeTemplateRequest) throws ApiException { - okhttp3.Call localVarCall = pageThemeTemplatesServiceImportPageThemeTemplateValidateBeforeCall(importPageThemeTemplateRequest, null); + public ApiResponse pageThemeTemplatesServiceImportPageThemeTemplateWithHttpInfo(@javax.annotation.Nonnull ImportPageThemeTemplateRequest importPageThemeTemplateRequest, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + okhttp3.Call localVarCall = pageThemeTemplatesServiceImportPageThemeTemplateValidateBeforeCall(importPageThemeTemplateRequest, idempotencyKey, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); } /** * Import a public page theme template (asynchronously) - * Import a public page theme template into your workspace by slug. Creates a private copy owned by your workspace. + * Import a public page theme template into your workspace by slug. Creates a private copy owned by your workspace. Requires the `page_themes:write` scope. * @param importPageThemeTemplateRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @param _callback The callback to be executed when the API call finishes * @return The request call * @throws ApiException If fail to process the API call, e.g. serializing the request body object @@ -612,13 +645,14 @@ public ApiResponse pageThemeTemplatesServiceImp - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call pageThemeTemplatesServiceImportPageThemeTemplateAsync(@javax.annotation.Nonnull ImportPageThemeTemplateRequest importPageThemeTemplateRequest, final ApiCallback _callback) throws ApiException { + public okhttp3.Call pageThemeTemplatesServiceImportPageThemeTemplateAsync(@javax.annotation.Nonnull ImportPageThemeTemplateRequest importPageThemeTemplateRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { - okhttp3.Call localVarCall = pageThemeTemplatesServiceImportPageThemeTemplateValidateBeforeCall(importPageThemeTemplateRequest, _callback); + okhttp3.Call localVarCall = pageThemeTemplatesServiceImportPageThemeTemplateValidateBeforeCall(importPageThemeTemplateRequest, idempotencyKey, _callback); Type localVarReturnType = new TypeToken(){}.getType(); localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); return localVarCall; @@ -630,6 +664,7 @@ public okhttp3.Call pageThemeTemplatesServiceImportPageThemeTemplateAsync(@javax * @param pageSize (optional) * @param pageToken (optional) * @param scope Which templates to return. WORKSPACE (default) returns only templates owned by the caller's workspace. AVAILABLE also returns built-in templates and templates other workspaces have published, ordered by the workspace's own usage first, then its own templates, then the rest. - PAGE_THEME_TEMPLATE_SCOPE_UNSPECIFIED: Defaults to PAGE_THEME_TEMPLATE_SCOPE_WORKSPACE. - PAGE_THEME_TEMPLATE_SCOPE_WORKSPACE: Only templates owned by the caller's workspace. - PAGE_THEME_TEMPLATE_SCOPE_AVAILABLE: Every template the workspace may use: its own, built-in ones, and templates published by other workspaces. (optional) + * @param cursor Opaque cursor from the previous page's nextPageToken. Same as pageToken; when both are sent, pageToken wins. (optional) * @param _callback Callback for upload/download progress * @return Call to execute * @throws ApiException If fail to serialize the request body object @@ -637,11 +672,12 @@ public okhttp3.Call pageThemeTemplatesServiceImportPageThemeTemplateAsync(@javax - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call pageThemeTemplatesServiceListPageThemeTemplatesCall(@javax.annotation.Nullable List include, @javax.annotation.Nullable String search, @javax.annotation.Nullable Long pageSize, @javax.annotation.Nullable String pageToken, @javax.annotation.Nullable String scope, final ApiCallback _callback) throws ApiException { + public okhttp3.Call pageThemeTemplatesServiceListPageThemeTemplatesCall(@javax.annotation.Nullable List include, @javax.annotation.Nullable String search, @javax.annotation.Nullable Long pageSize, @javax.annotation.Nullable String pageToken, @javax.annotation.Nullable String scope, @javax.annotation.Nullable String cursor, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -686,6 +722,10 @@ public okhttp3.Call pageThemeTemplatesServiceListPageThemeTemplatesCall(@javax.a localVarQueryParams.addAll(localVarApiClient.parameterToPair("scope", scope)); } + if (cursor != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("cursor", cursor)); + } + final String[] localVarAccepts = { "application/json" }; @@ -701,71 +741,76 @@ public okhttp3.Call pageThemeTemplatesServiceListPageThemeTemplatesCall(@javax.a localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @SuppressWarnings("rawtypes") - private okhttp3.Call pageThemeTemplatesServiceListPageThemeTemplatesValidateBeforeCall(@javax.annotation.Nullable List include, @javax.annotation.Nullable String search, @javax.annotation.Nullable Long pageSize, @javax.annotation.Nullable String pageToken, @javax.annotation.Nullable String scope, final ApiCallback _callback) throws ApiException { - return pageThemeTemplatesServiceListPageThemeTemplatesCall(include, search, pageSize, pageToken, scope, _callback); + private okhttp3.Call pageThemeTemplatesServiceListPageThemeTemplatesValidateBeforeCall(@javax.annotation.Nullable List include, @javax.annotation.Nullable String search, @javax.annotation.Nullable Long pageSize, @javax.annotation.Nullable String pageToken, @javax.annotation.Nullable String scope, @javax.annotation.Nullable String cursor, final ApiCallback _callback) throws ApiException { + return pageThemeTemplatesServiceListPageThemeTemplatesCall(include, search, pageSize, pageToken, scope, cursor, _callback); } /** * List my page theme templates - * Retrieve page theme templates that belong to the authenticated caller's workspace. + * Retrieve page theme templates that belong to the authenticated caller's workspace. Requires the `page_themes:read` scope. * @param include (optional) * @param search (optional) * @param pageSize (optional) * @param pageToken (optional) * @param scope Which templates to return. WORKSPACE (default) returns only templates owned by the caller's workspace. AVAILABLE also returns built-in templates and templates other workspaces have published, ordered by the workspace's own usage first, then its own templates, then the rest. - PAGE_THEME_TEMPLATE_SCOPE_UNSPECIFIED: Defaults to PAGE_THEME_TEMPLATE_SCOPE_WORKSPACE. - PAGE_THEME_TEMPLATE_SCOPE_WORKSPACE: Only templates owned by the caller's workspace. - PAGE_THEME_TEMPLATE_SCOPE_AVAILABLE: Every template the workspace may use: its own, built-in ones, and templates published by other workspaces. (optional) + * @param cursor Opaque cursor from the previous page's nextPageToken. Same as pageToken; when both are sent, pageToken wins. (optional) * @return ListPageThemeTemplatesResponse * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public ListPageThemeTemplatesResponse pageThemeTemplatesServiceListPageThemeTemplates(@javax.annotation.Nullable List include, @javax.annotation.Nullable String search, @javax.annotation.Nullable Long pageSize, @javax.annotation.Nullable String pageToken, @javax.annotation.Nullable String scope) throws ApiException { - ApiResponse localVarResp = pageThemeTemplatesServiceListPageThemeTemplatesWithHttpInfo(include, search, pageSize, pageToken, scope); + public ListPageThemeTemplatesResponse pageThemeTemplatesServiceListPageThemeTemplates(@javax.annotation.Nullable List include, @javax.annotation.Nullable String search, @javax.annotation.Nullable Long pageSize, @javax.annotation.Nullable String pageToken, @javax.annotation.Nullable String scope, @javax.annotation.Nullable String cursor) throws ApiException { + ApiResponse localVarResp = pageThemeTemplatesServiceListPageThemeTemplatesWithHttpInfo(include, search, pageSize, pageToken, scope, cursor); return localVarResp.getData(); } /** * List my page theme templates - * Retrieve page theme templates that belong to the authenticated caller's workspace. + * Retrieve page theme templates that belong to the authenticated caller's workspace. Requires the `page_themes:read` scope. * @param include (optional) * @param search (optional) * @param pageSize (optional) * @param pageToken (optional) * @param scope Which templates to return. WORKSPACE (default) returns only templates owned by the caller's workspace. AVAILABLE also returns built-in templates and templates other workspaces have published, ordered by the workspace's own usage first, then its own templates, then the rest. - PAGE_THEME_TEMPLATE_SCOPE_UNSPECIFIED: Defaults to PAGE_THEME_TEMPLATE_SCOPE_WORKSPACE. - PAGE_THEME_TEMPLATE_SCOPE_WORKSPACE: Only templates owned by the caller's workspace. - PAGE_THEME_TEMPLATE_SCOPE_AVAILABLE: Every template the workspace may use: its own, built-in ones, and templates published by other workspaces. (optional) + * @param cursor Opaque cursor from the previous page's nextPageToken. Same as pageToken; when both are sent, pageToken wins. (optional) * @return ApiResponse<ListPageThemeTemplatesResponse> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public ApiResponse pageThemeTemplatesServiceListPageThemeTemplatesWithHttpInfo(@javax.annotation.Nullable List include, @javax.annotation.Nullable String search, @javax.annotation.Nullable Long pageSize, @javax.annotation.Nullable String pageToken, @javax.annotation.Nullable String scope) throws ApiException { - okhttp3.Call localVarCall = pageThemeTemplatesServiceListPageThemeTemplatesValidateBeforeCall(include, search, pageSize, pageToken, scope, null); + public ApiResponse pageThemeTemplatesServiceListPageThemeTemplatesWithHttpInfo(@javax.annotation.Nullable List include, @javax.annotation.Nullable String search, @javax.annotation.Nullable Long pageSize, @javax.annotation.Nullable String pageToken, @javax.annotation.Nullable String scope, @javax.annotation.Nullable String cursor) throws ApiException { + okhttp3.Call localVarCall = pageThemeTemplatesServiceListPageThemeTemplatesValidateBeforeCall(include, search, pageSize, pageToken, scope, cursor, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); } /** * List my page theme templates (asynchronously) - * Retrieve page theme templates that belong to the authenticated caller's workspace. + * Retrieve page theme templates that belong to the authenticated caller's workspace. Requires the `page_themes:read` scope. * @param include (optional) * @param search (optional) * @param pageSize (optional) * @param pageToken (optional) * @param scope Which templates to return. WORKSPACE (default) returns only templates owned by the caller's workspace. AVAILABLE also returns built-in templates and templates other workspaces have published, ordered by the workspace's own usage first, then its own templates, then the rest. - PAGE_THEME_TEMPLATE_SCOPE_UNSPECIFIED: Defaults to PAGE_THEME_TEMPLATE_SCOPE_WORKSPACE. - PAGE_THEME_TEMPLATE_SCOPE_WORKSPACE: Only templates owned by the caller's workspace. - PAGE_THEME_TEMPLATE_SCOPE_AVAILABLE: Every template the workspace may use: its own, built-in ones, and templates published by other workspaces. (optional) + * @param cursor Opaque cursor from the previous page's nextPageToken. Same as pageToken; when both are sent, pageToken wins. (optional) * @param _callback The callback to be executed when the API call finishes * @return The request call * @throws ApiException If fail to process the API call, e.g. serializing the request body object @@ -773,13 +818,14 @@ public ApiResponse pageThemeTemplatesServiceList - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call pageThemeTemplatesServiceListPageThemeTemplatesAsync(@javax.annotation.Nullable List include, @javax.annotation.Nullable String search, @javax.annotation.Nullable Long pageSize, @javax.annotation.Nullable String pageToken, @javax.annotation.Nullable String scope, final ApiCallback _callback) throws ApiException { + public okhttp3.Call pageThemeTemplatesServiceListPageThemeTemplatesAsync(@javax.annotation.Nullable List include, @javax.annotation.Nullable String search, @javax.annotation.Nullable Long pageSize, @javax.annotation.Nullable String pageToken, @javax.annotation.Nullable String scope, @javax.annotation.Nullable String cursor, final ApiCallback _callback) throws ApiException { - okhttp3.Call localVarCall = pageThemeTemplatesServiceListPageThemeTemplatesValidateBeforeCall(include, search, pageSize, pageToken, scope, _callback); + okhttp3.Call localVarCall = pageThemeTemplatesServiceListPageThemeTemplatesValidateBeforeCall(include, search, pageSize, pageToken, scope, cursor, _callback); Type localVarReturnType = new TypeToken(){}.getType(); localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); return localVarCall; @@ -795,8 +841,9 @@ public okhttp3.Call pageThemeTemplatesServiceListPageThemeTemplatesAsync(@javax. - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public okhttp3.Call pageThemeTemplatesServicePublicGetPageThemeTemplateCall(@javax.annotation.Nonnull String slug, @javax.annotation.Nullable List include, final ApiCallback _callback) throws ApiException { @@ -844,7 +891,7 @@ public okhttp3.Call pageThemeTemplatesServicePublicGetPageThemeTemplateCall(@jav localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + String[] localVarAuthNames = new String[] { }; return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @@ -870,8 +917,9 @@ private okhttp3.Call pageThemeTemplatesServicePublicGetPageThemeTemplateValidate - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public PublicPageThemeTemplate pageThemeTemplatesServicePublicGetPageThemeTemplate(@javax.annotation.Nonnull String slug, @javax.annotation.Nullable List include) throws ApiException { @@ -890,8 +938,9 @@ public PublicPageThemeTemplate pageThemeTemplatesServicePublicGetPageThemeTempla - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public ApiResponse pageThemeTemplatesServicePublicGetPageThemeTemplateWithHttpInfo(@javax.annotation.Nonnull String slug, @javax.annotation.Nullable List include) throws ApiException { @@ -912,8 +961,9 @@ public ApiResponse pageThemeTemplatesServicePublicGetPa - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public okhttp3.Call pageThemeTemplatesServicePublicGetPageThemeTemplateAsync(@javax.annotation.Nonnull String slug, @javax.annotation.Nullable List include, final ApiCallback _callback) throws ApiException { @@ -930,6 +980,7 @@ public okhttp3.Call pageThemeTemplatesServicePublicGetPageThemeTemplateAsync(@ja * @param pageSize Maximum number of templates to return (defaults to 20) (optional) * @param pageToken Cursor token to retrieve the next page of results (optional) * @param workspaceId Optional workspace ID to filter templates by workspace Filter public templates by workspace. Only published templates for that workspace will be returned. (optional) + * @param cursor Opaque cursor from the previous page's nextPageToken. Same as pageToken; when both are sent, pageToken wins. (optional) * @param _callback Callback for upload/download progress * @return Call to execute * @throws ApiException If fail to serialize the request body object @@ -937,11 +988,12 @@ public okhttp3.Call pageThemeTemplatesServicePublicGetPageThemeTemplateAsync(@ja - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call pageThemeTemplatesServicePublicListPageThemeTemplatesCall(@javax.annotation.Nullable List include, @javax.annotation.Nullable String search, @javax.annotation.Nullable Long pageSize, @javax.annotation.Nullable String pageToken, @javax.annotation.Nullable String workspaceId, final ApiCallback _callback) throws ApiException { + public okhttp3.Call pageThemeTemplatesServicePublicListPageThemeTemplatesCall(@javax.annotation.Nullable List include, @javax.annotation.Nullable String search, @javax.annotation.Nullable Long pageSize, @javax.annotation.Nullable String pageToken, @javax.annotation.Nullable String workspaceId, @javax.annotation.Nullable String cursor, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -986,6 +1038,10 @@ public okhttp3.Call pageThemeTemplatesServicePublicListPageThemeTemplatesCall(@j localVarQueryParams.addAll(localVarApiClient.parameterToPair("workspaceId", workspaceId)); } + if (cursor != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("cursor", cursor)); + } + final String[] localVarAccepts = { "application/json" }; @@ -1001,13 +1057,13 @@ public okhttp3.Call pageThemeTemplatesServicePublicListPageThemeTemplatesCall(@j localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + String[] localVarAuthNames = new String[] { }; return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @SuppressWarnings("rawtypes") - private okhttp3.Call pageThemeTemplatesServicePublicListPageThemeTemplatesValidateBeforeCall(@javax.annotation.Nullable List include, @javax.annotation.Nullable String search, @javax.annotation.Nullable Long pageSize, @javax.annotation.Nullable String pageToken, @javax.annotation.Nullable String workspaceId, final ApiCallback _callback) throws ApiException { - return pageThemeTemplatesServicePublicListPageThemeTemplatesCall(include, search, pageSize, pageToken, workspaceId, _callback); + private okhttp3.Call pageThemeTemplatesServicePublicListPageThemeTemplatesValidateBeforeCall(@javax.annotation.Nullable List include, @javax.annotation.Nullable String search, @javax.annotation.Nullable Long pageSize, @javax.annotation.Nullable String pageToken, @javax.annotation.Nullable String workspaceId, @javax.annotation.Nullable String cursor, final ApiCallback _callback) throws ApiException { + return pageThemeTemplatesServicePublicListPageThemeTemplatesCall(include, search, pageSize, pageToken, workspaceId, cursor, _callback); } @@ -1019,18 +1075,20 @@ private okhttp3.Call pageThemeTemplatesServicePublicListPageThemeTemplatesValida * @param pageSize Maximum number of templates to return (defaults to 20) (optional) * @param pageToken Cursor token to retrieve the next page of results (optional) * @param workspaceId Optional workspace ID to filter templates by workspace Filter public templates by workspace. Only published templates for that workspace will be returned. (optional) + * @param cursor Opaque cursor from the previous page's nextPageToken. Same as pageToken; when both are sent, pageToken wins. (optional) * @return PublicListPageThemeTemplatesResponse * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public PublicListPageThemeTemplatesResponse pageThemeTemplatesServicePublicListPageThemeTemplates(@javax.annotation.Nullable List include, @javax.annotation.Nullable String search, @javax.annotation.Nullable Long pageSize, @javax.annotation.Nullable String pageToken, @javax.annotation.Nullable String workspaceId) throws ApiException { - ApiResponse localVarResp = pageThemeTemplatesServicePublicListPageThemeTemplatesWithHttpInfo(include, search, pageSize, pageToken, workspaceId); + public PublicListPageThemeTemplatesResponse pageThemeTemplatesServicePublicListPageThemeTemplates(@javax.annotation.Nullable List include, @javax.annotation.Nullable String search, @javax.annotation.Nullable Long pageSize, @javax.annotation.Nullable String pageToken, @javax.annotation.Nullable String workspaceId, @javax.annotation.Nullable String cursor) throws ApiException { + ApiResponse localVarResp = pageThemeTemplatesServicePublicListPageThemeTemplatesWithHttpInfo(include, search, pageSize, pageToken, workspaceId, cursor); return localVarResp.getData(); } @@ -1042,18 +1100,20 @@ public PublicListPageThemeTemplatesResponse pageThemeTemplatesServicePublicListP * @param pageSize Maximum number of templates to return (defaults to 20) (optional) * @param pageToken Cursor token to retrieve the next page of results (optional) * @param workspaceId Optional workspace ID to filter templates by workspace Filter public templates by workspace. Only published templates for that workspace will be returned. (optional) + * @param cursor Opaque cursor from the previous page's nextPageToken. Same as pageToken; when both are sent, pageToken wins. (optional) * @return ApiResponse<PublicListPageThemeTemplatesResponse> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public ApiResponse pageThemeTemplatesServicePublicListPageThemeTemplatesWithHttpInfo(@javax.annotation.Nullable List include, @javax.annotation.Nullable String search, @javax.annotation.Nullable Long pageSize, @javax.annotation.Nullable String pageToken, @javax.annotation.Nullable String workspaceId) throws ApiException { - okhttp3.Call localVarCall = pageThemeTemplatesServicePublicListPageThemeTemplatesValidateBeforeCall(include, search, pageSize, pageToken, workspaceId, null); + public ApiResponse pageThemeTemplatesServicePublicListPageThemeTemplatesWithHttpInfo(@javax.annotation.Nullable List include, @javax.annotation.Nullable String search, @javax.annotation.Nullable Long pageSize, @javax.annotation.Nullable String pageToken, @javax.annotation.Nullable String workspaceId, @javax.annotation.Nullable String cursor) throws ApiException { + okhttp3.Call localVarCall = pageThemeTemplatesServicePublicListPageThemeTemplatesValidateBeforeCall(include, search, pageSize, pageToken, workspaceId, cursor, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); } @@ -1066,6 +1126,7 @@ public ApiResponse pageThemeTemplatesServi * @param pageSize Maximum number of templates to return (defaults to 20) (optional) * @param pageToken Cursor token to retrieve the next page of results (optional) * @param workspaceId Optional workspace ID to filter templates by workspace Filter public templates by workspace. Only published templates for that workspace will be returned. (optional) + * @param cursor Opaque cursor from the previous page's nextPageToken. Same as pageToken; when both are sent, pageToken wins. (optional) * @param _callback The callback to be executed when the API call finishes * @return The request call * @throws ApiException If fail to process the API call, e.g. serializing the request body object @@ -1073,13 +1134,14 @@ public ApiResponse pageThemeTemplatesServi - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call pageThemeTemplatesServicePublicListPageThemeTemplatesAsync(@javax.annotation.Nullable List include, @javax.annotation.Nullable String search, @javax.annotation.Nullable Long pageSize, @javax.annotation.Nullable String pageToken, @javax.annotation.Nullable String workspaceId, final ApiCallback _callback) throws ApiException { + public okhttp3.Call pageThemeTemplatesServicePublicListPageThemeTemplatesAsync(@javax.annotation.Nullable List include, @javax.annotation.Nullable String search, @javax.annotation.Nullable Long pageSize, @javax.annotation.Nullable String pageToken, @javax.annotation.Nullable String workspaceId, @javax.annotation.Nullable String cursor, final ApiCallback _callback) throws ApiException { - okhttp3.Call localVarCall = pageThemeTemplatesServicePublicListPageThemeTemplatesValidateBeforeCall(include, search, pageSize, pageToken, workspaceId, _callback); + okhttp3.Call localVarCall = pageThemeTemplatesServicePublicListPageThemeTemplatesValidateBeforeCall(include, search, pageSize, pageToken, workspaceId, cursor, _callback); Type localVarReturnType = new TypeToken(){}.getType(); localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); return localVarCall; @@ -1088,6 +1150,7 @@ public okhttp3.Call pageThemeTemplatesServicePublicListPageThemeTemplatesAsync(@ * Build call for pageThemeTemplatesServicePublishPageThemeTemplate * @param id The ID of the page theme template to publish (UUID) (required) * @param body (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @param _callback Callback for upload/download progress * @return Call to execute * @throws ApiException If fail to serialize the request body object @@ -1095,11 +1158,12 @@ public okhttp3.Call pageThemeTemplatesServicePublicListPageThemeTemplatesAsync(@ - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call pageThemeTemplatesServicePublishPageThemeTemplateCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull Object body, final ApiCallback _callback) throws ApiException { + public okhttp3.Call pageThemeTemplatesServicePublishPageThemeTemplateCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull Object body, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -1141,12 +1205,17 @@ public okhttp3.Call pageThemeTemplatesServicePublishPageThemeTemplateCall(@javax localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + if (idempotencyKey != null) { + localVarHeaderParams.put("Idempotency-Key", localVarApiClient.parameterToString(idempotencyKey)); + } + + + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; return localVarApiClient.buildCall(basePath, localVarPath, "POST", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @SuppressWarnings("rawtypes") - private okhttp3.Call pageThemeTemplatesServicePublishPageThemeTemplateValidateBeforeCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull Object body, final ApiCallback _callback) throws ApiException { + private okhttp3.Call pageThemeTemplatesServicePublishPageThemeTemplateValidateBeforeCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull Object body, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { // verify the required parameter 'id' is set if (id == null) { throw new ApiException("Missing the required parameter 'id' when calling pageThemeTemplatesServicePublishPageThemeTemplate(Async)"); @@ -1157,56 +1226,61 @@ private okhttp3.Call pageThemeTemplatesServicePublishPageThemeTemplateValidateBe throw new ApiException("Missing the required parameter 'body' when calling pageThemeTemplatesServicePublishPageThemeTemplate(Async)"); } - return pageThemeTemplatesServicePublishPageThemeTemplateCall(id, body, _callback); + return pageThemeTemplatesServicePublishPageThemeTemplateCall(id, body, idempotencyKey, _callback); } /** * Publish a workspace page theme template - * Publish a page theme template to make it available in the public gallery. Requires workspace to be public and template to have slug, description, and name. + * Publish a page theme template to make it available in the public gallery. Requires workspace to be public and template to have slug, description, and name. Requires the `page_themes:write` scope. * @param id The ID of the page theme template to publish (UUID) (required) * @param body (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return PublishPageThemeTemplateResponse * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public PublishPageThemeTemplateResponse pageThemeTemplatesServicePublishPageThemeTemplate(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull Object body) throws ApiException { - ApiResponse localVarResp = pageThemeTemplatesServicePublishPageThemeTemplateWithHttpInfo(id, body); + public PublishPageThemeTemplateResponse pageThemeTemplatesServicePublishPageThemeTemplate(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull Object body, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + ApiResponse localVarResp = pageThemeTemplatesServicePublishPageThemeTemplateWithHttpInfo(id, body, idempotencyKey); return localVarResp.getData(); } /** * Publish a workspace page theme template - * Publish a page theme template to make it available in the public gallery. Requires workspace to be public and template to have slug, description, and name. + * Publish a page theme template to make it available in the public gallery. Requires workspace to be public and template to have slug, description, and name. Requires the `page_themes:write` scope. * @param id The ID of the page theme template to publish (UUID) (required) * @param body (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return ApiResponse<PublishPageThemeTemplateResponse> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public ApiResponse pageThemeTemplatesServicePublishPageThemeTemplateWithHttpInfo(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull Object body) throws ApiException { - okhttp3.Call localVarCall = pageThemeTemplatesServicePublishPageThemeTemplateValidateBeforeCall(id, body, null); + public ApiResponse pageThemeTemplatesServicePublishPageThemeTemplateWithHttpInfo(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull Object body, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + okhttp3.Call localVarCall = pageThemeTemplatesServicePublishPageThemeTemplateValidateBeforeCall(id, body, idempotencyKey, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); } /** * Publish a workspace page theme template (asynchronously) - * Publish a page theme template to make it available in the public gallery. Requires workspace to be public and template to have slug, description, and name. + * Publish a page theme template to make it available in the public gallery. Requires workspace to be public and template to have slug, description, and name. Requires the `page_themes:write` scope. * @param id The ID of the page theme template to publish (UUID) (required) * @param body (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @param _callback The callback to be executed when the API call finishes * @return The request call * @throws ApiException If fail to process the API call, e.g. serializing the request body object @@ -1214,13 +1288,14 @@ public ApiResponse pageThemeTemplatesServicePu - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call pageThemeTemplatesServicePublishPageThemeTemplateAsync(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull Object body, final ApiCallback _callback) throws ApiException { + public okhttp3.Call pageThemeTemplatesServicePublishPageThemeTemplateAsync(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull Object body, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { - okhttp3.Call localVarCall = pageThemeTemplatesServicePublishPageThemeTemplateValidateBeforeCall(id, body, _callback); + okhttp3.Call localVarCall = pageThemeTemplatesServicePublishPageThemeTemplateValidateBeforeCall(id, body, idempotencyKey, _callback); Type localVarReturnType = new TypeToken(){}.getType(); localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); return localVarCall; @@ -1228,6 +1303,7 @@ public okhttp3.Call pageThemeTemplatesServicePublishPageThemeTemplateAsync(@java /** * Build call for pageThemeTemplatesServiceResolvePageThemeTemplateImages * @param resolvePageThemeTemplateImagesRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @param _callback Callback for upload/download progress * @return Call to execute * @throws ApiException If fail to serialize the request body object @@ -1235,11 +1311,12 @@ public okhttp3.Call pageThemeTemplatesServicePublishPageThemeTemplateAsync(@java - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call pageThemeTemplatesServiceResolvePageThemeTemplateImagesCall(@javax.annotation.Nonnull ResolvePageThemeTemplateImagesRequest resolvePageThemeTemplateImagesRequest, final ApiCallback _callback) throws ApiException { + public okhttp3.Call pageThemeTemplatesServiceResolvePageThemeTemplateImagesCall(@javax.annotation.Nonnull ResolvePageThemeTemplateImagesRequest resolvePageThemeTemplateImagesRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -1280,64 +1357,74 @@ public okhttp3.Call pageThemeTemplatesServiceResolvePageThemeTemplateImagesCall( localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + if (idempotencyKey != null) { + localVarHeaderParams.put("Idempotency-Key", localVarApiClient.parameterToString(idempotencyKey)); + } + + + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; return localVarApiClient.buildCall(basePath, localVarPath, "POST", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @SuppressWarnings("rawtypes") - private okhttp3.Call pageThemeTemplatesServiceResolvePageThemeTemplateImagesValidateBeforeCall(@javax.annotation.Nonnull ResolvePageThemeTemplateImagesRequest resolvePageThemeTemplateImagesRequest, final ApiCallback _callback) throws ApiException { + private okhttp3.Call pageThemeTemplatesServiceResolvePageThemeTemplateImagesValidateBeforeCall(@javax.annotation.Nonnull ResolvePageThemeTemplateImagesRequest resolvePageThemeTemplateImagesRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { // verify the required parameter 'resolvePageThemeTemplateImagesRequest' is set if (resolvePageThemeTemplateImagesRequest == null) { throw new ApiException("Missing the required parameter 'resolvePageThemeTemplateImagesRequest' when calling pageThemeTemplatesServiceResolvePageThemeTemplateImages(Async)"); } - return pageThemeTemplatesServiceResolvePageThemeTemplateImagesCall(resolvePageThemeTemplateImagesRequest, _callback); + return pageThemeTemplatesServiceResolvePageThemeTemplateImagesCall(resolvePageThemeTemplateImagesRequest, idempotencyKey, _callback); } /** * Resolve page theme template images - * Return freshly signed thumbnail, cover and badge URLs for the given templates. The URLs expire, so callers fetch them when they need to render rather than storing them. + * Return freshly signed thumbnail, cover and badge URLs for the given templates. The URLs expire, so callers fetch them when they need to render rather than storing them. Requires the `page_themes:read` scope. * @param resolvePageThemeTemplateImagesRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return ResolvePageThemeTemplateImagesResponse * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public ResolvePageThemeTemplateImagesResponse pageThemeTemplatesServiceResolvePageThemeTemplateImages(@javax.annotation.Nonnull ResolvePageThemeTemplateImagesRequest resolvePageThemeTemplateImagesRequest) throws ApiException { - ApiResponse localVarResp = pageThemeTemplatesServiceResolvePageThemeTemplateImagesWithHttpInfo(resolvePageThemeTemplateImagesRequest); + public ResolvePageThemeTemplateImagesResponse pageThemeTemplatesServiceResolvePageThemeTemplateImages(@javax.annotation.Nonnull ResolvePageThemeTemplateImagesRequest resolvePageThemeTemplateImagesRequest, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + ApiResponse localVarResp = pageThemeTemplatesServiceResolvePageThemeTemplateImagesWithHttpInfo(resolvePageThemeTemplateImagesRequest, idempotencyKey); return localVarResp.getData(); } /** * Resolve page theme template images - * Return freshly signed thumbnail, cover and badge URLs for the given templates. The URLs expire, so callers fetch them when they need to render rather than storing them. + * Return freshly signed thumbnail, cover and badge URLs for the given templates. The URLs expire, so callers fetch them when they need to render rather than storing them. Requires the `page_themes:read` scope. * @param resolvePageThemeTemplateImagesRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return ApiResponse<ResolvePageThemeTemplateImagesResponse> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public ApiResponse pageThemeTemplatesServiceResolvePageThemeTemplateImagesWithHttpInfo(@javax.annotation.Nonnull ResolvePageThemeTemplateImagesRequest resolvePageThemeTemplateImagesRequest) throws ApiException { - okhttp3.Call localVarCall = pageThemeTemplatesServiceResolvePageThemeTemplateImagesValidateBeforeCall(resolvePageThemeTemplateImagesRequest, null); + public ApiResponse pageThemeTemplatesServiceResolvePageThemeTemplateImagesWithHttpInfo(@javax.annotation.Nonnull ResolvePageThemeTemplateImagesRequest resolvePageThemeTemplateImagesRequest, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + okhttp3.Call localVarCall = pageThemeTemplatesServiceResolvePageThemeTemplateImagesValidateBeforeCall(resolvePageThemeTemplateImagesRequest, idempotencyKey, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); } /** * Resolve page theme template images (asynchronously) - * Return freshly signed thumbnail, cover and badge URLs for the given templates. The URLs expire, so callers fetch them when they need to render rather than storing them. + * Return freshly signed thumbnail, cover and badge URLs for the given templates. The URLs expire, so callers fetch them when they need to render rather than storing them. Requires the `page_themes:read` scope. * @param resolvePageThemeTemplateImagesRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @param _callback The callback to be executed when the API call finishes * @return The request call * @throws ApiException If fail to process the API call, e.g. serializing the request body object @@ -1345,13 +1432,14 @@ public ApiResponse pageThemeTemplatesSer - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call pageThemeTemplatesServiceResolvePageThemeTemplateImagesAsync(@javax.annotation.Nonnull ResolvePageThemeTemplateImagesRequest resolvePageThemeTemplateImagesRequest, final ApiCallback _callback) throws ApiException { + public okhttp3.Call pageThemeTemplatesServiceResolvePageThemeTemplateImagesAsync(@javax.annotation.Nonnull ResolvePageThemeTemplateImagesRequest resolvePageThemeTemplateImagesRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { - okhttp3.Call localVarCall = pageThemeTemplatesServiceResolvePageThemeTemplateImagesValidateBeforeCall(resolvePageThemeTemplateImagesRequest, _callback); + okhttp3.Call localVarCall = pageThemeTemplatesServiceResolvePageThemeTemplateImagesValidateBeforeCall(resolvePageThemeTemplateImagesRequest, idempotencyKey, _callback); Type localVarReturnType = new TypeToken(){}.getType(); localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); return localVarCall; @@ -1360,6 +1448,7 @@ public okhttp3.Call pageThemeTemplatesServiceResolvePageThemeTemplateImagesAsync * Build call for pageThemeTemplatesServiceUpdatePageThemeTemplate * @param id The ID of the page theme template to update (UUID) (required) * @param pageThemeTemplatesServiceUpdatePageThemeTemplateBody (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @param _callback Callback for upload/download progress * @return Call to execute * @throws ApiException If fail to serialize the request body object @@ -1367,11 +1456,12 @@ public okhttp3.Call pageThemeTemplatesServiceResolvePageThemeTemplateImagesAsync - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call pageThemeTemplatesServiceUpdatePageThemeTemplateCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull PageThemeTemplatesServiceUpdatePageThemeTemplateBody pageThemeTemplatesServiceUpdatePageThemeTemplateBody, final ApiCallback _callback) throws ApiException { + public okhttp3.Call pageThemeTemplatesServiceUpdatePageThemeTemplateCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull PageThemeTemplatesServiceUpdatePageThemeTemplateBody pageThemeTemplatesServiceUpdatePageThemeTemplateBody, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -1413,12 +1503,17 @@ public okhttp3.Call pageThemeTemplatesServiceUpdatePageThemeTemplateCall(@javax. localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + if (idempotencyKey != null) { + localVarHeaderParams.put("Idempotency-Key", localVarApiClient.parameterToString(idempotencyKey)); + } + + + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; return localVarApiClient.buildCall(basePath, localVarPath, "PATCH", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @SuppressWarnings("rawtypes") - private okhttp3.Call pageThemeTemplatesServiceUpdatePageThemeTemplateValidateBeforeCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull PageThemeTemplatesServiceUpdatePageThemeTemplateBody pageThemeTemplatesServiceUpdatePageThemeTemplateBody, final ApiCallback _callback) throws ApiException { + private okhttp3.Call pageThemeTemplatesServiceUpdatePageThemeTemplateValidateBeforeCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull PageThemeTemplatesServiceUpdatePageThemeTemplateBody pageThemeTemplatesServiceUpdatePageThemeTemplateBody, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { // verify the required parameter 'id' is set if (id == null) { throw new ApiException("Missing the required parameter 'id' when calling pageThemeTemplatesServiceUpdatePageThemeTemplate(Async)"); @@ -1429,56 +1524,61 @@ private okhttp3.Call pageThemeTemplatesServiceUpdatePageThemeTemplateValidateBef throw new ApiException("Missing the required parameter 'pageThemeTemplatesServiceUpdatePageThemeTemplateBody' when calling pageThemeTemplatesServiceUpdatePageThemeTemplate(Async)"); } - return pageThemeTemplatesServiceUpdatePageThemeTemplateCall(id, pageThemeTemplatesServiceUpdatePageThemeTemplateBody, _callback); + return pageThemeTemplatesServiceUpdatePageThemeTemplateCall(id, pageThemeTemplatesServiceUpdatePageThemeTemplateBody, idempotencyKey, _callback); } /** * Update a workspace page theme template - * Modify the metadata of a page theme template owned by the authenticated workspace. + * Modify the metadata of a page theme template owned by the authenticated workspace. Requires the `page_themes:write` scope. * @param id The ID of the page theme template to update (UUID) (required) * @param pageThemeTemplatesServiceUpdatePageThemeTemplateBody (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return UpdatePageThemeTemplateResponse * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public UpdatePageThemeTemplateResponse pageThemeTemplatesServiceUpdatePageThemeTemplate(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull PageThemeTemplatesServiceUpdatePageThemeTemplateBody pageThemeTemplatesServiceUpdatePageThemeTemplateBody) throws ApiException { - ApiResponse localVarResp = pageThemeTemplatesServiceUpdatePageThemeTemplateWithHttpInfo(id, pageThemeTemplatesServiceUpdatePageThemeTemplateBody); + public UpdatePageThemeTemplateResponse pageThemeTemplatesServiceUpdatePageThemeTemplate(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull PageThemeTemplatesServiceUpdatePageThemeTemplateBody pageThemeTemplatesServiceUpdatePageThemeTemplateBody, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + ApiResponse localVarResp = pageThemeTemplatesServiceUpdatePageThemeTemplateWithHttpInfo(id, pageThemeTemplatesServiceUpdatePageThemeTemplateBody, idempotencyKey); return localVarResp.getData(); } /** * Update a workspace page theme template - * Modify the metadata of a page theme template owned by the authenticated workspace. + * Modify the metadata of a page theme template owned by the authenticated workspace. Requires the `page_themes:write` scope. * @param id The ID of the page theme template to update (UUID) (required) * @param pageThemeTemplatesServiceUpdatePageThemeTemplateBody (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return ApiResponse<UpdatePageThemeTemplateResponse> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public ApiResponse pageThemeTemplatesServiceUpdatePageThemeTemplateWithHttpInfo(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull PageThemeTemplatesServiceUpdatePageThemeTemplateBody pageThemeTemplatesServiceUpdatePageThemeTemplateBody) throws ApiException { - okhttp3.Call localVarCall = pageThemeTemplatesServiceUpdatePageThemeTemplateValidateBeforeCall(id, pageThemeTemplatesServiceUpdatePageThemeTemplateBody, null); + public ApiResponse pageThemeTemplatesServiceUpdatePageThemeTemplateWithHttpInfo(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull PageThemeTemplatesServiceUpdatePageThemeTemplateBody pageThemeTemplatesServiceUpdatePageThemeTemplateBody, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + okhttp3.Call localVarCall = pageThemeTemplatesServiceUpdatePageThemeTemplateValidateBeforeCall(id, pageThemeTemplatesServiceUpdatePageThemeTemplateBody, idempotencyKey, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); } /** * Update a workspace page theme template (asynchronously) - * Modify the metadata of a page theme template owned by the authenticated workspace. + * Modify the metadata of a page theme template owned by the authenticated workspace. Requires the `page_themes:write` scope. * @param id The ID of the page theme template to update (UUID) (required) * @param pageThemeTemplatesServiceUpdatePageThemeTemplateBody (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @param _callback The callback to be executed when the API call finishes * @return The request call * @throws ApiException If fail to process the API call, e.g. serializing the request body object @@ -1486,13 +1586,14 @@ public ApiResponse pageThemeTemplatesServiceUpd - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call pageThemeTemplatesServiceUpdatePageThemeTemplateAsync(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull PageThemeTemplatesServiceUpdatePageThemeTemplateBody pageThemeTemplatesServiceUpdatePageThemeTemplateBody, final ApiCallback _callback) throws ApiException { + public okhttp3.Call pageThemeTemplatesServiceUpdatePageThemeTemplateAsync(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull PageThemeTemplatesServiceUpdatePageThemeTemplateBody pageThemeTemplatesServiceUpdatePageThemeTemplateBody, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { - okhttp3.Call localVarCall = pageThemeTemplatesServiceUpdatePageThemeTemplateValidateBeforeCall(id, pageThemeTemplatesServiceUpdatePageThemeTemplateBody, _callback); + okhttp3.Call localVarCall = pageThemeTemplatesServiceUpdatePageThemeTemplateValidateBeforeCall(id, pageThemeTemplatesServiceUpdatePageThemeTemplateBody, idempotencyKey, _callback); Type localVarReturnType = new TypeToken(){}.getType(); localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); return localVarCall; @@ -1501,6 +1602,7 @@ public okhttp3.Call pageThemeTemplatesServiceUpdatePageThemeTemplateAsync(@javax * Build call for pageThemeTemplatesServiceUpdatePageThemeTemplateStyling * @param id The ID of the page theme template whose styling to update (UUID) (required) * @param pageThemeTemplatesServiceUpdatePageThemeTemplateStylingBody (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @param _callback Callback for upload/download progress * @return Call to execute * @throws ApiException If fail to serialize the request body object @@ -1508,11 +1610,12 @@ public okhttp3.Call pageThemeTemplatesServiceUpdatePageThemeTemplateAsync(@javax - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call pageThemeTemplatesServiceUpdatePageThemeTemplateStylingCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull PageThemeTemplatesServiceUpdatePageThemeTemplateStylingBody pageThemeTemplatesServiceUpdatePageThemeTemplateStylingBody, final ApiCallback _callback) throws ApiException { + public okhttp3.Call pageThemeTemplatesServiceUpdatePageThemeTemplateStylingCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull PageThemeTemplatesServiceUpdatePageThemeTemplateStylingBody pageThemeTemplatesServiceUpdatePageThemeTemplateStylingBody, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -1554,12 +1657,17 @@ public okhttp3.Call pageThemeTemplatesServiceUpdatePageThemeTemplateStylingCall( localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + if (idempotencyKey != null) { + localVarHeaderParams.put("Idempotency-Key", localVarApiClient.parameterToString(idempotencyKey)); + } + + + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; return localVarApiClient.buildCall(basePath, localVarPath, "PATCH", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @SuppressWarnings("rawtypes") - private okhttp3.Call pageThemeTemplatesServiceUpdatePageThemeTemplateStylingValidateBeforeCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull PageThemeTemplatesServiceUpdatePageThemeTemplateStylingBody pageThemeTemplatesServiceUpdatePageThemeTemplateStylingBody, final ApiCallback _callback) throws ApiException { + private okhttp3.Call pageThemeTemplatesServiceUpdatePageThemeTemplateStylingValidateBeforeCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull PageThemeTemplatesServiceUpdatePageThemeTemplateStylingBody pageThemeTemplatesServiceUpdatePageThemeTemplateStylingBody, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { // verify the required parameter 'id' is set if (id == null) { throw new ApiException("Missing the required parameter 'id' when calling pageThemeTemplatesServiceUpdatePageThemeTemplateStyling(Async)"); @@ -1570,56 +1678,61 @@ private okhttp3.Call pageThemeTemplatesServiceUpdatePageThemeTemplateStylingVali throw new ApiException("Missing the required parameter 'pageThemeTemplatesServiceUpdatePageThemeTemplateStylingBody' when calling pageThemeTemplatesServiceUpdatePageThemeTemplateStyling(Async)"); } - return pageThemeTemplatesServiceUpdatePageThemeTemplateStylingCall(id, pageThemeTemplatesServiceUpdatePageThemeTemplateStylingBody, _callback); + return pageThemeTemplatesServiceUpdatePageThemeTemplateStylingCall(id, pageThemeTemplatesServiceUpdatePageThemeTemplateStylingBody, idempotencyKey, _callback); } /** * Update a page theme template's styling - * Edit the colours, typography, container and media of a page theme template. Queues a thumbnail regeneration. + * Edit the colours, typography, container and media of a page theme template. Queues a thumbnail regeneration. Requires the `page_themes:write` scope. * @param id The ID of the page theme template whose styling to update (UUID) (required) * @param pageThemeTemplatesServiceUpdatePageThemeTemplateStylingBody (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return UpdatePageThemeTemplateStylingResponse * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public UpdatePageThemeTemplateStylingResponse pageThemeTemplatesServiceUpdatePageThemeTemplateStyling(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull PageThemeTemplatesServiceUpdatePageThemeTemplateStylingBody pageThemeTemplatesServiceUpdatePageThemeTemplateStylingBody) throws ApiException { - ApiResponse localVarResp = pageThemeTemplatesServiceUpdatePageThemeTemplateStylingWithHttpInfo(id, pageThemeTemplatesServiceUpdatePageThemeTemplateStylingBody); + public UpdatePageThemeTemplateStylingResponse pageThemeTemplatesServiceUpdatePageThemeTemplateStyling(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull PageThemeTemplatesServiceUpdatePageThemeTemplateStylingBody pageThemeTemplatesServiceUpdatePageThemeTemplateStylingBody, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + ApiResponse localVarResp = pageThemeTemplatesServiceUpdatePageThemeTemplateStylingWithHttpInfo(id, pageThemeTemplatesServiceUpdatePageThemeTemplateStylingBody, idempotencyKey); return localVarResp.getData(); } /** * Update a page theme template's styling - * Edit the colours, typography, container and media of a page theme template. Queues a thumbnail regeneration. + * Edit the colours, typography, container and media of a page theme template. Queues a thumbnail regeneration. Requires the `page_themes:write` scope. * @param id The ID of the page theme template whose styling to update (UUID) (required) * @param pageThemeTemplatesServiceUpdatePageThemeTemplateStylingBody (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return ApiResponse<UpdatePageThemeTemplateStylingResponse> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public ApiResponse pageThemeTemplatesServiceUpdatePageThemeTemplateStylingWithHttpInfo(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull PageThemeTemplatesServiceUpdatePageThemeTemplateStylingBody pageThemeTemplatesServiceUpdatePageThemeTemplateStylingBody) throws ApiException { - okhttp3.Call localVarCall = pageThemeTemplatesServiceUpdatePageThemeTemplateStylingValidateBeforeCall(id, pageThemeTemplatesServiceUpdatePageThemeTemplateStylingBody, null); + public ApiResponse pageThemeTemplatesServiceUpdatePageThemeTemplateStylingWithHttpInfo(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull PageThemeTemplatesServiceUpdatePageThemeTemplateStylingBody pageThemeTemplatesServiceUpdatePageThemeTemplateStylingBody, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + okhttp3.Call localVarCall = pageThemeTemplatesServiceUpdatePageThemeTemplateStylingValidateBeforeCall(id, pageThemeTemplatesServiceUpdatePageThemeTemplateStylingBody, idempotencyKey, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); } /** * Update a page theme template's styling (asynchronously) - * Edit the colours, typography, container and media of a page theme template. Queues a thumbnail regeneration. + * Edit the colours, typography, container and media of a page theme template. Queues a thumbnail regeneration. Requires the `page_themes:write` scope. * @param id The ID of the page theme template whose styling to update (UUID) (required) * @param pageThemeTemplatesServiceUpdatePageThemeTemplateStylingBody (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @param _callback The callback to be executed when the API call finishes * @return The request call * @throws ApiException If fail to process the API call, e.g. serializing the request body object @@ -1627,13 +1740,14 @@ public ApiResponse pageThemeTemplatesSer - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call pageThemeTemplatesServiceUpdatePageThemeTemplateStylingAsync(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull PageThemeTemplatesServiceUpdatePageThemeTemplateStylingBody pageThemeTemplatesServiceUpdatePageThemeTemplateStylingBody, final ApiCallback _callback) throws ApiException { + public okhttp3.Call pageThemeTemplatesServiceUpdatePageThemeTemplateStylingAsync(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull PageThemeTemplatesServiceUpdatePageThemeTemplateStylingBody pageThemeTemplatesServiceUpdatePageThemeTemplateStylingBody, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { - okhttp3.Call localVarCall = pageThemeTemplatesServiceUpdatePageThemeTemplateStylingValidateBeforeCall(id, pageThemeTemplatesServiceUpdatePageThemeTemplateStylingBody, _callback); + okhttp3.Call localVarCall = pageThemeTemplatesServiceUpdatePageThemeTemplateStylingValidateBeforeCall(id, pageThemeTemplatesServiceUpdatePageThemeTemplateStylingBody, idempotencyKey, _callback); Type localVarReturnType = new TypeToken(){}.getType(); localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); return localVarCall; diff --git a/src/main/java/com/linkbreakers/api/PageThemesApi.java b/src/main/java/com/linkbreakers/api/PageThemesApi.java index f255d4352..cc3e0dd02 100644 --- a/src/main/java/com/linkbreakers/api/PageThemesApi.java +++ b/src/main/java/com/linkbreakers/api/PageThemesApi.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -89,8 +89,9 @@ public void setCustomBaseUrl(String customBaseUrl) { - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public okhttp3.Call pageThemeTemplatesServiceFindMatchingPageThemeTemplateCall(@javax.annotation.Nonnull String linkId, final ApiCallback _callback) throws ApiException { @@ -137,7 +138,7 @@ public okhttp3.Call pageThemeTemplatesServiceFindMatchingPageThemeTemplateCall(@ localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @@ -154,7 +155,7 @@ private okhttp3.Call pageThemeTemplatesServiceFindMatchingPageThemeTemplateValid /** * Find a page theme template matching a link's styling - * Returns the page theme template available to the workspace whose styling is identical to the link's current page theme, if one exists. Saving the theme as a template again would only duplicate it. + * Returns the page theme template available to the workspace whose styling is identical to the link's current page theme, if one exists. Saving the theme as a template again would only duplicate it. Requires the `page_themes:read` scope. * @param linkId Link whose current page theme should be matched (required) * @return FindMatchingPageThemeTemplateResponse * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body @@ -162,8 +163,9 @@ private okhttp3.Call pageThemeTemplatesServiceFindMatchingPageThemeTemplateValid - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public FindMatchingPageThemeTemplateResponse pageThemeTemplatesServiceFindMatchingPageThemeTemplate(@javax.annotation.Nonnull String linkId) throws ApiException { @@ -173,7 +175,7 @@ public FindMatchingPageThemeTemplateResponse pageThemeTemplatesServiceFindMatchi /** * Find a page theme template matching a link's styling - * Returns the page theme template available to the workspace whose styling is identical to the link's current page theme, if one exists. Saving the theme as a template again would only duplicate it. + * Returns the page theme template available to the workspace whose styling is identical to the link's current page theme, if one exists. Saving the theme as a template again would only duplicate it. Requires the `page_themes:read` scope. * @param linkId Link whose current page theme should be matched (required) * @return ApiResponse<FindMatchingPageThemeTemplateResponse> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body @@ -181,8 +183,9 @@ public FindMatchingPageThemeTemplateResponse pageThemeTemplatesServiceFindMatchi - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public ApiResponse pageThemeTemplatesServiceFindMatchingPageThemeTemplateWithHttpInfo(@javax.annotation.Nonnull String linkId) throws ApiException { @@ -193,7 +196,7 @@ public ApiResponse pageThemeTemplatesServ /** * Find a page theme template matching a link's styling (asynchronously) - * Returns the page theme template available to the workspace whose styling is identical to the link's current page theme, if one exists. Saving the theme as a template again would only duplicate it. + * Returns the page theme template available to the workspace whose styling is identical to the link's current page theme, if one exists. Saving the theme as a template again would only duplicate it. Requires the `page_themes:read` scope. * @param linkId Link whose current page theme should be matched (required) * @param _callback The callback to be executed when the API call finishes * @return The request call @@ -202,8 +205,9 @@ public ApiResponse pageThemeTemplatesServ - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public okhttp3.Call pageThemeTemplatesServiceFindMatchingPageThemeTemplateAsync(@javax.annotation.Nonnull String linkId, final ApiCallback _callback) throws ApiException { @@ -216,6 +220,7 @@ public okhttp3.Call pageThemeTemplatesServiceFindMatchingPageThemeTemplateAsync( /** * Build call for pageThemesServiceApplyPageThemeTemplate * @param applyPageThemeTemplateRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @param _callback Callback for upload/download progress * @return Call to execute * @throws ApiException If fail to serialize the request body object @@ -223,12 +228,13 @@ public okhttp3.Call pageThemeTemplatesServiceFindMatchingPageThemeTemplateAsync( - - - + + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
404 The requested resource doesn't exist. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
404 The requested resource doesn't exist. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call pageThemesServiceApplyPageThemeTemplateCall(@javax.annotation.Nonnull ApplyPageThemeTemplateRequest applyPageThemeTemplateRequest, final ApiCallback _callback) throws ApiException { + public okhttp3.Call pageThemesServiceApplyPageThemeTemplateCall(@javax.annotation.Nonnull ApplyPageThemeTemplateRequest applyPageThemeTemplateRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -269,66 +275,76 @@ public okhttp3.Call pageThemesServiceApplyPageThemeTemplateCall(@javax.annotatio localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + if (idempotencyKey != null) { + localVarHeaderParams.put("Idempotency-Key", localVarApiClient.parameterToString(idempotencyKey)); + } + + + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; return localVarApiClient.buildCall(basePath, localVarPath, "POST", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @SuppressWarnings("rawtypes") - private okhttp3.Call pageThemesServiceApplyPageThemeTemplateValidateBeforeCall(@javax.annotation.Nonnull ApplyPageThemeTemplateRequest applyPageThemeTemplateRequest, final ApiCallback _callback) throws ApiException { + private okhttp3.Call pageThemesServiceApplyPageThemeTemplateValidateBeforeCall(@javax.annotation.Nonnull ApplyPageThemeTemplateRequest applyPageThemeTemplateRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { // verify the required parameter 'applyPageThemeTemplateRequest' is set if (applyPageThemeTemplateRequest == null) { throw new ApiException("Missing the required parameter 'applyPageThemeTemplateRequest' when calling pageThemesServiceApplyPageThemeTemplate(Async)"); } - return pageThemesServiceApplyPageThemeTemplateCall(applyPageThemeTemplateRequest, _callback); + return pageThemesServiceApplyPageThemeTemplateCall(applyPageThemeTemplateRequest, idempotencyKey, _callback); } /** * Apply a page theme template to a link - * Copies a template's styling into the link's own page theme. The link keeps its own theme row, so the template can later be edited or deleted without changing any page that was styled from it. Cover and badge media are copied into the caller's workspace when the template carries them. + * Copies a template's styling into the link's own page theme. The link keeps its own theme row, so the template can later be edited or deleted without changing any page that was styled from it. Cover and badge media are copied into the caller's workspace when the template carries them. Requires the `page_themes:write` scope. * @param applyPageThemeTemplateRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return ApplyPageThemeTemplateResponse * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - - + + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
404 The requested resource doesn't exist. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
404 The requested resource doesn't exist. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public ApplyPageThemeTemplateResponse pageThemesServiceApplyPageThemeTemplate(@javax.annotation.Nonnull ApplyPageThemeTemplateRequest applyPageThemeTemplateRequest) throws ApiException { - ApiResponse localVarResp = pageThemesServiceApplyPageThemeTemplateWithHttpInfo(applyPageThemeTemplateRequest); + public ApplyPageThemeTemplateResponse pageThemesServiceApplyPageThemeTemplate(@javax.annotation.Nonnull ApplyPageThemeTemplateRequest applyPageThemeTemplateRequest, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + ApiResponse localVarResp = pageThemesServiceApplyPageThemeTemplateWithHttpInfo(applyPageThemeTemplateRequest, idempotencyKey); return localVarResp.getData(); } /** * Apply a page theme template to a link - * Copies a template's styling into the link's own page theme. The link keeps its own theme row, so the template can later be edited or deleted without changing any page that was styled from it. Cover and badge media are copied into the caller's workspace when the template carries them. + * Copies a template's styling into the link's own page theme. The link keeps its own theme row, so the template can later be edited or deleted without changing any page that was styled from it. Cover and badge media are copied into the caller's workspace when the template carries them. Requires the `page_themes:write` scope. * @param applyPageThemeTemplateRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return ApiResponse<ApplyPageThemeTemplateResponse> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - - + + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
404 The requested resource doesn't exist. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
404 The requested resource doesn't exist. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public ApiResponse pageThemesServiceApplyPageThemeTemplateWithHttpInfo(@javax.annotation.Nonnull ApplyPageThemeTemplateRequest applyPageThemeTemplateRequest) throws ApiException { - okhttp3.Call localVarCall = pageThemesServiceApplyPageThemeTemplateValidateBeforeCall(applyPageThemeTemplateRequest, null); + public ApiResponse pageThemesServiceApplyPageThemeTemplateWithHttpInfo(@javax.annotation.Nonnull ApplyPageThemeTemplateRequest applyPageThemeTemplateRequest, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + okhttp3.Call localVarCall = pageThemesServiceApplyPageThemeTemplateValidateBeforeCall(applyPageThemeTemplateRequest, idempotencyKey, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); } /** * Apply a page theme template to a link (asynchronously) - * Copies a template's styling into the link's own page theme. The link keeps its own theme row, so the template can later be edited or deleted without changing any page that was styled from it. Cover and badge media are copied into the caller's workspace when the template carries them. + * Copies a template's styling into the link's own page theme. The link keeps its own theme row, so the template can later be edited or deleted without changing any page that was styled from it. Cover and badge media are copied into the caller's workspace when the template carries them. Requires the `page_themes:write` scope. * @param applyPageThemeTemplateRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @param _callback The callback to be executed when the API call finishes * @return The request call * @throws ApiException If fail to process the API call, e.g. serializing the request body object @@ -336,14 +352,15 @@ public ApiResponse pageThemesServiceApplyPageThe - - - + + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
404 The requested resource doesn't exist. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
404 The requested resource doesn't exist. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call pageThemesServiceApplyPageThemeTemplateAsync(@javax.annotation.Nonnull ApplyPageThemeTemplateRequest applyPageThemeTemplateRequest, final ApiCallback _callback) throws ApiException { + public okhttp3.Call pageThemesServiceApplyPageThemeTemplateAsync(@javax.annotation.Nonnull ApplyPageThemeTemplateRequest applyPageThemeTemplateRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { - okhttp3.Call localVarCall = pageThemesServiceApplyPageThemeTemplateValidateBeforeCall(applyPageThemeTemplateRequest, _callback); + okhttp3.Call localVarCall = pageThemesServiceApplyPageThemeTemplateValidateBeforeCall(applyPageThemeTemplateRequest, idempotencyKey, _callback); Type localVarReturnType = new TypeToken(){}.getType(); localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); return localVarCall; @@ -358,9 +375,10 @@ public okhttp3.Call pageThemesServiceApplyPageThemeTemplateAsync(@javax.annotati - - - + + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
404 The requested resource doesn't exist. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
404 The requested resource doesn't exist. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public okhttp3.Call pageThemesServiceGetPageThemeCall(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { @@ -404,7 +422,7 @@ public okhttp3.Call pageThemesServiceGetPageThemeCall(@javax.annotation.Nonnull localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @@ -421,7 +439,7 @@ private okhttp3.Call pageThemesServiceGetPageThemeValidateBeforeCall(@javax.anno /** * Get a page theme - * Retrieves a specific page theme by ID. + * Retrieves a specific page theme by ID. Requires the `page_themes:read` scope. * @param id Page theme ID to retrieve (required) * @return GetPageThemeResponse * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body @@ -429,9 +447,10 @@ private okhttp3.Call pageThemesServiceGetPageThemeValidateBeforeCall(@javax.anno - - - + + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
404 The requested resource doesn't exist. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
404 The requested resource doesn't exist. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public GetPageThemeResponse pageThemesServiceGetPageTheme(@javax.annotation.Nonnull String id) throws ApiException { @@ -441,7 +460,7 @@ public GetPageThemeResponse pageThemesServiceGetPageTheme(@javax.annotation.Nonn /** * Get a page theme - * Retrieves a specific page theme by ID. + * Retrieves a specific page theme by ID. Requires the `page_themes:read` scope. * @param id Page theme ID to retrieve (required) * @return ApiResponse<GetPageThemeResponse> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body @@ -449,9 +468,10 @@ public GetPageThemeResponse pageThemesServiceGetPageTheme(@javax.annotation.Nonn - - - + + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
404 The requested resource doesn't exist. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
404 The requested resource doesn't exist. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public ApiResponse pageThemesServiceGetPageThemeWithHttpInfo(@javax.annotation.Nonnull String id) throws ApiException { @@ -462,7 +482,7 @@ public ApiResponse pageThemesServiceGetPageThemeWithHttpIn /** * Get a page theme (asynchronously) - * Retrieves a specific page theme by ID. + * Retrieves a specific page theme by ID. Requires the `page_themes:read` scope. * @param id Page theme ID to retrieve (required) * @param _callback The callback to be executed when the API call finishes * @return The request call @@ -471,9 +491,10 @@ public ApiResponse pageThemesServiceGetPageThemeWithHttpIn - - - + + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
404 The requested resource doesn't exist. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
404 The requested resource doesn't exist. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public okhttp3.Call pageThemesServiceGetPageThemeAsync(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { @@ -487,6 +508,7 @@ public okhttp3.Call pageThemesServiceGetPageThemeAsync(@javax.annotation.Nonnull * Build call for pageThemesServiceListPageThemes * @param pageSize Maximum number of page themes to return. Defaults to 100, capped at 1000. (optional) * @param pageToken Cursor from a previous response's next_page_token. Empty starts at the first page. Pages are ordered by (created_at, id), which never change, so a record cannot move between pages while a client is walking them. (optional) + * @param cursor Opaque cursor from the previous page's nextPageToken. Same as pageToken; when both are sent, pageToken wins. (optional) * @param _callback Callback for upload/download progress * @return Call to execute * @throws ApiException If fail to serialize the request body object @@ -494,11 +516,12 @@ public okhttp3.Call pageThemesServiceGetPageThemeAsync(@javax.annotation.Nonnull - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call pageThemesServiceListPageThemesCall(@javax.annotation.Nullable Long pageSize, @javax.annotation.Nullable String pageToken, final ApiCallback _callback) throws ApiException { + public okhttp3.Call pageThemesServiceListPageThemesCall(@javax.annotation.Nullable Long pageSize, @javax.annotation.Nullable String pageToken, @javax.annotation.Nullable String cursor, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -531,6 +554,10 @@ public okhttp3.Call pageThemesServiceListPageThemesCall(@javax.annotation.Nullab localVarQueryParams.addAll(localVarApiClient.parameterToPair("pageToken", pageToken)); } + if (cursor != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("cursor", cursor)); + } + final String[] localVarAccepts = { "application/json" }; @@ -546,62 +573,67 @@ public okhttp3.Call pageThemesServiceListPageThemesCall(@javax.annotation.Nullab localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @SuppressWarnings("rawtypes") - private okhttp3.Call pageThemesServiceListPageThemesValidateBeforeCall(@javax.annotation.Nullable Long pageSize, @javax.annotation.Nullable String pageToken, final ApiCallback _callback) throws ApiException { - return pageThemesServiceListPageThemesCall(pageSize, pageToken, _callback); + private okhttp3.Call pageThemesServiceListPageThemesValidateBeforeCall(@javax.annotation.Nullable Long pageSize, @javax.annotation.Nullable String pageToken, @javax.annotation.Nullable String cursor, final ApiCallback _callback) throws ApiException { + return pageThemesServiceListPageThemesCall(pageSize, pageToken, cursor, _callback); } /** * List page themes for the current workspace - * Retrieves all page themes belonging to the caller's workspace. + * Retrieves all page themes belonging to the caller's workspace. Requires the `page_themes:read` scope. * @param pageSize Maximum number of page themes to return. Defaults to 100, capped at 1000. (optional) * @param pageToken Cursor from a previous response's next_page_token. Empty starts at the first page. Pages are ordered by (created_at, id), which never change, so a record cannot move between pages while a client is walking them. (optional) + * @param cursor Opaque cursor from the previous page's nextPageToken. Same as pageToken; when both are sent, pageToken wins. (optional) * @return ListPageThemesResponse * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public ListPageThemesResponse pageThemesServiceListPageThemes(@javax.annotation.Nullable Long pageSize, @javax.annotation.Nullable String pageToken) throws ApiException { - ApiResponse localVarResp = pageThemesServiceListPageThemesWithHttpInfo(pageSize, pageToken); + public ListPageThemesResponse pageThemesServiceListPageThemes(@javax.annotation.Nullable Long pageSize, @javax.annotation.Nullable String pageToken, @javax.annotation.Nullable String cursor) throws ApiException { + ApiResponse localVarResp = pageThemesServiceListPageThemesWithHttpInfo(pageSize, pageToken, cursor); return localVarResp.getData(); } /** * List page themes for the current workspace - * Retrieves all page themes belonging to the caller's workspace. + * Retrieves all page themes belonging to the caller's workspace. Requires the `page_themes:read` scope. * @param pageSize Maximum number of page themes to return. Defaults to 100, capped at 1000. (optional) * @param pageToken Cursor from a previous response's next_page_token. Empty starts at the first page. Pages are ordered by (created_at, id), which never change, so a record cannot move between pages while a client is walking them. (optional) + * @param cursor Opaque cursor from the previous page's nextPageToken. Same as pageToken; when both are sent, pageToken wins. (optional) * @return ApiResponse<ListPageThemesResponse> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public ApiResponse pageThemesServiceListPageThemesWithHttpInfo(@javax.annotation.Nullable Long pageSize, @javax.annotation.Nullable String pageToken) throws ApiException { - okhttp3.Call localVarCall = pageThemesServiceListPageThemesValidateBeforeCall(pageSize, pageToken, null); + public ApiResponse pageThemesServiceListPageThemesWithHttpInfo(@javax.annotation.Nullable Long pageSize, @javax.annotation.Nullable String pageToken, @javax.annotation.Nullable String cursor) throws ApiException { + okhttp3.Call localVarCall = pageThemesServiceListPageThemesValidateBeforeCall(pageSize, pageToken, cursor, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); } /** * List page themes for the current workspace (asynchronously) - * Retrieves all page themes belonging to the caller's workspace. + * Retrieves all page themes belonging to the caller's workspace. Requires the `page_themes:read` scope. * @param pageSize Maximum number of page themes to return. Defaults to 100, capped at 1000. (optional) * @param pageToken Cursor from a previous response's next_page_token. Empty starts at the first page. Pages are ordered by (created_at, id), which never change, so a record cannot move between pages while a client is walking them. (optional) + * @param cursor Opaque cursor from the previous page's nextPageToken. Same as pageToken; when both are sent, pageToken wins. (optional) * @param _callback The callback to be executed when the API call finishes * @return The request call * @throws ApiException If fail to process the API call, e.g. serializing the request body object @@ -609,13 +641,14 @@ public ApiResponse pageThemesServiceListPageThemesWithHt - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call pageThemesServiceListPageThemesAsync(@javax.annotation.Nullable Long pageSize, @javax.annotation.Nullable String pageToken, final ApiCallback _callback) throws ApiException { + public okhttp3.Call pageThemesServiceListPageThemesAsync(@javax.annotation.Nullable Long pageSize, @javax.annotation.Nullable String pageToken, @javax.annotation.Nullable String cursor, final ApiCallback _callback) throws ApiException { - okhttp3.Call localVarCall = pageThemesServiceListPageThemesValidateBeforeCall(pageSize, pageToken, _callback); + okhttp3.Call localVarCall = pageThemesServiceListPageThemesValidateBeforeCall(pageSize, pageToken, cursor, _callback); Type localVarReturnType = new TypeToken(){}.getType(); localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); return localVarCall; @@ -624,6 +657,7 @@ public okhttp3.Call pageThemesServiceListPageThemesAsync(@javax.annotation.Nulla * Build call for pageThemesServiceUpdatePageTheme * @param id Page theme ID to update (required) * @param pageThemesServiceUpdatePageThemeBody (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @param _callback Callback for upload/download progress * @return Call to execute * @throws ApiException If fail to serialize the request body object @@ -631,13 +665,14 @@ public okhttp3.Call pageThemesServiceListPageThemesAsync(@javax.annotation.Nulla - - - - + + + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
400 The request was unacceptable, often due to missing a required parameter. -
404 The requested resource doesn't exist. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
400 The request was unacceptable, often due to missing a required parameter. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
404 The requested resource doesn't exist. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call pageThemesServiceUpdatePageThemeCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull PageThemesServiceUpdatePageThemeBody pageThemesServiceUpdatePageThemeBody, final ApiCallback _callback) throws ApiException { + public okhttp3.Call pageThemesServiceUpdatePageThemeCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull PageThemesServiceUpdatePageThemeBody pageThemesServiceUpdatePageThemeBody, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -679,12 +714,17 @@ public okhttp3.Call pageThemesServiceUpdatePageThemeCall(@javax.annotation.Nonnu localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + if (idempotencyKey != null) { + localVarHeaderParams.put("Idempotency-Key", localVarApiClient.parameterToString(idempotencyKey)); + } + + + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; return localVarApiClient.buildCall(basePath, localVarPath, "PATCH", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @SuppressWarnings("rawtypes") - private okhttp3.Call pageThemesServiceUpdatePageThemeValidateBeforeCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull PageThemesServiceUpdatePageThemeBody pageThemesServiceUpdatePageThemeBody, final ApiCallback _callback) throws ApiException { + private okhttp3.Call pageThemesServiceUpdatePageThemeValidateBeforeCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull PageThemesServiceUpdatePageThemeBody pageThemesServiceUpdatePageThemeBody, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { // verify the required parameter 'id' is set if (id == null) { throw new ApiException("Missing the required parameter 'id' when calling pageThemesServiceUpdatePageTheme(Async)"); @@ -695,60 +735,65 @@ private okhttp3.Call pageThemesServiceUpdatePageThemeValidateBeforeCall(@javax.a throw new ApiException("Missing the required parameter 'pageThemesServiceUpdatePageThemeBody' when calling pageThemesServiceUpdatePageTheme(Async)"); } - return pageThemesServiceUpdatePageThemeCall(id, pageThemesServiceUpdatePageThemeBody, _callback); + return pageThemesServiceUpdatePageThemeCall(id, pageThemesServiceUpdatePageThemeBody, idempotencyKey, _callback); } /** * Update a page theme - * Updates an existing page theme. Cannot update page themes that are currently attached to links. + * Updates an existing page theme. Cannot update page themes that are currently attached to links. Requires the `page_themes:write` scope. * @param id Page theme ID to update (required) * @param pageThemesServiceUpdatePageThemeBody (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return UpdatePageThemeResponse * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - - - + + + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
400 The request was unacceptable, often due to missing a required parameter. -
404 The requested resource doesn't exist. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
400 The request was unacceptable, often due to missing a required parameter. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
404 The requested resource doesn't exist. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public UpdatePageThemeResponse pageThemesServiceUpdatePageTheme(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull PageThemesServiceUpdatePageThemeBody pageThemesServiceUpdatePageThemeBody) throws ApiException { - ApiResponse localVarResp = pageThemesServiceUpdatePageThemeWithHttpInfo(id, pageThemesServiceUpdatePageThemeBody); + public UpdatePageThemeResponse pageThemesServiceUpdatePageTheme(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull PageThemesServiceUpdatePageThemeBody pageThemesServiceUpdatePageThemeBody, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + ApiResponse localVarResp = pageThemesServiceUpdatePageThemeWithHttpInfo(id, pageThemesServiceUpdatePageThemeBody, idempotencyKey); return localVarResp.getData(); } /** * Update a page theme - * Updates an existing page theme. Cannot update page themes that are currently attached to links. + * Updates an existing page theme. Cannot update page themes that are currently attached to links. Requires the `page_themes:write` scope. * @param id Page theme ID to update (required) * @param pageThemesServiceUpdatePageThemeBody (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return ApiResponse<UpdatePageThemeResponse> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - - - + + + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
400 The request was unacceptable, often due to missing a required parameter. -
404 The requested resource doesn't exist. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
400 The request was unacceptable, often due to missing a required parameter. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
404 The requested resource doesn't exist. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public ApiResponse pageThemesServiceUpdatePageThemeWithHttpInfo(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull PageThemesServiceUpdatePageThemeBody pageThemesServiceUpdatePageThemeBody) throws ApiException { - okhttp3.Call localVarCall = pageThemesServiceUpdatePageThemeValidateBeforeCall(id, pageThemesServiceUpdatePageThemeBody, null); + public ApiResponse pageThemesServiceUpdatePageThemeWithHttpInfo(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull PageThemesServiceUpdatePageThemeBody pageThemesServiceUpdatePageThemeBody, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + okhttp3.Call localVarCall = pageThemesServiceUpdatePageThemeValidateBeforeCall(id, pageThemesServiceUpdatePageThemeBody, idempotencyKey, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); } /** * Update a page theme (asynchronously) - * Updates an existing page theme. Cannot update page themes that are currently attached to links. + * Updates an existing page theme. Cannot update page themes that are currently attached to links. Requires the `page_themes:write` scope. * @param id Page theme ID to update (required) * @param pageThemesServiceUpdatePageThemeBody (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @param _callback The callback to be executed when the API call finishes * @return The request call * @throws ApiException If fail to process the API call, e.g. serializing the request body object @@ -756,15 +801,16 @@ public ApiResponse pageThemesServiceUpdatePageThemeWith - - - - + + + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
400 The request was unacceptable, often due to missing a required parameter. -
404 The requested resource doesn't exist. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
400 The request was unacceptable, often due to missing a required parameter. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
404 The requested resource doesn't exist. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call pageThemesServiceUpdatePageThemeAsync(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull PageThemesServiceUpdatePageThemeBody pageThemesServiceUpdatePageThemeBody, final ApiCallback _callback) throws ApiException { + public okhttp3.Call pageThemesServiceUpdatePageThemeAsync(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull PageThemesServiceUpdatePageThemeBody pageThemesServiceUpdatePageThemeBody, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { - okhttp3.Call localVarCall = pageThemesServiceUpdatePageThemeValidateBeforeCall(id, pageThemesServiceUpdatePageThemeBody, _callback); + okhttp3.Call localVarCall = pageThemesServiceUpdatePageThemeValidateBeforeCall(id, pageThemesServiceUpdatePageThemeBody, idempotencyKey, _callback); Type localVarReturnType = new TypeToken(){}.getType(); localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); return localVarCall; diff --git a/src/main/java/com/linkbreakers/api/PricingApi.java b/src/main/java/com/linkbreakers/api/PricingApi.java new file mode 100644 index 000000000..02d337f38 --- /dev/null +++ b/src/main/java/com/linkbreakers/api/PricingApi.java @@ -0,0 +1,201 @@ +/* + * Linkbreakers API + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. + * + * The version of the OpenAPI document: 1.158.2 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.linkbreakers.api; + +import com.linkbreakers.ApiCallback; +import com.linkbreakers.ApiClient; +import com.linkbreakers.ApiException; +import com.linkbreakers.ApiResponse; +import com.linkbreakers.Configuration; +import com.linkbreakers.Pair; +import com.linkbreakers.ProgressRequestBody; +import com.linkbreakers.ProgressResponseBody; + +import com.google.gson.reflect.TypeToken; + +import java.io.IOException; + + +import com.linkbreakers.model.ErrorResponse; +import com.linkbreakers.model.ListPricingPlansResponse; + +import java.lang.reflect.Type; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +public class PricingApi { + private ApiClient localVarApiClient; + private int localHostIndex; + private String localCustomBaseUrl; + + public PricingApi() { + this(Configuration.getDefaultApiClient()); + } + + public PricingApi(ApiClient apiClient) { + this.localVarApiClient = apiClient; + } + + public ApiClient getApiClient() { + return localVarApiClient; + } + + public void setApiClient(ApiClient apiClient) { + this.localVarApiClient = apiClient; + } + + public int getHostIndex() { + return localHostIndex; + } + + public void setHostIndex(int hostIndex) { + this.localHostIndex = hostIndex; + } + + public String getCustomBaseUrl() { + return localCustomBaseUrl; + } + + public void setCustomBaseUrl(String customBaseUrl) { + this.localCustomBaseUrl = customBaseUrl; + } + + /** + * Build call for pricingServiceListPricingPlans + * @param _callback Callback for upload/download progress + * @return Call to execute + * @throws ApiException If fail to serialize the request body object + * @http.response.details + + + + + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
+ */ + public okhttp3.Call pricingServiceListPricingPlansCall(final ApiCallback _callback) throws ApiException { + String basePath = null; + // Operation Servers + String[] localBasePaths = new String[] { }; + + // Determine Base Path to Use + if (localCustomBaseUrl != null){ + basePath = localCustomBaseUrl; + } else if ( localBasePaths.length > 0 ) { + basePath = localBasePaths[localHostIndex]; + } else { + basePath = null; + } + + Object localVarPostBody = null; + + // create path and map variables + String localVarPath = "/v1/pricing/plans"; + + List localVarQueryParams = new ArrayList(); + List localVarCollectionQueryParams = new ArrayList(); + Map localVarHeaderParams = new HashMap(); + Map localVarCookieParams = new HashMap(); + Map localVarFormParams = new HashMap(); + + final String[] localVarAccepts = { + "application/json" + }; + final String localVarAccept = localVarApiClient.selectHeaderAccept(localVarAccepts); + if (localVarAccept != null) { + localVarHeaderParams.put("Accept", localVarAccept); + } + + final String[] localVarContentTypes = { + }; + final String localVarContentType = localVarApiClient.selectHeaderContentType(localVarContentTypes); + if (localVarContentType != null) { + localVarHeaderParams.put("Content-Type", localVarContentType); + } + + String[] localVarAuthNames = new String[] { }; + return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); + } + + @SuppressWarnings("rawtypes") + private okhttp3.Call pricingServiceListPricingPlansValidateBeforeCall(final ApiCallback _callback) throws ApiException { + return pricingServiceListPricingPlansCall(_callback); + + } + + /** + * List pricing plans + * Retrieve every plan with its prices, limits and features. Public, no authentication required. + * @return ListPricingPlansResponse + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + + + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
+ */ + public ListPricingPlansResponse pricingServiceListPricingPlans() throws ApiException { + ApiResponse localVarResp = pricingServiceListPricingPlansWithHttpInfo(); + return localVarResp.getData(); + } + + /** + * List pricing plans + * Retrieve every plan with its prices, limits and features. Public, no authentication required. + * @return ApiResponse<ListPricingPlansResponse> + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + + + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
+ */ + public ApiResponse pricingServiceListPricingPlansWithHttpInfo() throws ApiException { + okhttp3.Call localVarCall = pricingServiceListPricingPlansValidateBeforeCall(null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * List pricing plans (asynchronously) + * Retrieve every plan with its prices, limits and features. Public, no authentication required. + * @param _callback The callback to be executed when the API call finishes + * @return The request call + * @throws ApiException If fail to process the API call, e.g. serializing the request body object + * @http.response.details + + + + + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
+ */ + public okhttp3.Call pricingServiceListPricingPlansAsync(final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = pricingServiceListPricingPlansValidateBeforeCall(_callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } +} diff --git a/src/main/java/com/linkbreakers/api/QrCodeDesignsApi.java b/src/main/java/com/linkbreakers/api/QrCodeDesignsApi.java index 0495c4f70..cc2478d95 100644 --- a/src/main/java/com/linkbreakers/api/QrCodeDesignsApi.java +++ b/src/main/java/com/linkbreakers/api/QrCodeDesignsApi.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -82,6 +82,7 @@ public void setCustomBaseUrl(String customBaseUrl) { /** * Build call for qrcodeDesignServiceApplyTemplate * @param applyQrcodeTemplateRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @param _callback Callback for upload/download progress * @return Call to execute * @throws ApiException If fail to serialize the request body object @@ -89,11 +90,12 @@ public void setCustomBaseUrl(String customBaseUrl) { - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call qrcodeDesignServiceApplyTemplateCall(@javax.annotation.Nonnull ApplyQrcodeTemplateRequest applyQrcodeTemplateRequest, final ApiCallback _callback) throws ApiException { + public okhttp3.Call qrcodeDesignServiceApplyTemplateCall(@javax.annotation.Nonnull ApplyQrcodeTemplateRequest applyQrcodeTemplateRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -134,64 +136,74 @@ public okhttp3.Call qrcodeDesignServiceApplyTemplateCall(@javax.annotation.Nonnu localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + if (idempotencyKey != null) { + localVarHeaderParams.put("Idempotency-Key", localVarApiClient.parameterToString(idempotencyKey)); + } + + + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; return localVarApiClient.buildCall(basePath, localVarPath, "POST", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @SuppressWarnings("rawtypes") - private okhttp3.Call qrcodeDesignServiceApplyTemplateValidateBeforeCall(@javax.annotation.Nonnull ApplyQrcodeTemplateRequest applyQrcodeTemplateRequest, final ApiCallback _callback) throws ApiException { + private okhttp3.Call qrcodeDesignServiceApplyTemplateValidateBeforeCall(@javax.annotation.Nonnull ApplyQrcodeTemplateRequest applyQrcodeTemplateRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { // verify the required parameter 'applyQrcodeTemplateRequest' is set if (applyQrcodeTemplateRequest == null) { throw new ApiException("Missing the required parameter 'applyQrcodeTemplateRequest' when calling qrcodeDesignServiceApplyTemplate(Async)"); } - return qrcodeDesignServiceApplyTemplateCall(applyQrcodeTemplateRequest, _callback); + return qrcodeDesignServiceApplyTemplateCall(applyQrcodeTemplateRequest, idempotencyKey, _callback); } /** * Apply a QR code template to a link - * Copy all design settings from a community QR code template to an existing link's QR code design. This replaces the current design with the template's styling. + * Copy all design settings from a community QR code template to an existing link's QR code design. This replaces the current design with the template's styling. Requires the `qrcodes:write` scope. * @param applyQrcodeTemplateRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return ApplyQrcodeTemplateResponse * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public ApplyQrcodeTemplateResponse qrcodeDesignServiceApplyTemplate(@javax.annotation.Nonnull ApplyQrcodeTemplateRequest applyQrcodeTemplateRequest) throws ApiException { - ApiResponse localVarResp = qrcodeDesignServiceApplyTemplateWithHttpInfo(applyQrcodeTemplateRequest); + public ApplyQrcodeTemplateResponse qrcodeDesignServiceApplyTemplate(@javax.annotation.Nonnull ApplyQrcodeTemplateRequest applyQrcodeTemplateRequest, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + ApiResponse localVarResp = qrcodeDesignServiceApplyTemplateWithHttpInfo(applyQrcodeTemplateRequest, idempotencyKey); return localVarResp.getData(); } /** * Apply a QR code template to a link - * Copy all design settings from a community QR code template to an existing link's QR code design. This replaces the current design with the template's styling. + * Copy all design settings from a community QR code template to an existing link's QR code design. This replaces the current design with the template's styling. Requires the `qrcodes:write` scope. * @param applyQrcodeTemplateRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return ApiResponse<ApplyQrcodeTemplateResponse> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public ApiResponse qrcodeDesignServiceApplyTemplateWithHttpInfo(@javax.annotation.Nonnull ApplyQrcodeTemplateRequest applyQrcodeTemplateRequest) throws ApiException { - okhttp3.Call localVarCall = qrcodeDesignServiceApplyTemplateValidateBeforeCall(applyQrcodeTemplateRequest, null); + public ApiResponse qrcodeDesignServiceApplyTemplateWithHttpInfo(@javax.annotation.Nonnull ApplyQrcodeTemplateRequest applyQrcodeTemplateRequest, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + okhttp3.Call localVarCall = qrcodeDesignServiceApplyTemplateValidateBeforeCall(applyQrcodeTemplateRequest, idempotencyKey, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); } /** * Apply a QR code template to a link (asynchronously) - * Copy all design settings from a community QR code template to an existing link's QR code design. This replaces the current design with the template's styling. + * Copy all design settings from a community QR code template to an existing link's QR code design. This replaces the current design with the template's styling. Requires the `qrcodes:write` scope. * @param applyQrcodeTemplateRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @param _callback The callback to be executed when the API call finishes * @return The request call * @throws ApiException If fail to process the API call, e.g. serializing the request body object @@ -199,13 +211,14 @@ public ApiResponse qrcodeDesignServiceApplyTemplate - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call qrcodeDesignServiceApplyTemplateAsync(@javax.annotation.Nonnull ApplyQrcodeTemplateRequest applyQrcodeTemplateRequest, final ApiCallback _callback) throws ApiException { + public okhttp3.Call qrcodeDesignServiceApplyTemplateAsync(@javax.annotation.Nonnull ApplyQrcodeTemplateRequest applyQrcodeTemplateRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { - okhttp3.Call localVarCall = qrcodeDesignServiceApplyTemplateValidateBeforeCall(applyQrcodeTemplateRequest, _callback); + okhttp3.Call localVarCall = qrcodeDesignServiceApplyTemplateValidateBeforeCall(applyQrcodeTemplateRequest, idempotencyKey, _callback); Type localVarReturnType = new TypeToken(){}.getType(); localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); return localVarCall; @@ -220,9 +233,10 @@ public okhttp3.Call qrcodeDesignServiceApplyTemplateAsync(@javax.annotation.Nonn - - - + + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
204 QR code design deleted successfully -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
204 QR code design deleted successfully * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public okhttp3.Call qrcodeDesignServiceDeleteCall(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { @@ -266,7 +280,7 @@ public okhttp3.Call qrcodeDesignServiceDeleteCall(@javax.annotation.Nonnull Stri localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; return localVarApiClient.buildCall(basePath, localVarPath, "DELETE", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @@ -283,7 +297,7 @@ private okhttp3.Call qrcodeDesignServiceDeleteValidateBeforeCall(@javax.annotati /** * Delete a QR code design - * Remove a QR code design that is no longer in use by any assets. + * Remove a QR code design that is no longer in use by any assets. Requires the `qrcodes:write` scope. * @param id The ID of the QR code design to delete (required) * @return Object * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body @@ -291,9 +305,10 @@ private okhttp3.Call qrcodeDesignServiceDeleteValidateBeforeCall(@javax.annotati - - - + + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
204 QR code design deleted successfully -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
204 QR code design deleted successfully * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public Object qrcodeDesignServiceDelete(@javax.annotation.Nonnull String id) throws ApiException { @@ -303,7 +318,7 @@ public Object qrcodeDesignServiceDelete(@javax.annotation.Nonnull String id) thr /** * Delete a QR code design - * Remove a QR code design that is no longer in use by any assets. + * Remove a QR code design that is no longer in use by any assets. Requires the `qrcodes:write` scope. * @param id The ID of the QR code design to delete (required) * @return ApiResponse<Object> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body @@ -311,9 +326,10 @@ public Object qrcodeDesignServiceDelete(@javax.annotation.Nonnull String id) thr - - - + + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
204 QR code design deleted successfully -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
204 QR code design deleted successfully * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public ApiResponse qrcodeDesignServiceDeleteWithHttpInfo(@javax.annotation.Nonnull String id) throws ApiException { @@ -324,7 +340,7 @@ public ApiResponse qrcodeDesignServiceDeleteWithHttpInfo(@javax.annotati /** * Delete a QR code design (asynchronously) - * Remove a QR code design that is no longer in use by any assets. + * Remove a QR code design that is no longer in use by any assets. Requires the `qrcodes:write` scope. * @param id The ID of the QR code design to delete (required) * @param _callback The callback to be executed when the API call finishes * @return The request call @@ -333,9 +349,10 @@ public ApiResponse qrcodeDesignServiceDeleteWithHttpInfo(@javax.annotati - - - + + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
204 QR code design deleted successfully -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
204 QR code design deleted successfully * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public okhttp3.Call qrcodeDesignServiceDeleteAsync(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { @@ -355,8 +372,9 @@ public okhttp3.Call qrcodeDesignServiceDeleteAsync(@javax.annotation.Nonnull Str - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public okhttp3.Call qrcodeDesignServiceGetCall(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { @@ -400,7 +418,7 @@ public okhttp3.Call qrcodeDesignServiceGetCall(@javax.annotation.Nonnull String localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @@ -417,7 +435,7 @@ private okhttp3.Call qrcodeDesignServiceGetValidateBeforeCall(@javax.annotation. /** * Get a QR code design - * Fetch a QR code design by its identifier including computed metadata. + * Fetch a QR code design by its identifier including computed metadata. Requires the `qrcodes:read` scope. * @param id The ID of the QR code design to get (UUID) (required) * @return GetQrcodeDesignResponse * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body @@ -425,8 +443,9 @@ private okhttp3.Call qrcodeDesignServiceGetValidateBeforeCall(@javax.annotation. - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public GetQrcodeDesignResponse qrcodeDesignServiceGet(@javax.annotation.Nonnull String id) throws ApiException { @@ -436,7 +455,7 @@ public GetQrcodeDesignResponse qrcodeDesignServiceGet(@javax.annotation.Nonnull /** * Get a QR code design - * Fetch a QR code design by its identifier including computed metadata. + * Fetch a QR code design by its identifier including computed metadata. Requires the `qrcodes:read` scope. * @param id The ID of the QR code design to get (UUID) (required) * @return ApiResponse<GetQrcodeDesignResponse> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body @@ -444,8 +463,9 @@ public GetQrcodeDesignResponse qrcodeDesignServiceGet(@javax.annotation.Nonnull - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public ApiResponse qrcodeDesignServiceGetWithHttpInfo(@javax.annotation.Nonnull String id) throws ApiException { @@ -456,7 +476,7 @@ public ApiResponse qrcodeDesignServiceGetWithHttpInfo(@ /** * Get a QR code design (asynchronously) - * Fetch a QR code design by its identifier including computed metadata. + * Fetch a QR code design by its identifier including computed metadata. Requires the `qrcodes:read` scope. * @param id The ID of the QR code design to get (UUID) (required) * @param _callback The callback to be executed when the API call finishes * @return The request call @@ -465,8 +485,9 @@ public ApiResponse qrcodeDesignServiceGetWithHttpInfo(@ - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public okhttp3.Call qrcodeDesignServiceGetAsync(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { @@ -479,6 +500,7 @@ public okhttp3.Call qrcodeDesignServiceGetAsync(@javax.annotation.Nonnull String /** * Build call for qrcodeDesignServicePublicCreate * @param publicCreateQrcodeDesignRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @param _callback Callback for upload/download progress * @return Call to execute * @throws ApiException If fail to serialize the request body object @@ -486,12 +508,13 @@ public okhttp3.Call qrcodeDesignServiceGetAsync(@javax.annotation.Nonnull String - - - + + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
201 QR code design created successfully -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
201 QR code design created successfully * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call qrcodeDesignServicePublicCreateCall(@javax.annotation.Nonnull PublicCreateQrcodeDesignRequest publicCreateQrcodeDesignRequest, final ApiCallback _callback) throws ApiException { + public okhttp3.Call qrcodeDesignServicePublicCreateCall(@javax.annotation.Nonnull PublicCreateQrcodeDesignRequest publicCreateQrcodeDesignRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -532,18 +555,23 @@ public okhttp3.Call qrcodeDesignServicePublicCreateCall(@javax.annotation.Nonnul localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + if (idempotencyKey != null) { + localVarHeaderParams.put("Idempotency-Key", localVarApiClient.parameterToString(idempotencyKey)); + } + + + String[] localVarAuthNames = new String[] { }; return localVarApiClient.buildCall(basePath, localVarPath, "POST", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @SuppressWarnings("rawtypes") - private okhttp3.Call qrcodeDesignServicePublicCreateValidateBeforeCall(@javax.annotation.Nonnull PublicCreateQrcodeDesignRequest publicCreateQrcodeDesignRequest, final ApiCallback _callback) throws ApiException { + private okhttp3.Call qrcodeDesignServicePublicCreateValidateBeforeCall(@javax.annotation.Nonnull PublicCreateQrcodeDesignRequest publicCreateQrcodeDesignRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { // verify the required parameter 'publicCreateQrcodeDesignRequest' is set if (publicCreateQrcodeDesignRequest == null) { throw new ApiException("Missing the required parameter 'publicCreateQrcodeDesignRequest' when calling qrcodeDesignServicePublicCreate(Async)"); } - return qrcodeDesignServicePublicCreateCall(publicCreateQrcodeDesignRequest, _callback); + return qrcodeDesignServicePublicCreateCall(publicCreateQrcodeDesignRequest, idempotencyKey, _callback); } @@ -551,19 +579,21 @@ private okhttp3.Call qrcodeDesignServicePublicCreateValidateBeforeCall(@javax.an * Create a new QR code design * Provision a QR code styling preset that can be reused across links or templates. * @param publicCreateQrcodeDesignRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return PublicCreateQrcodeDesignResponse * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - - + + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
201 QR code design created successfully -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
201 QR code design created successfully * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public PublicCreateQrcodeDesignResponse qrcodeDesignServicePublicCreate(@javax.annotation.Nonnull PublicCreateQrcodeDesignRequest publicCreateQrcodeDesignRequest) throws ApiException { - ApiResponse localVarResp = qrcodeDesignServicePublicCreateWithHttpInfo(publicCreateQrcodeDesignRequest); + public PublicCreateQrcodeDesignResponse qrcodeDesignServicePublicCreate(@javax.annotation.Nonnull PublicCreateQrcodeDesignRequest publicCreateQrcodeDesignRequest, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + ApiResponse localVarResp = qrcodeDesignServicePublicCreateWithHttpInfo(publicCreateQrcodeDesignRequest, idempotencyKey); return localVarResp.getData(); } @@ -571,19 +601,21 @@ public PublicCreateQrcodeDesignResponse qrcodeDesignServicePublicCreate(@javax.a * Create a new QR code design * Provision a QR code styling preset that can be reused across links or templates. * @param publicCreateQrcodeDesignRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return ApiResponse<PublicCreateQrcodeDesignResponse> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - - + + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
201 QR code design created successfully -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
201 QR code design created successfully * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public ApiResponse qrcodeDesignServicePublicCreateWithHttpInfo(@javax.annotation.Nonnull PublicCreateQrcodeDesignRequest publicCreateQrcodeDesignRequest) throws ApiException { - okhttp3.Call localVarCall = qrcodeDesignServicePublicCreateValidateBeforeCall(publicCreateQrcodeDesignRequest, null); + public ApiResponse qrcodeDesignServicePublicCreateWithHttpInfo(@javax.annotation.Nonnull PublicCreateQrcodeDesignRequest publicCreateQrcodeDesignRequest, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + okhttp3.Call localVarCall = qrcodeDesignServicePublicCreateValidateBeforeCall(publicCreateQrcodeDesignRequest, idempotencyKey, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); } @@ -592,6 +624,7 @@ public ApiResponse qrcodeDesignServicePublicCr * Create a new QR code design (asynchronously) * Provision a QR code styling preset that can be reused across links or templates. * @param publicCreateQrcodeDesignRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @param _callback The callback to be executed when the API call finishes * @return The request call * @throws ApiException If fail to process the API call, e.g. serializing the request body object @@ -599,14 +632,15 @@ public ApiResponse qrcodeDesignServicePublicCr - - - + + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
201 QR code design created successfully -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
201 QR code design created successfully * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call qrcodeDesignServicePublicCreateAsync(@javax.annotation.Nonnull PublicCreateQrcodeDesignRequest publicCreateQrcodeDesignRequest, final ApiCallback _callback) throws ApiException { + public okhttp3.Call qrcodeDesignServicePublicCreateAsync(@javax.annotation.Nonnull PublicCreateQrcodeDesignRequest publicCreateQrcodeDesignRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { - okhttp3.Call localVarCall = qrcodeDesignServicePublicCreateValidateBeforeCall(publicCreateQrcodeDesignRequest, _callback); + okhttp3.Call localVarCall = qrcodeDesignServicePublicCreateValidateBeforeCall(publicCreateQrcodeDesignRequest, idempotencyKey, _callback); Type localVarReturnType = new TypeToken(){}.getType(); localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); return localVarCall; @@ -615,6 +649,7 @@ public okhttp3.Call qrcodeDesignServicePublicCreateAsync(@javax.annotation.Nonnu * Build call for qrcodeDesignServiceUpdate * @param id The ID of the QR code design to update (UUID) (required) * @param qrcodeDesignServiceUpdateBody (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @param _callback Callback for upload/download progress * @return Call to execute * @throws ApiException If fail to serialize the request body object @@ -622,11 +657,12 @@ public okhttp3.Call qrcodeDesignServicePublicCreateAsync(@javax.annotation.Nonnu - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call qrcodeDesignServiceUpdateCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull QrcodeDesignServiceUpdateBody qrcodeDesignServiceUpdateBody, final ApiCallback _callback) throws ApiException { + public okhttp3.Call qrcodeDesignServiceUpdateCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull QrcodeDesignServiceUpdateBody qrcodeDesignServiceUpdateBody, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -668,12 +704,17 @@ public okhttp3.Call qrcodeDesignServiceUpdateCall(@javax.annotation.Nonnull Stri localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + if (idempotencyKey != null) { + localVarHeaderParams.put("Idempotency-Key", localVarApiClient.parameterToString(idempotencyKey)); + } + + + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; return localVarApiClient.buildCall(basePath, localVarPath, "PATCH", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @SuppressWarnings("rawtypes") - private okhttp3.Call qrcodeDesignServiceUpdateValidateBeforeCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull QrcodeDesignServiceUpdateBody qrcodeDesignServiceUpdateBody, final ApiCallback _callback) throws ApiException { + private okhttp3.Call qrcodeDesignServiceUpdateValidateBeforeCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull QrcodeDesignServiceUpdateBody qrcodeDesignServiceUpdateBody, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { // verify the required parameter 'id' is set if (id == null) { throw new ApiException("Missing the required parameter 'id' when calling qrcodeDesignServiceUpdate(Async)"); @@ -684,56 +725,61 @@ private okhttp3.Call qrcodeDesignServiceUpdateValidateBeforeCall(@javax.annotati throw new ApiException("Missing the required parameter 'qrcodeDesignServiceUpdateBody' when calling qrcodeDesignServiceUpdate(Async)"); } - return qrcodeDesignServiceUpdateCall(id, qrcodeDesignServiceUpdateBody, _callback); + return qrcodeDesignServiceUpdateCall(id, qrcodeDesignServiceUpdateBody, idempotencyKey, _callback); } /** * Update a QR code design - * Apply styling tweaks or media changes to an existing QR code design. + * Apply styling tweaks or media changes to an existing QR code design. Requires the `qrcodes:write` scope. * @param id The ID of the QR code design to update (UUID) (required) * @param qrcodeDesignServiceUpdateBody (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return UpdateQrcodeDesignResponse * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public UpdateQrcodeDesignResponse qrcodeDesignServiceUpdate(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull QrcodeDesignServiceUpdateBody qrcodeDesignServiceUpdateBody) throws ApiException { - ApiResponse localVarResp = qrcodeDesignServiceUpdateWithHttpInfo(id, qrcodeDesignServiceUpdateBody); + public UpdateQrcodeDesignResponse qrcodeDesignServiceUpdate(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull QrcodeDesignServiceUpdateBody qrcodeDesignServiceUpdateBody, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + ApiResponse localVarResp = qrcodeDesignServiceUpdateWithHttpInfo(id, qrcodeDesignServiceUpdateBody, idempotencyKey); return localVarResp.getData(); } /** * Update a QR code design - * Apply styling tweaks or media changes to an existing QR code design. + * Apply styling tweaks or media changes to an existing QR code design. Requires the `qrcodes:write` scope. * @param id The ID of the QR code design to update (UUID) (required) * @param qrcodeDesignServiceUpdateBody (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return ApiResponse<UpdateQrcodeDesignResponse> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public ApiResponse qrcodeDesignServiceUpdateWithHttpInfo(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull QrcodeDesignServiceUpdateBody qrcodeDesignServiceUpdateBody) throws ApiException { - okhttp3.Call localVarCall = qrcodeDesignServiceUpdateValidateBeforeCall(id, qrcodeDesignServiceUpdateBody, null); + public ApiResponse qrcodeDesignServiceUpdateWithHttpInfo(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull QrcodeDesignServiceUpdateBody qrcodeDesignServiceUpdateBody, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + okhttp3.Call localVarCall = qrcodeDesignServiceUpdateValidateBeforeCall(id, qrcodeDesignServiceUpdateBody, idempotencyKey, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); } /** * Update a QR code design (asynchronously) - * Apply styling tweaks or media changes to an existing QR code design. + * Apply styling tweaks or media changes to an existing QR code design. Requires the `qrcodes:write` scope. * @param id The ID of the QR code design to update (UUID) (required) * @param qrcodeDesignServiceUpdateBody (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @param _callback The callback to be executed when the API call finishes * @return The request call * @throws ApiException If fail to process the API call, e.g. serializing the request body object @@ -741,13 +787,14 @@ public ApiResponse qrcodeDesignServiceUpdateWithHttp - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call qrcodeDesignServiceUpdateAsync(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull QrcodeDesignServiceUpdateBody qrcodeDesignServiceUpdateBody, final ApiCallback _callback) throws ApiException { + public okhttp3.Call qrcodeDesignServiceUpdateAsync(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull QrcodeDesignServiceUpdateBody qrcodeDesignServiceUpdateBody, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { - okhttp3.Call localVarCall = qrcodeDesignServiceUpdateValidateBeforeCall(id, qrcodeDesignServiceUpdateBody, _callback); + okhttp3.Call localVarCall = qrcodeDesignServiceUpdateValidateBeforeCall(id, qrcodeDesignServiceUpdateBody, idempotencyKey, _callback); Type localVarReturnType = new TypeToken(){}.getType(); localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); return localVarCall; diff --git a/src/main/java/com/linkbreakers/api/QrCodeTemplatesApi.java b/src/main/java/com/linkbreakers/api/QrCodeTemplatesApi.java index 56f1e137e..7f952db2f 100644 --- a/src/main/java/com/linkbreakers/api/QrCodeTemplatesApi.java +++ b/src/main/java/com/linkbreakers/api/QrCodeTemplatesApi.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -88,6 +88,7 @@ public void setCustomBaseUrl(String customBaseUrl) { /** * Build call for qrcodeTemplatesServiceCreateQrcodeTemplate * @param createQrcodeTemplateRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @param _callback Callback for upload/download progress * @return Call to execute * @throws ApiException If fail to serialize the request body object @@ -95,11 +96,12 @@ public void setCustomBaseUrl(String customBaseUrl) { - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call qrcodeTemplatesServiceCreateQrcodeTemplateCall(@javax.annotation.Nonnull CreateQrcodeTemplateRequest createQrcodeTemplateRequest, final ApiCallback _callback) throws ApiException { + public okhttp3.Call qrcodeTemplatesServiceCreateQrcodeTemplateCall(@javax.annotation.Nonnull CreateQrcodeTemplateRequest createQrcodeTemplateRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -140,64 +142,74 @@ public okhttp3.Call qrcodeTemplatesServiceCreateQrcodeTemplateCall(@javax.annota localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + if (idempotencyKey != null) { + localVarHeaderParams.put("Idempotency-Key", localVarApiClient.parameterToString(idempotencyKey)); + } + + + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; return localVarApiClient.buildCall(basePath, localVarPath, "POST", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @SuppressWarnings("rawtypes") - private okhttp3.Call qrcodeTemplatesServiceCreateQrcodeTemplateValidateBeforeCall(@javax.annotation.Nonnull CreateQrcodeTemplateRequest createQrcodeTemplateRequest, final ApiCallback _callback) throws ApiException { + private okhttp3.Call qrcodeTemplatesServiceCreateQrcodeTemplateValidateBeforeCall(@javax.annotation.Nonnull CreateQrcodeTemplateRequest createQrcodeTemplateRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { // verify the required parameter 'createQrcodeTemplateRequest' is set if (createQrcodeTemplateRequest == null) { throw new ApiException("Missing the required parameter 'createQrcodeTemplateRequest' when calling qrcodeTemplatesServiceCreateQrcodeTemplate(Async)"); } - return qrcodeTemplatesServiceCreateQrcodeTemplateCall(createQrcodeTemplateRequest, _callback); + return qrcodeTemplatesServiceCreateQrcodeTemplateCall(createQrcodeTemplateRequest, idempotencyKey, _callback); } /** * Create a new QR code template - * Create a new QR code template using a fresh design. The design must not be used by any other links or templates. + * Create a new QR code template using a fresh design. The design must not be used by any other links or templates. Requires the `qrcodes:write` scope. * @param createQrcodeTemplateRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return CreateQrcodeTemplateResponse * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public CreateQrcodeTemplateResponse qrcodeTemplatesServiceCreateQrcodeTemplate(@javax.annotation.Nonnull CreateQrcodeTemplateRequest createQrcodeTemplateRequest) throws ApiException { - ApiResponse localVarResp = qrcodeTemplatesServiceCreateQrcodeTemplateWithHttpInfo(createQrcodeTemplateRequest); + public CreateQrcodeTemplateResponse qrcodeTemplatesServiceCreateQrcodeTemplate(@javax.annotation.Nonnull CreateQrcodeTemplateRequest createQrcodeTemplateRequest, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + ApiResponse localVarResp = qrcodeTemplatesServiceCreateQrcodeTemplateWithHttpInfo(createQrcodeTemplateRequest, idempotencyKey); return localVarResp.getData(); } /** * Create a new QR code template - * Create a new QR code template using a fresh design. The design must not be used by any other links or templates. + * Create a new QR code template using a fresh design. The design must not be used by any other links or templates. Requires the `qrcodes:write` scope. * @param createQrcodeTemplateRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return ApiResponse<CreateQrcodeTemplateResponse> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public ApiResponse qrcodeTemplatesServiceCreateQrcodeTemplateWithHttpInfo(@javax.annotation.Nonnull CreateQrcodeTemplateRequest createQrcodeTemplateRequest) throws ApiException { - okhttp3.Call localVarCall = qrcodeTemplatesServiceCreateQrcodeTemplateValidateBeforeCall(createQrcodeTemplateRequest, null); + public ApiResponse qrcodeTemplatesServiceCreateQrcodeTemplateWithHttpInfo(@javax.annotation.Nonnull CreateQrcodeTemplateRequest createQrcodeTemplateRequest, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + okhttp3.Call localVarCall = qrcodeTemplatesServiceCreateQrcodeTemplateValidateBeforeCall(createQrcodeTemplateRequest, idempotencyKey, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); } /** * Create a new QR code template (asynchronously) - * Create a new QR code template using a fresh design. The design must not be used by any other links or templates. + * Create a new QR code template using a fresh design. The design must not be used by any other links or templates. Requires the `qrcodes:write` scope. * @param createQrcodeTemplateRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @param _callback The callback to be executed when the API call finishes * @return The request call * @throws ApiException If fail to process the API call, e.g. serializing the request body object @@ -205,13 +217,14 @@ public ApiResponse qrcodeTemplatesServiceCreateQrc - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call qrcodeTemplatesServiceCreateQrcodeTemplateAsync(@javax.annotation.Nonnull CreateQrcodeTemplateRequest createQrcodeTemplateRequest, final ApiCallback _callback) throws ApiException { + public okhttp3.Call qrcodeTemplatesServiceCreateQrcodeTemplateAsync(@javax.annotation.Nonnull CreateQrcodeTemplateRequest createQrcodeTemplateRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { - okhttp3.Call localVarCall = qrcodeTemplatesServiceCreateQrcodeTemplateValidateBeforeCall(createQrcodeTemplateRequest, _callback); + okhttp3.Call localVarCall = qrcodeTemplatesServiceCreateQrcodeTemplateValidateBeforeCall(createQrcodeTemplateRequest, idempotencyKey, _callback); Type localVarReturnType = new TypeToken(){}.getType(); localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); return localVarCall; @@ -226,9 +239,10 @@ public okhttp3.Call qrcodeTemplatesServiceCreateQrcodeTemplateAsync(@javax.annot - - - + + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
204 QR code template deleted successfully -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
204 QR code template deleted successfully * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public okhttp3.Call qrcodeTemplatesServiceDeleteQrcodeTemplateCall(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { @@ -272,7 +286,7 @@ public okhttp3.Call qrcodeTemplatesServiceDeleteQrcodeTemplateCall(@javax.annota localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; return localVarApiClient.buildCall(basePath, localVarPath, "DELETE", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @@ -289,7 +303,7 @@ private okhttp3.Call qrcodeTemplatesServiceDeleteQrcodeTemplateValidateBeforeCal /** * Delete a workspace QR code template - * Remove a QR code template belonging to the authenticated caller's workspace. + * Remove a QR code template belonging to the authenticated caller's workspace. Requires the `qrcodes:write` scope. * @param id (required) * @return Object * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body @@ -297,9 +311,10 @@ private okhttp3.Call qrcodeTemplatesServiceDeleteQrcodeTemplateValidateBeforeCal - - - + + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
204 QR code template deleted successfully -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
204 QR code template deleted successfully * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public Object qrcodeTemplatesServiceDeleteQrcodeTemplate(@javax.annotation.Nonnull String id) throws ApiException { @@ -309,7 +324,7 @@ public Object qrcodeTemplatesServiceDeleteQrcodeTemplate(@javax.annotation.Nonnu /** * Delete a workspace QR code template - * Remove a QR code template belonging to the authenticated caller's workspace. + * Remove a QR code template belonging to the authenticated caller's workspace. Requires the `qrcodes:write` scope. * @param id (required) * @return ApiResponse<Object> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body @@ -317,9 +332,10 @@ public Object qrcodeTemplatesServiceDeleteQrcodeTemplate(@javax.annotation.Nonnu - - - + + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
204 QR code template deleted successfully -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
204 QR code template deleted successfully * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public ApiResponse qrcodeTemplatesServiceDeleteQrcodeTemplateWithHttpInfo(@javax.annotation.Nonnull String id) throws ApiException { @@ -330,7 +346,7 @@ public ApiResponse qrcodeTemplatesServiceDeleteQrcodeTemplateWithHttpInf /** * Delete a workspace QR code template (asynchronously) - * Remove a QR code template belonging to the authenticated caller's workspace. + * Remove a QR code template belonging to the authenticated caller's workspace. Requires the `qrcodes:write` scope. * @param id (required) * @param _callback The callback to be executed when the API call finishes * @return The request call @@ -339,9 +355,10 @@ public ApiResponse qrcodeTemplatesServiceDeleteQrcodeTemplateWithHttpInf - - - + + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
204 QR code template deleted successfully -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
204 QR code template deleted successfully * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public okhttp3.Call qrcodeTemplatesServiceDeleteQrcodeTemplateAsync(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { @@ -362,8 +379,9 @@ public okhttp3.Call qrcodeTemplatesServiceDeleteQrcodeTemplateAsync(@javax.annot - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public okhttp3.Call qrcodeTemplatesServiceGetQrcodeTemplateCall(@javax.annotation.Nonnull String id, @javax.annotation.Nullable List include, final ApiCallback _callback) throws ApiException { @@ -411,7 +429,7 @@ public okhttp3.Call qrcodeTemplatesServiceGetQrcodeTemplateCall(@javax.annotatio localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @@ -428,7 +446,7 @@ private okhttp3.Call qrcodeTemplatesServiceGetQrcodeTemplateValidateBeforeCall(@ /** * Get a workspace QR code template - * Retrieve a QR code template that belongs to the authenticated caller's workspace. + * Retrieve a QR code template that belongs to the authenticated caller's workspace. Requires the `qrcodes:read` scope. * @param id (required) * @param include (optional) * @return QrcodeTemplate @@ -437,8 +455,9 @@ private okhttp3.Call qrcodeTemplatesServiceGetQrcodeTemplateValidateBeforeCall(@ - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public QrcodeTemplate qrcodeTemplatesServiceGetQrcodeTemplate(@javax.annotation.Nonnull String id, @javax.annotation.Nullable List include) throws ApiException { @@ -448,7 +467,7 @@ public QrcodeTemplate qrcodeTemplatesServiceGetQrcodeTemplate(@javax.annotation. /** * Get a workspace QR code template - * Retrieve a QR code template that belongs to the authenticated caller's workspace. + * Retrieve a QR code template that belongs to the authenticated caller's workspace. Requires the `qrcodes:read` scope. * @param id (required) * @param include (optional) * @return ApiResponse<QrcodeTemplate> @@ -457,8 +476,9 @@ public QrcodeTemplate qrcodeTemplatesServiceGetQrcodeTemplate(@javax.annotation. - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public ApiResponse qrcodeTemplatesServiceGetQrcodeTemplateWithHttpInfo(@javax.annotation.Nonnull String id, @javax.annotation.Nullable List include) throws ApiException { @@ -469,7 +489,7 @@ public ApiResponse qrcodeTemplatesServiceGetQrcodeTemplateWithHt /** * Get a workspace QR code template (asynchronously) - * Retrieve a QR code template that belongs to the authenticated caller's workspace. + * Retrieve a QR code template that belongs to the authenticated caller's workspace. Requires the `qrcodes:read` scope. * @param id (required) * @param include (optional) * @param _callback The callback to be executed when the API call finishes @@ -479,8 +499,9 @@ public ApiResponse qrcodeTemplatesServiceGetQrcodeTemplateWithHt - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public okhttp3.Call qrcodeTemplatesServiceGetQrcodeTemplateAsync(@javax.annotation.Nonnull String id, @javax.annotation.Nullable List include, final ApiCallback _callback) throws ApiException { @@ -493,6 +514,7 @@ public okhttp3.Call qrcodeTemplatesServiceGetQrcodeTemplateAsync(@javax.annotati /** * Build call for qrcodeTemplatesServiceImportQrcodeTemplate * @param importQrcodeTemplateRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @param _callback Callback for upload/download progress * @return Call to execute * @throws ApiException If fail to serialize the request body object @@ -500,11 +522,12 @@ public okhttp3.Call qrcodeTemplatesServiceGetQrcodeTemplateAsync(@javax.annotati - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call qrcodeTemplatesServiceImportQrcodeTemplateCall(@javax.annotation.Nonnull ImportQrcodeTemplateRequest importQrcodeTemplateRequest, final ApiCallback _callback) throws ApiException { + public okhttp3.Call qrcodeTemplatesServiceImportQrcodeTemplateCall(@javax.annotation.Nonnull ImportQrcodeTemplateRequest importQrcodeTemplateRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -545,64 +568,74 @@ public okhttp3.Call qrcodeTemplatesServiceImportQrcodeTemplateCall(@javax.annota localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + if (idempotencyKey != null) { + localVarHeaderParams.put("Idempotency-Key", localVarApiClient.parameterToString(idempotencyKey)); + } + + + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; return localVarApiClient.buildCall(basePath, localVarPath, "POST", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @SuppressWarnings("rawtypes") - private okhttp3.Call qrcodeTemplatesServiceImportQrcodeTemplateValidateBeforeCall(@javax.annotation.Nonnull ImportQrcodeTemplateRequest importQrcodeTemplateRequest, final ApiCallback _callback) throws ApiException { + private okhttp3.Call qrcodeTemplatesServiceImportQrcodeTemplateValidateBeforeCall(@javax.annotation.Nonnull ImportQrcodeTemplateRequest importQrcodeTemplateRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { // verify the required parameter 'importQrcodeTemplateRequest' is set if (importQrcodeTemplateRequest == null) { throw new ApiException("Missing the required parameter 'importQrcodeTemplateRequest' when calling qrcodeTemplatesServiceImportQrcodeTemplate(Async)"); } - return qrcodeTemplatesServiceImportQrcodeTemplateCall(importQrcodeTemplateRequest, _callback); + return qrcodeTemplatesServiceImportQrcodeTemplateCall(importQrcodeTemplateRequest, idempotencyKey, _callback); } /** * Import a public QR code template - * Import a public QR code template into your workspace by slug. Creates a private copy owned by your workspace. + * Import a public QR code template into your workspace by slug. Creates a private copy owned by your workspace. Requires the `qrcodes:write` scope. * @param importQrcodeTemplateRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return ImportQrcodeTemplateResponse * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public ImportQrcodeTemplateResponse qrcodeTemplatesServiceImportQrcodeTemplate(@javax.annotation.Nonnull ImportQrcodeTemplateRequest importQrcodeTemplateRequest) throws ApiException { - ApiResponse localVarResp = qrcodeTemplatesServiceImportQrcodeTemplateWithHttpInfo(importQrcodeTemplateRequest); + public ImportQrcodeTemplateResponse qrcodeTemplatesServiceImportQrcodeTemplate(@javax.annotation.Nonnull ImportQrcodeTemplateRequest importQrcodeTemplateRequest, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + ApiResponse localVarResp = qrcodeTemplatesServiceImportQrcodeTemplateWithHttpInfo(importQrcodeTemplateRequest, idempotencyKey); return localVarResp.getData(); } /** * Import a public QR code template - * Import a public QR code template into your workspace by slug. Creates a private copy owned by your workspace. + * Import a public QR code template into your workspace by slug. Creates a private copy owned by your workspace. Requires the `qrcodes:write` scope. * @param importQrcodeTemplateRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return ApiResponse<ImportQrcodeTemplateResponse> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public ApiResponse qrcodeTemplatesServiceImportQrcodeTemplateWithHttpInfo(@javax.annotation.Nonnull ImportQrcodeTemplateRequest importQrcodeTemplateRequest) throws ApiException { - okhttp3.Call localVarCall = qrcodeTemplatesServiceImportQrcodeTemplateValidateBeforeCall(importQrcodeTemplateRequest, null); + public ApiResponse qrcodeTemplatesServiceImportQrcodeTemplateWithHttpInfo(@javax.annotation.Nonnull ImportQrcodeTemplateRequest importQrcodeTemplateRequest, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + okhttp3.Call localVarCall = qrcodeTemplatesServiceImportQrcodeTemplateValidateBeforeCall(importQrcodeTemplateRequest, idempotencyKey, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); } /** * Import a public QR code template (asynchronously) - * Import a public QR code template into your workspace by slug. Creates a private copy owned by your workspace. + * Import a public QR code template into your workspace by slug. Creates a private copy owned by your workspace. Requires the `qrcodes:write` scope. * @param importQrcodeTemplateRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @param _callback The callback to be executed when the API call finishes * @return The request call * @throws ApiException If fail to process the API call, e.g. serializing the request body object @@ -610,13 +643,14 @@ public ApiResponse qrcodeTemplatesServiceImportQrc - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call qrcodeTemplatesServiceImportQrcodeTemplateAsync(@javax.annotation.Nonnull ImportQrcodeTemplateRequest importQrcodeTemplateRequest, final ApiCallback _callback) throws ApiException { + public okhttp3.Call qrcodeTemplatesServiceImportQrcodeTemplateAsync(@javax.annotation.Nonnull ImportQrcodeTemplateRequest importQrcodeTemplateRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { - okhttp3.Call localVarCall = qrcodeTemplatesServiceImportQrcodeTemplateValidateBeforeCall(importQrcodeTemplateRequest, _callback); + okhttp3.Call localVarCall = qrcodeTemplatesServiceImportQrcodeTemplateValidateBeforeCall(importQrcodeTemplateRequest, idempotencyKey, _callback); Type localVarReturnType = new TypeToken(){}.getType(); localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); return localVarCall; @@ -628,6 +662,7 @@ public okhttp3.Call qrcodeTemplatesServiceImportQrcodeTemplateAsync(@javax.annot * @param pageSize (optional) * @param pageToken (optional) * @param scope Which templates to return. WORKSPACE (default) returns only templates owned by the caller's workspace. AVAILABLE also returns built-in templates and templates other workspaces have published, ordered by the workspace's own usage first, then its own templates, then the rest. - QRCODE_TEMPLATE_SCOPE_UNSPECIFIED: Defaults to QRCODE_TEMPLATE_SCOPE_WORKSPACE. - QRCODE_TEMPLATE_SCOPE_WORKSPACE: Only templates owned by the caller's workspace. - QRCODE_TEMPLATE_SCOPE_AVAILABLE: Every template the workspace may use: its own, built-in ones, and templates published by other workspaces. (optional) + * @param cursor Opaque cursor from the previous page's nextPageToken. Same as pageToken; when both are sent, pageToken wins. (optional) * @param _callback Callback for upload/download progress * @return Call to execute * @throws ApiException If fail to serialize the request body object @@ -635,11 +670,12 @@ public okhttp3.Call qrcodeTemplatesServiceImportQrcodeTemplateAsync(@javax.annot - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call qrcodeTemplatesServiceListQrcodeTemplatesCall(@javax.annotation.Nullable List include, @javax.annotation.Nullable String search, @javax.annotation.Nullable Long pageSize, @javax.annotation.Nullable String pageToken, @javax.annotation.Nullable String scope, final ApiCallback _callback) throws ApiException { + public okhttp3.Call qrcodeTemplatesServiceListQrcodeTemplatesCall(@javax.annotation.Nullable List include, @javax.annotation.Nullable String search, @javax.annotation.Nullable Long pageSize, @javax.annotation.Nullable String pageToken, @javax.annotation.Nullable String scope, @javax.annotation.Nullable String cursor, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -684,6 +720,10 @@ public okhttp3.Call qrcodeTemplatesServiceListQrcodeTemplatesCall(@javax.annotat localVarQueryParams.addAll(localVarApiClient.parameterToPair("scope", scope)); } + if (cursor != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("cursor", cursor)); + } + final String[] localVarAccepts = { "application/json" }; @@ -699,71 +739,76 @@ public okhttp3.Call qrcodeTemplatesServiceListQrcodeTemplatesCall(@javax.annotat localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @SuppressWarnings("rawtypes") - private okhttp3.Call qrcodeTemplatesServiceListQrcodeTemplatesValidateBeforeCall(@javax.annotation.Nullable List include, @javax.annotation.Nullable String search, @javax.annotation.Nullable Long pageSize, @javax.annotation.Nullable String pageToken, @javax.annotation.Nullable String scope, final ApiCallback _callback) throws ApiException { - return qrcodeTemplatesServiceListQrcodeTemplatesCall(include, search, pageSize, pageToken, scope, _callback); + private okhttp3.Call qrcodeTemplatesServiceListQrcodeTemplatesValidateBeforeCall(@javax.annotation.Nullable List include, @javax.annotation.Nullable String search, @javax.annotation.Nullable Long pageSize, @javax.annotation.Nullable String pageToken, @javax.annotation.Nullable String scope, @javax.annotation.Nullable String cursor, final ApiCallback _callback) throws ApiException { + return qrcodeTemplatesServiceListQrcodeTemplatesCall(include, search, pageSize, pageToken, scope, cursor, _callback); } /** * List my QR code templates - * Retrieve QR code templates that belong to the authenticated caller's workspace. + * Retrieve QR code templates that belong to the authenticated caller's workspace. Requires the `qrcodes:read` scope. * @param include (optional) * @param search (optional) * @param pageSize (optional) * @param pageToken (optional) * @param scope Which templates to return. WORKSPACE (default) returns only templates owned by the caller's workspace. AVAILABLE also returns built-in templates and templates other workspaces have published, ordered by the workspace's own usage first, then its own templates, then the rest. - QRCODE_TEMPLATE_SCOPE_UNSPECIFIED: Defaults to QRCODE_TEMPLATE_SCOPE_WORKSPACE. - QRCODE_TEMPLATE_SCOPE_WORKSPACE: Only templates owned by the caller's workspace. - QRCODE_TEMPLATE_SCOPE_AVAILABLE: Every template the workspace may use: its own, built-in ones, and templates published by other workspaces. (optional) + * @param cursor Opaque cursor from the previous page's nextPageToken. Same as pageToken; when both are sent, pageToken wins. (optional) * @return ListQrcodeTemplatesResponse * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public ListQrcodeTemplatesResponse qrcodeTemplatesServiceListQrcodeTemplates(@javax.annotation.Nullable List include, @javax.annotation.Nullable String search, @javax.annotation.Nullable Long pageSize, @javax.annotation.Nullable String pageToken, @javax.annotation.Nullable String scope) throws ApiException { - ApiResponse localVarResp = qrcodeTemplatesServiceListQrcodeTemplatesWithHttpInfo(include, search, pageSize, pageToken, scope); + public ListQrcodeTemplatesResponse qrcodeTemplatesServiceListQrcodeTemplates(@javax.annotation.Nullable List include, @javax.annotation.Nullable String search, @javax.annotation.Nullable Long pageSize, @javax.annotation.Nullable String pageToken, @javax.annotation.Nullable String scope, @javax.annotation.Nullable String cursor) throws ApiException { + ApiResponse localVarResp = qrcodeTemplatesServiceListQrcodeTemplatesWithHttpInfo(include, search, pageSize, pageToken, scope, cursor); return localVarResp.getData(); } /** * List my QR code templates - * Retrieve QR code templates that belong to the authenticated caller's workspace. + * Retrieve QR code templates that belong to the authenticated caller's workspace. Requires the `qrcodes:read` scope. * @param include (optional) * @param search (optional) * @param pageSize (optional) * @param pageToken (optional) * @param scope Which templates to return. WORKSPACE (default) returns only templates owned by the caller's workspace. AVAILABLE also returns built-in templates and templates other workspaces have published, ordered by the workspace's own usage first, then its own templates, then the rest. - QRCODE_TEMPLATE_SCOPE_UNSPECIFIED: Defaults to QRCODE_TEMPLATE_SCOPE_WORKSPACE. - QRCODE_TEMPLATE_SCOPE_WORKSPACE: Only templates owned by the caller's workspace. - QRCODE_TEMPLATE_SCOPE_AVAILABLE: Every template the workspace may use: its own, built-in ones, and templates published by other workspaces. (optional) + * @param cursor Opaque cursor from the previous page's nextPageToken. Same as pageToken; when both are sent, pageToken wins. (optional) * @return ApiResponse<ListQrcodeTemplatesResponse> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public ApiResponse qrcodeTemplatesServiceListQrcodeTemplatesWithHttpInfo(@javax.annotation.Nullable List include, @javax.annotation.Nullable String search, @javax.annotation.Nullable Long pageSize, @javax.annotation.Nullable String pageToken, @javax.annotation.Nullable String scope) throws ApiException { - okhttp3.Call localVarCall = qrcodeTemplatesServiceListQrcodeTemplatesValidateBeforeCall(include, search, pageSize, pageToken, scope, null); + public ApiResponse qrcodeTemplatesServiceListQrcodeTemplatesWithHttpInfo(@javax.annotation.Nullable List include, @javax.annotation.Nullable String search, @javax.annotation.Nullable Long pageSize, @javax.annotation.Nullable String pageToken, @javax.annotation.Nullable String scope, @javax.annotation.Nullable String cursor) throws ApiException { + okhttp3.Call localVarCall = qrcodeTemplatesServiceListQrcodeTemplatesValidateBeforeCall(include, search, pageSize, pageToken, scope, cursor, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); } /** * List my QR code templates (asynchronously) - * Retrieve QR code templates that belong to the authenticated caller's workspace. + * Retrieve QR code templates that belong to the authenticated caller's workspace. Requires the `qrcodes:read` scope. * @param include (optional) * @param search (optional) * @param pageSize (optional) * @param pageToken (optional) * @param scope Which templates to return. WORKSPACE (default) returns only templates owned by the caller's workspace. AVAILABLE also returns built-in templates and templates other workspaces have published, ordered by the workspace's own usage first, then its own templates, then the rest. - QRCODE_TEMPLATE_SCOPE_UNSPECIFIED: Defaults to QRCODE_TEMPLATE_SCOPE_WORKSPACE. - QRCODE_TEMPLATE_SCOPE_WORKSPACE: Only templates owned by the caller's workspace. - QRCODE_TEMPLATE_SCOPE_AVAILABLE: Every template the workspace may use: its own, built-in ones, and templates published by other workspaces. (optional) + * @param cursor Opaque cursor from the previous page's nextPageToken. Same as pageToken; when both are sent, pageToken wins. (optional) * @param _callback The callback to be executed when the API call finishes * @return The request call * @throws ApiException If fail to process the API call, e.g. serializing the request body object @@ -771,13 +816,14 @@ public ApiResponse qrcodeTemplatesServiceListQrcode - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call qrcodeTemplatesServiceListQrcodeTemplatesAsync(@javax.annotation.Nullable List include, @javax.annotation.Nullable String search, @javax.annotation.Nullable Long pageSize, @javax.annotation.Nullable String pageToken, @javax.annotation.Nullable String scope, final ApiCallback _callback) throws ApiException { + public okhttp3.Call qrcodeTemplatesServiceListQrcodeTemplatesAsync(@javax.annotation.Nullable List include, @javax.annotation.Nullable String search, @javax.annotation.Nullable Long pageSize, @javax.annotation.Nullable String pageToken, @javax.annotation.Nullable String scope, @javax.annotation.Nullable String cursor, final ApiCallback _callback) throws ApiException { - okhttp3.Call localVarCall = qrcodeTemplatesServiceListQrcodeTemplatesValidateBeforeCall(include, search, pageSize, pageToken, scope, _callback); + okhttp3.Call localVarCall = qrcodeTemplatesServiceListQrcodeTemplatesValidateBeforeCall(include, search, pageSize, pageToken, scope, cursor, _callback); Type localVarReturnType = new TypeToken(){}.getType(); localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); return localVarCall; @@ -793,8 +839,9 @@ public okhttp3.Call qrcodeTemplatesServiceListQrcodeTemplatesAsync(@javax.annota - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public okhttp3.Call qrcodeTemplatesServicePublicGetQrcodeTemplateCall(@javax.annotation.Nonnull String slug, @javax.annotation.Nullable List include, final ApiCallback _callback) throws ApiException { @@ -842,7 +889,7 @@ public okhttp3.Call qrcodeTemplatesServicePublicGetQrcodeTemplateCall(@javax.ann localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + String[] localVarAuthNames = new String[] { }; return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @@ -868,8 +915,9 @@ private okhttp3.Call qrcodeTemplatesServicePublicGetQrcodeTemplateValidateBefore - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public PublicQrcodeTemplate qrcodeTemplatesServicePublicGetQrcodeTemplate(@javax.annotation.Nonnull String slug, @javax.annotation.Nullable List include) throws ApiException { @@ -888,8 +936,9 @@ public PublicQrcodeTemplate qrcodeTemplatesServicePublicGetQrcodeTemplate(@javax - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public ApiResponse qrcodeTemplatesServicePublicGetQrcodeTemplateWithHttpInfo(@javax.annotation.Nonnull String slug, @javax.annotation.Nullable List include) throws ApiException { @@ -910,8 +959,9 @@ public ApiResponse qrcodeTemplatesServicePublicGetQrcodeTe - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public okhttp3.Call qrcodeTemplatesServicePublicGetQrcodeTemplateAsync(@javax.annotation.Nonnull String slug, @javax.annotation.Nullable List include, final ApiCallback _callback) throws ApiException { @@ -928,6 +978,7 @@ public okhttp3.Call qrcodeTemplatesServicePublicGetQrcodeTemplateAsync(@javax.an * @param pageSize Maximum number of templates to return (defaults to 20) (optional) * @param pageToken Cursor token to retrieve the next page of results (optional) * @param workspaceId Optional workspace ID to filter templates by workspace Filter public templates by workspace. Only published templates for that workspace will be returned. (optional) + * @param cursor Opaque cursor from the previous page's nextPageToken. Same as pageToken; when both are sent, pageToken wins. (optional) * @param _callback Callback for upload/download progress * @return Call to execute * @throws ApiException If fail to serialize the request body object @@ -935,11 +986,12 @@ public okhttp3.Call qrcodeTemplatesServicePublicGetQrcodeTemplateAsync(@javax.an - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call qrcodeTemplatesServicePublicListQrcodeTemplatesCall(@javax.annotation.Nullable List include, @javax.annotation.Nullable String search, @javax.annotation.Nullable Long pageSize, @javax.annotation.Nullable String pageToken, @javax.annotation.Nullable String workspaceId, final ApiCallback _callback) throws ApiException { + public okhttp3.Call qrcodeTemplatesServicePublicListQrcodeTemplatesCall(@javax.annotation.Nullable List include, @javax.annotation.Nullable String search, @javax.annotation.Nullable Long pageSize, @javax.annotation.Nullable String pageToken, @javax.annotation.Nullable String workspaceId, @javax.annotation.Nullable String cursor, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -984,6 +1036,10 @@ public okhttp3.Call qrcodeTemplatesServicePublicListQrcodeTemplatesCall(@javax.a localVarQueryParams.addAll(localVarApiClient.parameterToPair("workspaceId", workspaceId)); } + if (cursor != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("cursor", cursor)); + } + final String[] localVarAccepts = { "application/json" }; @@ -999,13 +1055,13 @@ public okhttp3.Call qrcodeTemplatesServicePublicListQrcodeTemplatesCall(@javax.a localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + String[] localVarAuthNames = new String[] { }; return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @SuppressWarnings("rawtypes") - private okhttp3.Call qrcodeTemplatesServicePublicListQrcodeTemplatesValidateBeforeCall(@javax.annotation.Nullable List include, @javax.annotation.Nullable String search, @javax.annotation.Nullable Long pageSize, @javax.annotation.Nullable String pageToken, @javax.annotation.Nullable String workspaceId, final ApiCallback _callback) throws ApiException { - return qrcodeTemplatesServicePublicListQrcodeTemplatesCall(include, search, pageSize, pageToken, workspaceId, _callback); + private okhttp3.Call qrcodeTemplatesServicePublicListQrcodeTemplatesValidateBeforeCall(@javax.annotation.Nullable List include, @javax.annotation.Nullable String search, @javax.annotation.Nullable Long pageSize, @javax.annotation.Nullable String pageToken, @javax.annotation.Nullable String workspaceId, @javax.annotation.Nullable String cursor, final ApiCallback _callback) throws ApiException { + return qrcodeTemplatesServicePublicListQrcodeTemplatesCall(include, search, pageSize, pageToken, workspaceId, cursor, _callback); } @@ -1017,18 +1073,20 @@ private okhttp3.Call qrcodeTemplatesServicePublicListQrcodeTemplatesValidateBefo * @param pageSize Maximum number of templates to return (defaults to 20) (optional) * @param pageToken Cursor token to retrieve the next page of results (optional) * @param workspaceId Optional workspace ID to filter templates by workspace Filter public templates by workspace. Only published templates for that workspace will be returned. (optional) + * @param cursor Opaque cursor from the previous page's nextPageToken. Same as pageToken; when both are sent, pageToken wins. (optional) * @return PublicListQrcodeTemplatesResponse * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public PublicListQrcodeTemplatesResponse qrcodeTemplatesServicePublicListQrcodeTemplates(@javax.annotation.Nullable List include, @javax.annotation.Nullable String search, @javax.annotation.Nullable Long pageSize, @javax.annotation.Nullable String pageToken, @javax.annotation.Nullable String workspaceId) throws ApiException { - ApiResponse localVarResp = qrcodeTemplatesServicePublicListQrcodeTemplatesWithHttpInfo(include, search, pageSize, pageToken, workspaceId); + public PublicListQrcodeTemplatesResponse qrcodeTemplatesServicePublicListQrcodeTemplates(@javax.annotation.Nullable List include, @javax.annotation.Nullable String search, @javax.annotation.Nullable Long pageSize, @javax.annotation.Nullable String pageToken, @javax.annotation.Nullable String workspaceId, @javax.annotation.Nullable String cursor) throws ApiException { + ApiResponse localVarResp = qrcodeTemplatesServicePublicListQrcodeTemplatesWithHttpInfo(include, search, pageSize, pageToken, workspaceId, cursor); return localVarResp.getData(); } @@ -1040,18 +1098,20 @@ public PublicListQrcodeTemplatesResponse qrcodeTemplatesServicePublicListQrcodeT * @param pageSize Maximum number of templates to return (defaults to 20) (optional) * @param pageToken Cursor token to retrieve the next page of results (optional) * @param workspaceId Optional workspace ID to filter templates by workspace Filter public templates by workspace. Only published templates for that workspace will be returned. (optional) + * @param cursor Opaque cursor from the previous page's nextPageToken. Same as pageToken; when both are sent, pageToken wins. (optional) * @return ApiResponse<PublicListQrcodeTemplatesResponse> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public ApiResponse qrcodeTemplatesServicePublicListQrcodeTemplatesWithHttpInfo(@javax.annotation.Nullable List include, @javax.annotation.Nullable String search, @javax.annotation.Nullable Long pageSize, @javax.annotation.Nullable String pageToken, @javax.annotation.Nullable String workspaceId) throws ApiException { - okhttp3.Call localVarCall = qrcodeTemplatesServicePublicListQrcodeTemplatesValidateBeforeCall(include, search, pageSize, pageToken, workspaceId, null); + public ApiResponse qrcodeTemplatesServicePublicListQrcodeTemplatesWithHttpInfo(@javax.annotation.Nullable List include, @javax.annotation.Nullable String search, @javax.annotation.Nullable Long pageSize, @javax.annotation.Nullable String pageToken, @javax.annotation.Nullable String workspaceId, @javax.annotation.Nullable String cursor) throws ApiException { + okhttp3.Call localVarCall = qrcodeTemplatesServicePublicListQrcodeTemplatesValidateBeforeCall(include, search, pageSize, pageToken, workspaceId, cursor, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); } @@ -1064,6 +1124,7 @@ public ApiResponse qrcodeTemplatesServicePubl * @param pageSize Maximum number of templates to return (defaults to 20) (optional) * @param pageToken Cursor token to retrieve the next page of results (optional) * @param workspaceId Optional workspace ID to filter templates by workspace Filter public templates by workspace. Only published templates for that workspace will be returned. (optional) + * @param cursor Opaque cursor from the previous page's nextPageToken. Same as pageToken; when both are sent, pageToken wins. (optional) * @param _callback The callback to be executed when the API call finishes * @return The request call * @throws ApiException If fail to process the API call, e.g. serializing the request body object @@ -1071,13 +1132,14 @@ public ApiResponse qrcodeTemplatesServicePubl - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call qrcodeTemplatesServicePublicListQrcodeTemplatesAsync(@javax.annotation.Nullable List include, @javax.annotation.Nullable String search, @javax.annotation.Nullable Long pageSize, @javax.annotation.Nullable String pageToken, @javax.annotation.Nullable String workspaceId, final ApiCallback _callback) throws ApiException { + public okhttp3.Call qrcodeTemplatesServicePublicListQrcodeTemplatesAsync(@javax.annotation.Nullable List include, @javax.annotation.Nullable String search, @javax.annotation.Nullable Long pageSize, @javax.annotation.Nullable String pageToken, @javax.annotation.Nullable String workspaceId, @javax.annotation.Nullable String cursor, final ApiCallback _callback) throws ApiException { - okhttp3.Call localVarCall = qrcodeTemplatesServicePublicListQrcodeTemplatesValidateBeforeCall(include, search, pageSize, pageToken, workspaceId, _callback); + okhttp3.Call localVarCall = qrcodeTemplatesServicePublicListQrcodeTemplatesValidateBeforeCall(include, search, pageSize, pageToken, workspaceId, cursor, _callback); Type localVarReturnType = new TypeToken(){}.getType(); localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); return localVarCall; @@ -1086,6 +1148,7 @@ public okhttp3.Call qrcodeTemplatesServicePublicListQrcodeTemplatesAsync(@javax. * Build call for qrcodeTemplatesServicePublishQrcodeTemplate * @param id The ID of the QR code template to publish (UUID) (required) * @param body (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @param _callback Callback for upload/download progress * @return Call to execute * @throws ApiException If fail to serialize the request body object @@ -1093,11 +1156,12 @@ public okhttp3.Call qrcodeTemplatesServicePublicListQrcodeTemplatesAsync(@javax. - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call qrcodeTemplatesServicePublishQrcodeTemplateCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull Object body, final ApiCallback _callback) throws ApiException { + public okhttp3.Call qrcodeTemplatesServicePublishQrcodeTemplateCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull Object body, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -1139,12 +1203,17 @@ public okhttp3.Call qrcodeTemplatesServicePublishQrcodeTemplateCall(@javax.annot localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + if (idempotencyKey != null) { + localVarHeaderParams.put("Idempotency-Key", localVarApiClient.parameterToString(idempotencyKey)); + } + + + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; return localVarApiClient.buildCall(basePath, localVarPath, "POST", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @SuppressWarnings("rawtypes") - private okhttp3.Call qrcodeTemplatesServicePublishQrcodeTemplateValidateBeforeCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull Object body, final ApiCallback _callback) throws ApiException { + private okhttp3.Call qrcodeTemplatesServicePublishQrcodeTemplateValidateBeforeCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull Object body, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { // verify the required parameter 'id' is set if (id == null) { throw new ApiException("Missing the required parameter 'id' when calling qrcodeTemplatesServicePublishQrcodeTemplate(Async)"); @@ -1155,56 +1224,61 @@ private okhttp3.Call qrcodeTemplatesServicePublishQrcodeTemplateValidateBeforeCa throw new ApiException("Missing the required parameter 'body' when calling qrcodeTemplatesServicePublishQrcodeTemplate(Async)"); } - return qrcodeTemplatesServicePublishQrcodeTemplateCall(id, body, _callback); + return qrcodeTemplatesServicePublishQrcodeTemplateCall(id, body, idempotencyKey, _callback); } /** * Publish a workspace QR code template - * Publish a QR code template to make it available in the public gallery. Requires workspace to be public and template to have slug, description, and name. + * Publish a QR code template to make it available in the public gallery. Requires workspace to be public and template to have slug, description, and name. Requires the `qrcodes:write` scope. * @param id The ID of the QR code template to publish (UUID) (required) * @param body (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return PublishQrcodeTemplateResponse * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public PublishQrcodeTemplateResponse qrcodeTemplatesServicePublishQrcodeTemplate(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull Object body) throws ApiException { - ApiResponse localVarResp = qrcodeTemplatesServicePublishQrcodeTemplateWithHttpInfo(id, body); + public PublishQrcodeTemplateResponse qrcodeTemplatesServicePublishQrcodeTemplate(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull Object body, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + ApiResponse localVarResp = qrcodeTemplatesServicePublishQrcodeTemplateWithHttpInfo(id, body, idempotencyKey); return localVarResp.getData(); } /** * Publish a workspace QR code template - * Publish a QR code template to make it available in the public gallery. Requires workspace to be public and template to have slug, description, and name. + * Publish a QR code template to make it available in the public gallery. Requires workspace to be public and template to have slug, description, and name. Requires the `qrcodes:write` scope. * @param id The ID of the QR code template to publish (UUID) (required) * @param body (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return ApiResponse<PublishQrcodeTemplateResponse> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public ApiResponse qrcodeTemplatesServicePublishQrcodeTemplateWithHttpInfo(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull Object body) throws ApiException { - okhttp3.Call localVarCall = qrcodeTemplatesServicePublishQrcodeTemplateValidateBeforeCall(id, body, null); + public ApiResponse qrcodeTemplatesServicePublishQrcodeTemplateWithHttpInfo(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull Object body, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + okhttp3.Call localVarCall = qrcodeTemplatesServicePublishQrcodeTemplateValidateBeforeCall(id, body, idempotencyKey, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); } /** * Publish a workspace QR code template (asynchronously) - * Publish a QR code template to make it available in the public gallery. Requires workspace to be public and template to have slug, description, and name. + * Publish a QR code template to make it available in the public gallery. Requires workspace to be public and template to have slug, description, and name. Requires the `qrcodes:write` scope. * @param id The ID of the QR code template to publish (UUID) (required) * @param body (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @param _callback The callback to be executed when the API call finishes * @return The request call * @throws ApiException If fail to process the API call, e.g. serializing the request body object @@ -1212,13 +1286,14 @@ public ApiResponse qrcodeTemplatesServicePublishQ - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call qrcodeTemplatesServicePublishQrcodeTemplateAsync(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull Object body, final ApiCallback _callback) throws ApiException { + public okhttp3.Call qrcodeTemplatesServicePublishQrcodeTemplateAsync(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull Object body, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { - okhttp3.Call localVarCall = qrcodeTemplatesServicePublishQrcodeTemplateValidateBeforeCall(id, body, _callback); + okhttp3.Call localVarCall = qrcodeTemplatesServicePublishQrcodeTemplateValidateBeforeCall(id, body, idempotencyKey, _callback); Type localVarReturnType = new TypeToken(){}.getType(); localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); return localVarCall; @@ -1226,6 +1301,7 @@ public okhttp3.Call qrcodeTemplatesServicePublishQrcodeTemplateAsync(@javax.anno /** * Build call for qrcodeTemplatesServiceResolveQrcodeTemplateImages * @param resolveQrcodeTemplateImagesRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @param _callback Callback for upload/download progress * @return Call to execute * @throws ApiException If fail to serialize the request body object @@ -1233,11 +1309,12 @@ public okhttp3.Call qrcodeTemplatesServicePublishQrcodeTemplateAsync(@javax.anno - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call qrcodeTemplatesServiceResolveQrcodeTemplateImagesCall(@javax.annotation.Nonnull ResolveQrcodeTemplateImagesRequest resolveQrcodeTemplateImagesRequest, final ApiCallback _callback) throws ApiException { + public okhttp3.Call qrcodeTemplatesServiceResolveQrcodeTemplateImagesCall(@javax.annotation.Nonnull ResolveQrcodeTemplateImagesRequest resolveQrcodeTemplateImagesRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -1278,64 +1355,74 @@ public okhttp3.Call qrcodeTemplatesServiceResolveQrcodeTemplateImagesCall(@javax localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + if (idempotencyKey != null) { + localVarHeaderParams.put("Idempotency-Key", localVarApiClient.parameterToString(idempotencyKey)); + } + + + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; return localVarApiClient.buildCall(basePath, localVarPath, "POST", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @SuppressWarnings("rawtypes") - private okhttp3.Call qrcodeTemplatesServiceResolveQrcodeTemplateImagesValidateBeforeCall(@javax.annotation.Nonnull ResolveQrcodeTemplateImagesRequest resolveQrcodeTemplateImagesRequest, final ApiCallback _callback) throws ApiException { + private okhttp3.Call qrcodeTemplatesServiceResolveQrcodeTemplateImagesValidateBeforeCall(@javax.annotation.Nonnull ResolveQrcodeTemplateImagesRequest resolveQrcodeTemplateImagesRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { // verify the required parameter 'resolveQrcodeTemplateImagesRequest' is set if (resolveQrcodeTemplateImagesRequest == null) { throw new ApiException("Missing the required parameter 'resolveQrcodeTemplateImagesRequest' when calling qrcodeTemplatesServiceResolveQrcodeTemplateImages(Async)"); } - return qrcodeTemplatesServiceResolveQrcodeTemplateImagesCall(resolveQrcodeTemplateImagesRequest, _callback); + return qrcodeTemplatesServiceResolveQrcodeTemplateImagesCall(resolveQrcodeTemplateImagesRequest, idempotencyKey, _callback); } /** * Resolve QR code template thumbnails - * Return freshly signed thumbnail URLs for the given templates. The URLs expire, so callers fetch them when they need to render rather than storing them. + * Return freshly signed thumbnail URLs for the given templates. The URLs expire, so callers fetch them when they need to render rather than storing them. Requires the `qrcodes:read` scope. * @param resolveQrcodeTemplateImagesRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return ResolveQrcodeTemplateImagesResponse * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public ResolveQrcodeTemplateImagesResponse qrcodeTemplatesServiceResolveQrcodeTemplateImages(@javax.annotation.Nonnull ResolveQrcodeTemplateImagesRequest resolveQrcodeTemplateImagesRequest) throws ApiException { - ApiResponse localVarResp = qrcodeTemplatesServiceResolveQrcodeTemplateImagesWithHttpInfo(resolveQrcodeTemplateImagesRequest); + public ResolveQrcodeTemplateImagesResponse qrcodeTemplatesServiceResolveQrcodeTemplateImages(@javax.annotation.Nonnull ResolveQrcodeTemplateImagesRequest resolveQrcodeTemplateImagesRequest, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + ApiResponse localVarResp = qrcodeTemplatesServiceResolveQrcodeTemplateImagesWithHttpInfo(resolveQrcodeTemplateImagesRequest, idempotencyKey); return localVarResp.getData(); } /** * Resolve QR code template thumbnails - * Return freshly signed thumbnail URLs for the given templates. The URLs expire, so callers fetch them when they need to render rather than storing them. + * Return freshly signed thumbnail URLs for the given templates. The URLs expire, so callers fetch them when they need to render rather than storing them. Requires the `qrcodes:read` scope. * @param resolveQrcodeTemplateImagesRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return ApiResponse<ResolveQrcodeTemplateImagesResponse> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public ApiResponse qrcodeTemplatesServiceResolveQrcodeTemplateImagesWithHttpInfo(@javax.annotation.Nonnull ResolveQrcodeTemplateImagesRequest resolveQrcodeTemplateImagesRequest) throws ApiException { - okhttp3.Call localVarCall = qrcodeTemplatesServiceResolveQrcodeTemplateImagesValidateBeforeCall(resolveQrcodeTemplateImagesRequest, null); + public ApiResponse qrcodeTemplatesServiceResolveQrcodeTemplateImagesWithHttpInfo(@javax.annotation.Nonnull ResolveQrcodeTemplateImagesRequest resolveQrcodeTemplateImagesRequest, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + okhttp3.Call localVarCall = qrcodeTemplatesServiceResolveQrcodeTemplateImagesValidateBeforeCall(resolveQrcodeTemplateImagesRequest, idempotencyKey, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); } /** * Resolve QR code template thumbnails (asynchronously) - * Return freshly signed thumbnail URLs for the given templates. The URLs expire, so callers fetch them when they need to render rather than storing them. + * Return freshly signed thumbnail URLs for the given templates. The URLs expire, so callers fetch them when they need to render rather than storing them. Requires the `qrcodes:read` scope. * @param resolveQrcodeTemplateImagesRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @param _callback The callback to be executed when the API call finishes * @return The request call * @throws ApiException If fail to process the API call, e.g. serializing the request body object @@ -1343,13 +1430,14 @@ public ApiResponse qrcodeTemplatesServiceRe - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call qrcodeTemplatesServiceResolveQrcodeTemplateImagesAsync(@javax.annotation.Nonnull ResolveQrcodeTemplateImagesRequest resolveQrcodeTemplateImagesRequest, final ApiCallback _callback) throws ApiException { + public okhttp3.Call qrcodeTemplatesServiceResolveQrcodeTemplateImagesAsync(@javax.annotation.Nonnull ResolveQrcodeTemplateImagesRequest resolveQrcodeTemplateImagesRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { - okhttp3.Call localVarCall = qrcodeTemplatesServiceResolveQrcodeTemplateImagesValidateBeforeCall(resolveQrcodeTemplateImagesRequest, _callback); + okhttp3.Call localVarCall = qrcodeTemplatesServiceResolveQrcodeTemplateImagesValidateBeforeCall(resolveQrcodeTemplateImagesRequest, idempotencyKey, _callback); Type localVarReturnType = new TypeToken(){}.getType(); localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); return localVarCall; @@ -1358,6 +1446,7 @@ public okhttp3.Call qrcodeTemplatesServiceResolveQrcodeTemplateImagesAsync(@java * Build call for qrcodeTemplatesServiceUpdateQrcodeTemplate * @param id The ID of the QR code template to update (UUID) (required) * @param qrcodeTemplatesServiceUpdateQrcodeTemplateBody (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @param _callback Callback for upload/download progress * @return Call to execute * @throws ApiException If fail to serialize the request body object @@ -1365,11 +1454,12 @@ public okhttp3.Call qrcodeTemplatesServiceResolveQrcodeTemplateImagesAsync(@java - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call qrcodeTemplatesServiceUpdateQrcodeTemplateCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull QrcodeTemplatesServiceUpdateQrcodeTemplateBody qrcodeTemplatesServiceUpdateQrcodeTemplateBody, final ApiCallback _callback) throws ApiException { + public okhttp3.Call qrcodeTemplatesServiceUpdateQrcodeTemplateCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull QrcodeTemplatesServiceUpdateQrcodeTemplateBody qrcodeTemplatesServiceUpdateQrcodeTemplateBody, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -1411,12 +1501,17 @@ public okhttp3.Call qrcodeTemplatesServiceUpdateQrcodeTemplateCall(@javax.annota localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + if (idempotencyKey != null) { + localVarHeaderParams.put("Idempotency-Key", localVarApiClient.parameterToString(idempotencyKey)); + } + + + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; return localVarApiClient.buildCall(basePath, localVarPath, "PATCH", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @SuppressWarnings("rawtypes") - private okhttp3.Call qrcodeTemplatesServiceUpdateQrcodeTemplateValidateBeforeCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull QrcodeTemplatesServiceUpdateQrcodeTemplateBody qrcodeTemplatesServiceUpdateQrcodeTemplateBody, final ApiCallback _callback) throws ApiException { + private okhttp3.Call qrcodeTemplatesServiceUpdateQrcodeTemplateValidateBeforeCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull QrcodeTemplatesServiceUpdateQrcodeTemplateBody qrcodeTemplatesServiceUpdateQrcodeTemplateBody, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { // verify the required parameter 'id' is set if (id == null) { throw new ApiException("Missing the required parameter 'id' when calling qrcodeTemplatesServiceUpdateQrcodeTemplate(Async)"); @@ -1427,56 +1522,61 @@ private okhttp3.Call qrcodeTemplatesServiceUpdateQrcodeTemplateValidateBeforeCal throw new ApiException("Missing the required parameter 'qrcodeTemplatesServiceUpdateQrcodeTemplateBody' when calling qrcodeTemplatesServiceUpdateQrcodeTemplate(Async)"); } - return qrcodeTemplatesServiceUpdateQrcodeTemplateCall(id, qrcodeTemplatesServiceUpdateQrcodeTemplateBody, _callback); + return qrcodeTemplatesServiceUpdateQrcodeTemplateCall(id, qrcodeTemplatesServiceUpdateQrcodeTemplateBody, idempotencyKey, _callback); } /** * Update a workspace QR code template - * Modify the name or description of a QR code template owned by the authenticated workspace. + * Modify the name or description of a QR code template owned by the authenticated workspace. Requires the `qrcodes:write` scope. * @param id The ID of the QR code template to update (UUID) (required) * @param qrcodeTemplatesServiceUpdateQrcodeTemplateBody (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return UpdateQrcodeTemplateResponse * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public UpdateQrcodeTemplateResponse qrcodeTemplatesServiceUpdateQrcodeTemplate(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull QrcodeTemplatesServiceUpdateQrcodeTemplateBody qrcodeTemplatesServiceUpdateQrcodeTemplateBody) throws ApiException { - ApiResponse localVarResp = qrcodeTemplatesServiceUpdateQrcodeTemplateWithHttpInfo(id, qrcodeTemplatesServiceUpdateQrcodeTemplateBody); + public UpdateQrcodeTemplateResponse qrcodeTemplatesServiceUpdateQrcodeTemplate(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull QrcodeTemplatesServiceUpdateQrcodeTemplateBody qrcodeTemplatesServiceUpdateQrcodeTemplateBody, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + ApiResponse localVarResp = qrcodeTemplatesServiceUpdateQrcodeTemplateWithHttpInfo(id, qrcodeTemplatesServiceUpdateQrcodeTemplateBody, idempotencyKey); return localVarResp.getData(); } /** * Update a workspace QR code template - * Modify the name or description of a QR code template owned by the authenticated workspace. + * Modify the name or description of a QR code template owned by the authenticated workspace. Requires the `qrcodes:write` scope. * @param id The ID of the QR code template to update (UUID) (required) * @param qrcodeTemplatesServiceUpdateQrcodeTemplateBody (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return ApiResponse<UpdateQrcodeTemplateResponse> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public ApiResponse qrcodeTemplatesServiceUpdateQrcodeTemplateWithHttpInfo(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull QrcodeTemplatesServiceUpdateQrcodeTemplateBody qrcodeTemplatesServiceUpdateQrcodeTemplateBody) throws ApiException { - okhttp3.Call localVarCall = qrcodeTemplatesServiceUpdateQrcodeTemplateValidateBeforeCall(id, qrcodeTemplatesServiceUpdateQrcodeTemplateBody, null); + public ApiResponse qrcodeTemplatesServiceUpdateQrcodeTemplateWithHttpInfo(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull QrcodeTemplatesServiceUpdateQrcodeTemplateBody qrcodeTemplatesServiceUpdateQrcodeTemplateBody, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + okhttp3.Call localVarCall = qrcodeTemplatesServiceUpdateQrcodeTemplateValidateBeforeCall(id, qrcodeTemplatesServiceUpdateQrcodeTemplateBody, idempotencyKey, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); } /** * Update a workspace QR code template (asynchronously) - * Modify the name or description of a QR code template owned by the authenticated workspace. + * Modify the name or description of a QR code template owned by the authenticated workspace. Requires the `qrcodes:write` scope. * @param id The ID of the QR code template to update (UUID) (required) * @param qrcodeTemplatesServiceUpdateQrcodeTemplateBody (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @param _callback The callback to be executed when the API call finishes * @return The request call * @throws ApiException If fail to process the API call, e.g. serializing the request body object @@ -1484,13 +1584,14 @@ public ApiResponse qrcodeTemplatesServiceUpdateQrc - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call qrcodeTemplatesServiceUpdateQrcodeTemplateAsync(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull QrcodeTemplatesServiceUpdateQrcodeTemplateBody qrcodeTemplatesServiceUpdateQrcodeTemplateBody, final ApiCallback _callback) throws ApiException { + public okhttp3.Call qrcodeTemplatesServiceUpdateQrcodeTemplateAsync(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull QrcodeTemplatesServiceUpdateQrcodeTemplateBody qrcodeTemplatesServiceUpdateQrcodeTemplateBody, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { - okhttp3.Call localVarCall = qrcodeTemplatesServiceUpdateQrcodeTemplateValidateBeforeCall(id, qrcodeTemplatesServiceUpdateQrcodeTemplateBody, _callback); + okhttp3.Call localVarCall = qrcodeTemplatesServiceUpdateQrcodeTemplateValidateBeforeCall(id, qrcodeTemplatesServiceUpdateQrcodeTemplateBody, idempotencyKey, _callback); Type localVarReturnType = new TypeToken(){}.getType(); localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); return localVarCall; diff --git a/src/main/java/com/linkbreakers/api/SandboxesApi.java b/src/main/java/com/linkbreakers/api/SandboxesApi.java new file mode 100644 index 000000000..faaa35ec8 --- /dev/null +++ b/src/main/java/com/linkbreakers/api/SandboxesApi.java @@ -0,0 +1,482 @@ +/* + * Linkbreakers API + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. + * + * The version of the OpenAPI document: 1.158.2 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.linkbreakers.api; + +import com.linkbreakers.ApiCallback; +import com.linkbreakers.ApiClient; +import com.linkbreakers.ApiException; +import com.linkbreakers.ApiResponse; +import com.linkbreakers.Configuration; +import com.linkbreakers.Pair; +import com.linkbreakers.ProgressRequestBody; +import com.linkbreakers.ProgressResponseBody; + +import com.google.gson.reflect.TypeToken; + +import java.io.IOException; + + +import com.linkbreakers.model.CreateSandboxRequest; +import com.linkbreakers.model.CreateSandboxResponse; +import com.linkbreakers.model.ErrorResponse; +import com.linkbreakers.model.ListSandboxesResponse; + +import java.lang.reflect.Type; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +public class SandboxesApi { + private ApiClient localVarApiClient; + private int localHostIndex; + private String localCustomBaseUrl; + + public SandboxesApi() { + this(Configuration.getDefaultApiClient()); + } + + public SandboxesApi(ApiClient apiClient) { + this.localVarApiClient = apiClient; + } + + public ApiClient getApiClient() { + return localVarApiClient; + } + + public void setApiClient(ApiClient apiClient) { + this.localVarApiClient = apiClient; + } + + public int getHostIndex() { + return localHostIndex; + } + + public void setHostIndex(int hostIndex) { + this.localHostIndex = hostIndex; + } + + public String getCustomBaseUrl() { + return localCustomBaseUrl; + } + + public void setCustomBaseUrl(String customBaseUrl) { + this.localCustomBaseUrl = customBaseUrl; + } + + /** + * Build call for sandboxesServiceCreate + * @param createSandboxRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) + * @param _callback Callback for upload/download progress + * @return Call to execute + * @throws ApiException If fail to serialize the request body object + * @http.response.details + + + + + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
+ */ + public okhttp3.Call sandboxesServiceCreateCall(@javax.annotation.Nonnull CreateSandboxRequest createSandboxRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { + String basePath = null; + // Operation Servers + String[] localBasePaths = new String[] { }; + + // Determine Base Path to Use + if (localCustomBaseUrl != null){ + basePath = localCustomBaseUrl; + } else if ( localBasePaths.length > 0 ) { + basePath = localBasePaths[localHostIndex]; + } else { + basePath = null; + } + + Object localVarPostBody = createSandboxRequest; + + // create path and map variables + String localVarPath = "/v1/sandboxes"; + + List localVarQueryParams = new ArrayList(); + List localVarCollectionQueryParams = new ArrayList(); + Map localVarHeaderParams = new HashMap(); + Map localVarCookieParams = new HashMap(); + Map localVarFormParams = new HashMap(); + + final String[] localVarAccepts = { + "application/json" + }; + final String localVarAccept = localVarApiClient.selectHeaderAccept(localVarAccepts); + if (localVarAccept != null) { + localVarHeaderParams.put("Accept", localVarAccept); + } + + final String[] localVarContentTypes = { + "application/json" + }; + final String localVarContentType = localVarApiClient.selectHeaderContentType(localVarContentTypes); + if (localVarContentType != null) { + localVarHeaderParams.put("Content-Type", localVarContentType); + } + + if (idempotencyKey != null) { + localVarHeaderParams.put("Idempotency-Key", localVarApiClient.parameterToString(idempotencyKey)); + } + + + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; + return localVarApiClient.buildCall(basePath, localVarPath, "POST", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); + } + + @SuppressWarnings("rawtypes") + private okhttp3.Call sandboxesServiceCreateValidateBeforeCall(@javax.annotation.Nonnull CreateSandboxRequest createSandboxRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { + // verify the required parameter 'createSandboxRequest' is set + if (createSandboxRequest == null) { + throw new ApiException("Missing the required parameter 'createSandboxRequest' when calling sandboxesServiceCreate(Async)"); + } + + return sandboxesServiceCreateCall(createSandboxRequest, idempotencyKey, _callback); + + } + + /** + * Create a sandbox + * Create an API-only sandbox workspace and return its first token. The token starts with `lb_test_`, holds the scopes of the credential that created it, and is shown only once. Call this with a live workspace credential; a sandbox cannot create sandboxes. Requires the `tokens:write` scope. + * @param createSandboxRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) + * @return CreateSandboxResponse + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + + + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
+ */ + public CreateSandboxResponse sandboxesServiceCreate(@javax.annotation.Nonnull CreateSandboxRequest createSandboxRequest, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + ApiResponse localVarResp = sandboxesServiceCreateWithHttpInfo(createSandboxRequest, idempotencyKey); + return localVarResp.getData(); + } + + /** + * Create a sandbox + * Create an API-only sandbox workspace and return its first token. The token starts with `lb_test_`, holds the scopes of the credential that created it, and is shown only once. Call this with a live workspace credential; a sandbox cannot create sandboxes. Requires the `tokens:write` scope. + * @param createSandboxRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) + * @return ApiResponse<CreateSandboxResponse> + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + + + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
+ */ + public ApiResponse sandboxesServiceCreateWithHttpInfo(@javax.annotation.Nonnull CreateSandboxRequest createSandboxRequest, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + okhttp3.Call localVarCall = sandboxesServiceCreateValidateBeforeCall(createSandboxRequest, idempotencyKey, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * Create a sandbox (asynchronously) + * Create an API-only sandbox workspace and return its first token. The token starts with `lb_test_`, holds the scopes of the credential that created it, and is shown only once. Call this with a live workspace credential; a sandbox cannot create sandboxes. Requires the `tokens:write` scope. + * @param createSandboxRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) + * @param _callback The callback to be executed when the API call finishes + * @return The request call + * @throws ApiException If fail to process the API call, e.g. serializing the request body object + * @http.response.details + + + + + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
+ */ + public okhttp3.Call sandboxesServiceCreateAsync(@javax.annotation.Nonnull CreateSandboxRequest createSandboxRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = sandboxesServiceCreateValidateBeforeCall(createSandboxRequest, idempotencyKey, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } + /** + * Build call for sandboxesServiceDelete + * @param id The sandbox to delete (UUID), with everything in it. (required) + * @param _callback Callback for upload/download progress + * @return Call to execute + * @throws ApiException If fail to serialize the request body object + * @http.response.details + + + + + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
+ */ + public okhttp3.Call sandboxesServiceDeleteCall(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + String basePath = null; + // Operation Servers + String[] localBasePaths = new String[] { }; + + // Determine Base Path to Use + if (localCustomBaseUrl != null){ + basePath = localCustomBaseUrl; + } else if ( localBasePaths.length > 0 ) { + basePath = localBasePaths[localHostIndex]; + } else { + basePath = null; + } + + Object localVarPostBody = null; + + // create path and map variables + String localVarPath = "/v1/sandboxes/{id}" + .replace("{" + "id" + "}", localVarApiClient.escapeString(id.toString())); + + List localVarQueryParams = new ArrayList(); + List localVarCollectionQueryParams = new ArrayList(); + Map localVarHeaderParams = new HashMap(); + Map localVarCookieParams = new HashMap(); + Map localVarFormParams = new HashMap(); + + final String[] localVarAccepts = { + "application/json" + }; + final String localVarAccept = localVarApiClient.selectHeaderAccept(localVarAccepts); + if (localVarAccept != null) { + localVarHeaderParams.put("Accept", localVarAccept); + } + + final String[] localVarContentTypes = { + }; + final String localVarContentType = localVarApiClient.selectHeaderContentType(localVarContentTypes); + if (localVarContentType != null) { + localVarHeaderParams.put("Content-Type", localVarContentType); + } + + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; + return localVarApiClient.buildCall(basePath, localVarPath, "DELETE", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); + } + + @SuppressWarnings("rawtypes") + private okhttp3.Call sandboxesServiceDeleteValidateBeforeCall(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + // verify the required parameter 'id' is set + if (id == null) { + throw new ApiException("Missing the required parameter 'id' when calling sandboxesServiceDelete(Async)"); + } + + return sandboxesServiceDeleteCall(id, _callback); + + } + + /** + * Delete a sandbox + * Delete a sandbox workspace now, with its links, visitors, events and tokens. Sandboxes are also deleted automatically 30 days after creation. Requires the `tokens:write` scope. + * @param id The sandbox to delete (UUID), with everything in it. (required) + * @return Object + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + + + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
+ */ + public Object sandboxesServiceDelete(@javax.annotation.Nonnull String id) throws ApiException { + ApiResponse localVarResp = sandboxesServiceDeleteWithHttpInfo(id); + return localVarResp.getData(); + } + + /** + * Delete a sandbox + * Delete a sandbox workspace now, with its links, visitors, events and tokens. Sandboxes are also deleted automatically 30 days after creation. Requires the `tokens:write` scope. + * @param id The sandbox to delete (UUID), with everything in it. (required) + * @return ApiResponse<Object> + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + + + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
+ */ + public ApiResponse sandboxesServiceDeleteWithHttpInfo(@javax.annotation.Nonnull String id) throws ApiException { + okhttp3.Call localVarCall = sandboxesServiceDeleteValidateBeforeCall(id, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * Delete a sandbox (asynchronously) + * Delete a sandbox workspace now, with its links, visitors, events and tokens. Sandboxes are also deleted automatically 30 days after creation. Requires the `tokens:write` scope. + * @param id The sandbox to delete (UUID), with everything in it. (required) + * @param _callback The callback to be executed when the API call finishes + * @return The request call + * @throws ApiException If fail to process the API call, e.g. serializing the request body object + * @http.response.details + + + + + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
+ */ + public okhttp3.Call sandboxesServiceDeleteAsync(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = sandboxesServiceDeleteValidateBeforeCall(id, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } + /** + * Build call for sandboxesServiceList + * @param _callback Callback for upload/download progress + * @return Call to execute + * @throws ApiException If fail to serialize the request body object + * @http.response.details + + + + + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
+ */ + public okhttp3.Call sandboxesServiceListCall(final ApiCallback _callback) throws ApiException { + String basePath = null; + // Operation Servers + String[] localBasePaths = new String[] { }; + + // Determine Base Path to Use + if (localCustomBaseUrl != null){ + basePath = localCustomBaseUrl; + } else if ( localBasePaths.length > 0 ) { + basePath = localBasePaths[localHostIndex]; + } else { + basePath = null; + } + + Object localVarPostBody = null; + + // create path and map variables + String localVarPath = "/v1/sandboxes"; + + List localVarQueryParams = new ArrayList(); + List localVarCollectionQueryParams = new ArrayList(); + Map localVarHeaderParams = new HashMap(); + Map localVarCookieParams = new HashMap(); + Map localVarFormParams = new HashMap(); + + final String[] localVarAccepts = { + "application/json" + }; + final String localVarAccept = localVarApiClient.selectHeaderAccept(localVarAccepts); + if (localVarAccept != null) { + localVarHeaderParams.put("Accept", localVarAccept); + } + + final String[] localVarContentTypes = { + }; + final String localVarContentType = localVarApiClient.selectHeaderContentType(localVarContentTypes); + if (localVarContentType != null) { + localVarHeaderParams.put("Content-Type", localVarContentType); + } + + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; + return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); + } + + @SuppressWarnings("rawtypes") + private okhttp3.Call sandboxesServiceListValidateBeforeCall(final ApiCallback _callback) throws ApiException { + return sandboxesServiceListCall(_callback); + + } + + /** + * List sandboxes + * List the sandbox workspaces this workspace created, newest first, with when each one expires. Requires the `tokens:read` scope. + * @return ListSandboxesResponse + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + + + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
+ */ + public ListSandboxesResponse sandboxesServiceList() throws ApiException { + ApiResponse localVarResp = sandboxesServiceListWithHttpInfo(); + return localVarResp.getData(); + } + + /** + * List sandboxes + * List the sandbox workspaces this workspace created, newest first, with when each one expires. Requires the `tokens:read` scope. + * @return ApiResponse<ListSandboxesResponse> + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + + + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
+ */ + public ApiResponse sandboxesServiceListWithHttpInfo() throws ApiException { + okhttp3.Call localVarCall = sandboxesServiceListValidateBeforeCall(null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * List sandboxes (asynchronously) + * List the sandbox workspaces this workspace created, newest first, with when each one expires. Requires the `tokens:read` scope. + * @param _callback The callback to be executed when the API call finishes + * @return The request call + * @throws ApiException If fail to process the API call, e.g. serializing the request body object + * @http.response.details + + + + + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
+ */ + public okhttp3.Call sandboxesServiceListAsync(final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = sandboxesServiceListValidateBeforeCall(_callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } +} diff --git a/src/main/java/com/linkbreakers/api/SlackIntegrationsApi.java b/src/main/java/com/linkbreakers/api/SlackIntegrationsApi.java index 2778ec77e..a6e612515 100644 --- a/src/main/java/com/linkbreakers/api/SlackIntegrationsApi.java +++ b/src/main/java/com/linkbreakers/api/SlackIntegrationsApi.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -83,6 +83,7 @@ public void setCustomBaseUrl(String customBaseUrl) { /** * Build call for slackIntegrationsServiceCompleteOAuth * @param completeSlackOAuthRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @param _callback Callback for upload/download progress * @return Call to execute * @throws ApiException If fail to serialize the request body object @@ -90,11 +91,12 @@ public void setCustomBaseUrl(String customBaseUrl) { - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call slackIntegrationsServiceCompleteOAuthCall(@javax.annotation.Nonnull CompleteSlackOAuthRequest completeSlackOAuthRequest, final ApiCallback _callback) throws ApiException { + public okhttp3.Call slackIntegrationsServiceCompleteOAuthCall(@javax.annotation.Nonnull CompleteSlackOAuthRequest completeSlackOAuthRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -135,64 +137,74 @@ public okhttp3.Call slackIntegrationsServiceCompleteOAuthCall(@javax.annotation. localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + if (idempotencyKey != null) { + localVarHeaderParams.put("Idempotency-Key", localVarApiClient.parameterToString(idempotencyKey)); + } + + + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; return localVarApiClient.buildCall(basePath, localVarPath, "POST", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @SuppressWarnings("rawtypes") - private okhttp3.Call slackIntegrationsServiceCompleteOAuthValidateBeforeCall(@javax.annotation.Nonnull CompleteSlackOAuthRequest completeSlackOAuthRequest, final ApiCallback _callback) throws ApiException { + private okhttp3.Call slackIntegrationsServiceCompleteOAuthValidateBeforeCall(@javax.annotation.Nonnull CompleteSlackOAuthRequest completeSlackOAuthRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { // verify the required parameter 'completeSlackOAuthRequest' is set if (completeSlackOAuthRequest == null) { throw new ApiException("Missing the required parameter 'completeSlackOAuthRequest' when calling slackIntegrationsServiceCompleteOAuth(Async)"); } - return slackIntegrationsServiceCompleteOAuthCall(completeSlackOAuthRequest, _callback); + return slackIntegrationsServiceCompleteOAuthCall(completeSlackOAuthRequest, idempotencyKey, _callback); } /** * Complete Slack OAuth - * Exchanges the Slack authorization code for a bot token and creates the workspace integration. + * Exchanges the Slack authorization code for a bot token and creates the workspace integration. Requires the `integrations:write` scope. * @param completeSlackOAuthRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return CompleteSlackOAuthResponse * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public CompleteSlackOAuthResponse slackIntegrationsServiceCompleteOAuth(@javax.annotation.Nonnull CompleteSlackOAuthRequest completeSlackOAuthRequest) throws ApiException { - ApiResponse localVarResp = slackIntegrationsServiceCompleteOAuthWithHttpInfo(completeSlackOAuthRequest); + public CompleteSlackOAuthResponse slackIntegrationsServiceCompleteOAuth(@javax.annotation.Nonnull CompleteSlackOAuthRequest completeSlackOAuthRequest, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + ApiResponse localVarResp = slackIntegrationsServiceCompleteOAuthWithHttpInfo(completeSlackOAuthRequest, idempotencyKey); return localVarResp.getData(); } /** * Complete Slack OAuth - * Exchanges the Slack authorization code for a bot token and creates the workspace integration. + * Exchanges the Slack authorization code for a bot token and creates the workspace integration. Requires the `integrations:write` scope. * @param completeSlackOAuthRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return ApiResponse<CompleteSlackOAuthResponse> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public ApiResponse slackIntegrationsServiceCompleteOAuthWithHttpInfo(@javax.annotation.Nonnull CompleteSlackOAuthRequest completeSlackOAuthRequest) throws ApiException { - okhttp3.Call localVarCall = slackIntegrationsServiceCompleteOAuthValidateBeforeCall(completeSlackOAuthRequest, null); + public ApiResponse slackIntegrationsServiceCompleteOAuthWithHttpInfo(@javax.annotation.Nonnull CompleteSlackOAuthRequest completeSlackOAuthRequest, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + okhttp3.Call localVarCall = slackIntegrationsServiceCompleteOAuthValidateBeforeCall(completeSlackOAuthRequest, idempotencyKey, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); } /** * Complete Slack OAuth (asynchronously) - * Exchanges the Slack authorization code for a bot token and creates the workspace integration. + * Exchanges the Slack authorization code for a bot token and creates the workspace integration. Requires the `integrations:write` scope. * @param completeSlackOAuthRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @param _callback The callback to be executed when the API call finishes * @return The request call * @throws ApiException If fail to process the API call, e.g. serializing the request body object @@ -200,13 +212,14 @@ public ApiResponse slackIntegrationsServiceCompleteO - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call slackIntegrationsServiceCompleteOAuthAsync(@javax.annotation.Nonnull CompleteSlackOAuthRequest completeSlackOAuthRequest, final ApiCallback _callback) throws ApiException { + public okhttp3.Call slackIntegrationsServiceCompleteOAuthAsync(@javax.annotation.Nonnull CompleteSlackOAuthRequest completeSlackOAuthRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { - okhttp3.Call localVarCall = slackIntegrationsServiceCompleteOAuthValidateBeforeCall(completeSlackOAuthRequest, _callback); + okhttp3.Call localVarCall = slackIntegrationsServiceCompleteOAuthValidateBeforeCall(completeSlackOAuthRequest, idempotencyKey, _callback); Type localVarReturnType = new TypeToken(){}.getType(); localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); return localVarCall; @@ -220,8 +233,9 @@ public okhttp3.Call slackIntegrationsServiceCompleteOAuthAsync(@javax.annotation - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public okhttp3.Call slackIntegrationsServiceDeleteCall(final ApiCallback _callback) throws ApiException { @@ -264,7 +278,7 @@ public okhttp3.Call slackIntegrationsServiceDeleteCall(final ApiCallback _callba localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; return localVarApiClient.buildCall(basePath, localVarPath, "DELETE", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @@ -276,15 +290,16 @@ private okhttp3.Call slackIntegrationsServiceDeleteValidateBeforeCall(final ApiC /** * Disconnect Slack integration - * Disconnect and remove the Slack integration from the workspace. + * Disconnect and remove the Slack integration from the workspace. Requires the `integrations:write` scope. * @return Object * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public Object slackIntegrationsServiceDelete() throws ApiException { @@ -294,15 +309,16 @@ public Object slackIntegrationsServiceDelete() throws ApiException { /** * Disconnect Slack integration - * Disconnect and remove the Slack integration from the workspace. + * Disconnect and remove the Slack integration from the workspace. Requires the `integrations:write` scope. * @return ApiResponse<Object> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public ApiResponse slackIntegrationsServiceDeleteWithHttpInfo() throws ApiException { @@ -313,7 +329,7 @@ public ApiResponse slackIntegrationsServiceDeleteWithHttpInfo() throws A /** * Disconnect Slack integration (asynchronously) - * Disconnect and remove the Slack integration from the workspace. + * Disconnect and remove the Slack integration from the workspace. Requires the `integrations:write` scope. * @param _callback The callback to be executed when the API call finishes * @return The request call * @throws ApiException If fail to process the API call, e.g. serializing the request body object @@ -321,8 +337,9 @@ public ApiResponse slackIntegrationsServiceDeleteWithHttpInfo() throws A - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public okhttp3.Call slackIntegrationsServiceDeleteAsync(final ApiCallback _callback) throws ApiException { @@ -341,8 +358,9 @@ public okhttp3.Call slackIntegrationsServiceDeleteAsync(final ApiCallback Response Details Status Code Description Response Headers - 200 Everything worked as expected. - - 0 Unexpected error - + 200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
+ 429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
+ 0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public okhttp3.Call slackIntegrationsServiceGetCall(final ApiCallback _callback) throws ApiException { @@ -385,7 +403,7 @@ public okhttp3.Call slackIntegrationsServiceGetCall(final ApiCallback _callback) localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @@ -397,15 +415,16 @@ private okhttp3.Call slackIntegrationsServiceGetValidateBeforeCall(final ApiCall /** * Get Slack integration - * Retrieve the Slack integration configuration for the workspace. + * Retrieve the Slack integration configuration for the workspace. Requires the `integrations:read` scope. * @return GetSlackIntegrationResponse * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public GetSlackIntegrationResponse slackIntegrationsServiceGet() throws ApiException { @@ -415,15 +434,16 @@ public GetSlackIntegrationResponse slackIntegrationsServiceGet() throws ApiExcep /** * Get Slack integration - * Retrieve the Slack integration configuration for the workspace. + * Retrieve the Slack integration configuration for the workspace. Requires the `integrations:read` scope. * @return ApiResponse<GetSlackIntegrationResponse> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public ApiResponse slackIntegrationsServiceGetWithHttpInfo() throws ApiException { @@ -434,7 +454,7 @@ public ApiResponse slackIntegrationsServiceGetWithH /** * Get Slack integration (asynchronously) - * Retrieve the Slack integration configuration for the workspace. + * Retrieve the Slack integration configuration for the workspace. Requires the `integrations:read` scope. * @param _callback The callback to be executed when the API call finishes * @return The request call * @throws ApiException If fail to process the API call, e.g. serializing the request body object @@ -442,8 +462,9 @@ public ApiResponse slackIntegrationsServiceGetWithH - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public okhttp3.Call slackIntegrationsServiceGetAsync(final ApiCallback _callback) throws ApiException { @@ -462,8 +483,9 @@ public okhttp3.Call slackIntegrationsServiceGetAsync(final ApiCallback Response Details Status Code Description Response Headers - 200 Everything worked as expected. - - 0 Unexpected error - + 200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
+ 429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
+ 0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public okhttp3.Call slackIntegrationsServiceGetOAuthURLCall(final ApiCallback _callback) throws ApiException { @@ -506,7 +528,7 @@ public okhttp3.Call slackIntegrationsServiceGetOAuthURLCall(final ApiCallback _c localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @@ -518,15 +540,16 @@ private okhttp3.Call slackIntegrationsServiceGetOAuthURLValidateBeforeCall(final /** * Get Slack OAuth URL - * Returns the Slack OAuth authorization URL to initiate the Add to Slack flow. + * Returns the Slack OAuth authorization URL to initiate the Add to Slack flow. Requires the `integrations:write` scope. * @return GetSlackOAuthURLResponse * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public GetSlackOAuthURLResponse slackIntegrationsServiceGetOAuthURL() throws ApiException { @@ -536,15 +559,16 @@ public GetSlackOAuthURLResponse slackIntegrationsServiceGetOAuthURL() throws Api /** * Get Slack OAuth URL - * Returns the Slack OAuth authorization URL to initiate the Add to Slack flow. + * Returns the Slack OAuth authorization URL to initiate the Add to Slack flow. Requires the `integrations:write` scope. * @return ApiResponse<GetSlackOAuthURLResponse> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public ApiResponse slackIntegrationsServiceGetOAuthURLWithHttpInfo() throws ApiException { @@ -555,7 +579,7 @@ public ApiResponse slackIntegrationsServiceGetOAuthURL /** * Get Slack OAuth URL (asynchronously) - * Returns the Slack OAuth authorization URL to initiate the Add to Slack flow. + * Returns the Slack OAuth authorization URL to initiate the Add to Slack flow. Requires the `integrations:write` scope. * @param _callback The callback to be executed when the API call finishes * @return The request call * @throws ApiException If fail to process the API call, e.g. serializing the request body object @@ -563,8 +587,9 @@ public ApiResponse slackIntegrationsServiceGetOAuthURL - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public okhttp3.Call slackIntegrationsServiceGetOAuthURLAsync(final ApiCallback _callback) throws ApiException { @@ -583,8 +608,9 @@ public okhttp3.Call slackIntegrationsServiceGetOAuthURLAsync(final ApiCallback Response Details Status Code Description Response Headers - 200 Everything worked as expected. - - 0 Unexpected error - + 200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
+ 429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
+ 0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public okhttp3.Call slackIntegrationsServiceListChannelsCall(final ApiCallback _callback) throws ApiException { @@ -627,7 +653,7 @@ public okhttp3.Call slackIntegrationsServiceListChannelsCall(final ApiCallback _ localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @@ -639,15 +665,16 @@ private okhttp3.Call slackIntegrationsServiceListChannelsValidateBeforeCall(fina /** * List Slack channels - * List available Slack channels the bot can send notifications to. + * List available Slack channels the bot can send notifications to. Requires the `integrations:read` scope. * @return ListSlackChannelsResponse * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public ListSlackChannelsResponse slackIntegrationsServiceListChannels() throws ApiException { @@ -657,15 +684,16 @@ public ListSlackChannelsResponse slackIntegrationsServiceListChannels() throws A /** * List Slack channels - * List available Slack channels the bot can send notifications to. + * List available Slack channels the bot can send notifications to. Requires the `integrations:read` scope. * @return ApiResponse<ListSlackChannelsResponse> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public ApiResponse slackIntegrationsServiceListChannelsWithHttpInfo() throws ApiException { @@ -676,7 +704,7 @@ public ApiResponse slackIntegrationsServiceListChanne /** * List Slack channels (asynchronously) - * List available Slack channels the bot can send notifications to. + * List available Slack channels the bot can send notifications to. Requires the `integrations:read` scope. * @param _callback The callback to be executed when the API call finishes * @return The request call * @throws ApiException If fail to process the API call, e.g. serializing the request body object @@ -684,8 +712,9 @@ public ApiResponse slackIntegrationsServiceListChanne - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public okhttp3.Call slackIntegrationsServiceListChannelsAsync(final ApiCallback _callback) throws ApiException { @@ -698,6 +727,7 @@ public okhttp3.Call slackIntegrationsServiceListChannelsAsync(final ApiCallback< /** * Build call for slackIntegrationsServiceTest * @param body (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @param _callback Callback for upload/download progress * @return Call to execute * @throws ApiException If fail to serialize the request body object @@ -705,11 +735,12 @@ public okhttp3.Call slackIntegrationsServiceListChannelsAsync(final ApiCallback< - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call slackIntegrationsServiceTestCall(@javax.annotation.Nonnull Object body, final ApiCallback _callback) throws ApiException { + public okhttp3.Call slackIntegrationsServiceTestCall(@javax.annotation.Nonnull Object body, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -750,64 +781,74 @@ public okhttp3.Call slackIntegrationsServiceTestCall(@javax.annotation.Nonnull O localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + if (idempotencyKey != null) { + localVarHeaderParams.put("Idempotency-Key", localVarApiClient.parameterToString(idempotencyKey)); + } + + + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; return localVarApiClient.buildCall(basePath, localVarPath, "POST", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @SuppressWarnings("rawtypes") - private okhttp3.Call slackIntegrationsServiceTestValidateBeforeCall(@javax.annotation.Nonnull Object body, final ApiCallback _callback) throws ApiException { + private okhttp3.Call slackIntegrationsServiceTestValidateBeforeCall(@javax.annotation.Nonnull Object body, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { // verify the required parameter 'body' is set if (body == null) { throw new ApiException("Missing the required parameter 'body' when calling slackIntegrationsServiceTest(Async)"); } - return slackIntegrationsServiceTestCall(body, _callback); + return slackIntegrationsServiceTestCall(body, idempotencyKey, _callback); } /** * Test Slack integration - * Send a test notification to verify the Slack integration is working. + * Send a test notification to verify the Slack integration is working. Requires the `integrations:write` scope. * @param body (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return TestSlackIntegrationResponse * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public TestSlackIntegrationResponse slackIntegrationsServiceTest(@javax.annotation.Nonnull Object body) throws ApiException { - ApiResponse localVarResp = slackIntegrationsServiceTestWithHttpInfo(body); + public TestSlackIntegrationResponse slackIntegrationsServiceTest(@javax.annotation.Nonnull Object body, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + ApiResponse localVarResp = slackIntegrationsServiceTestWithHttpInfo(body, idempotencyKey); return localVarResp.getData(); } /** * Test Slack integration - * Send a test notification to verify the Slack integration is working. + * Send a test notification to verify the Slack integration is working. Requires the `integrations:write` scope. * @param body (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return ApiResponse<TestSlackIntegrationResponse> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public ApiResponse slackIntegrationsServiceTestWithHttpInfo(@javax.annotation.Nonnull Object body) throws ApiException { - okhttp3.Call localVarCall = slackIntegrationsServiceTestValidateBeforeCall(body, null); + public ApiResponse slackIntegrationsServiceTestWithHttpInfo(@javax.annotation.Nonnull Object body, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + okhttp3.Call localVarCall = slackIntegrationsServiceTestValidateBeforeCall(body, idempotencyKey, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); } /** * Test Slack integration (asynchronously) - * Send a test notification to verify the Slack integration is working. + * Send a test notification to verify the Slack integration is working. Requires the `integrations:write` scope. * @param body (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @param _callback The callback to be executed when the API call finishes * @return The request call * @throws ApiException If fail to process the API call, e.g. serializing the request body object @@ -815,13 +856,14 @@ public ApiResponse slackIntegrationsServiceTestWit - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call slackIntegrationsServiceTestAsync(@javax.annotation.Nonnull Object body, final ApiCallback _callback) throws ApiException { + public okhttp3.Call slackIntegrationsServiceTestAsync(@javax.annotation.Nonnull Object body, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { - okhttp3.Call localVarCall = slackIntegrationsServiceTestValidateBeforeCall(body, _callback); + okhttp3.Call localVarCall = slackIntegrationsServiceTestValidateBeforeCall(body, idempotencyKey, _callback); Type localVarReturnType = new TypeToken(){}.getType(); localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); return localVarCall; @@ -829,6 +871,7 @@ public okhttp3.Call slackIntegrationsServiceTestAsync(@javax.annotation.Nonnull /** * Build call for slackIntegrationsServiceUpdate * @param updateSlackIntegrationRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @param _callback Callback for upload/download progress * @return Call to execute * @throws ApiException If fail to serialize the request body object @@ -836,11 +879,12 @@ public okhttp3.Call slackIntegrationsServiceTestAsync(@javax.annotation.Nonnull - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call slackIntegrationsServiceUpdateCall(@javax.annotation.Nonnull UpdateSlackIntegrationRequest updateSlackIntegrationRequest, final ApiCallback _callback) throws ApiException { + public okhttp3.Call slackIntegrationsServiceUpdateCall(@javax.annotation.Nonnull UpdateSlackIntegrationRequest updateSlackIntegrationRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -881,64 +925,74 @@ public okhttp3.Call slackIntegrationsServiceUpdateCall(@javax.annotation.Nonnull localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + if (idempotencyKey != null) { + localVarHeaderParams.put("Idempotency-Key", localVarApiClient.parameterToString(idempotencyKey)); + } + + + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; return localVarApiClient.buildCall(basePath, localVarPath, "PATCH", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @SuppressWarnings("rawtypes") - private okhttp3.Call slackIntegrationsServiceUpdateValidateBeforeCall(@javax.annotation.Nonnull UpdateSlackIntegrationRequest updateSlackIntegrationRequest, final ApiCallback _callback) throws ApiException { + private okhttp3.Call slackIntegrationsServiceUpdateValidateBeforeCall(@javax.annotation.Nonnull UpdateSlackIntegrationRequest updateSlackIntegrationRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { // verify the required parameter 'updateSlackIntegrationRequest' is set if (updateSlackIntegrationRequest == null) { throw new ApiException("Missing the required parameter 'updateSlackIntegrationRequest' when calling slackIntegrationsServiceUpdate(Async)"); } - return slackIntegrationsServiceUpdateCall(updateSlackIntegrationRequest, _callback); + return slackIntegrationsServiceUpdateCall(updateSlackIntegrationRequest, idempotencyKey, _callback); } /** * Update Slack integration - * Update the Slack integration configuration (channel, triggers, status). + * Update the Slack integration configuration (channel, triggers, status). Requires the `integrations:write` scope. * @param updateSlackIntegrationRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return UpdateSlackIntegrationResponse * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public UpdateSlackIntegrationResponse slackIntegrationsServiceUpdate(@javax.annotation.Nonnull UpdateSlackIntegrationRequest updateSlackIntegrationRequest) throws ApiException { - ApiResponse localVarResp = slackIntegrationsServiceUpdateWithHttpInfo(updateSlackIntegrationRequest); + public UpdateSlackIntegrationResponse slackIntegrationsServiceUpdate(@javax.annotation.Nonnull UpdateSlackIntegrationRequest updateSlackIntegrationRequest, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + ApiResponse localVarResp = slackIntegrationsServiceUpdateWithHttpInfo(updateSlackIntegrationRequest, idempotencyKey); return localVarResp.getData(); } /** * Update Slack integration - * Update the Slack integration configuration (channel, triggers, status). + * Update the Slack integration configuration (channel, triggers, status). Requires the `integrations:write` scope. * @param updateSlackIntegrationRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return ApiResponse<UpdateSlackIntegrationResponse> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public ApiResponse slackIntegrationsServiceUpdateWithHttpInfo(@javax.annotation.Nonnull UpdateSlackIntegrationRequest updateSlackIntegrationRequest) throws ApiException { - okhttp3.Call localVarCall = slackIntegrationsServiceUpdateValidateBeforeCall(updateSlackIntegrationRequest, null); + public ApiResponse slackIntegrationsServiceUpdateWithHttpInfo(@javax.annotation.Nonnull UpdateSlackIntegrationRequest updateSlackIntegrationRequest, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + okhttp3.Call localVarCall = slackIntegrationsServiceUpdateValidateBeforeCall(updateSlackIntegrationRequest, idempotencyKey, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); } /** * Update Slack integration (asynchronously) - * Update the Slack integration configuration (channel, triggers, status). + * Update the Slack integration configuration (channel, triggers, status). Requires the `integrations:write` scope. * @param updateSlackIntegrationRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @param _callback The callback to be executed when the API call finishes * @return The request call * @throws ApiException If fail to process the API call, e.g. serializing the request body object @@ -946,13 +1000,14 @@ public ApiResponse slackIntegrationsServiceUpdat - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call slackIntegrationsServiceUpdateAsync(@javax.annotation.Nonnull UpdateSlackIntegrationRequest updateSlackIntegrationRequest, final ApiCallback _callback) throws ApiException { + public okhttp3.Call slackIntegrationsServiceUpdateAsync(@javax.annotation.Nonnull UpdateSlackIntegrationRequest updateSlackIntegrationRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { - okhttp3.Call localVarCall = slackIntegrationsServiceUpdateValidateBeforeCall(updateSlackIntegrationRequest, _callback); + okhttp3.Call localVarCall = slackIntegrationsServiceUpdateValidateBeforeCall(updateSlackIntegrationRequest, idempotencyKey, _callback); Type localVarReturnType = new TypeToken(){}.getType(); localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); return localVarCall; diff --git a/src/main/java/com/linkbreakers/api/TagsApi.java b/src/main/java/com/linkbreakers/api/TagsApi.java index 267c82fc8..0f06befc9 100644 --- a/src/main/java/com/linkbreakers/api/TagsApi.java +++ b/src/main/java/com/linkbreakers/api/TagsApi.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -83,8 +83,9 @@ public void setCustomBaseUrl(String customBaseUrl) { - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public okhttp3.Call tagsServiceDeleteCall(@javax.annotation.Nonnull String name, final ApiCallback _callback) throws ApiException { @@ -131,7 +132,7 @@ public okhttp3.Call tagsServiceDeleteCall(@javax.annotation.Nonnull String name, localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; return localVarApiClient.buildCall(basePath, localVarPath, "DELETE", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @@ -148,7 +149,7 @@ private okhttp3.Call tagsServiceDeleteValidateBeforeCall(@javax.annotation.Nonnu /** * Delete tags - * Remove a tag by name so it no longer appears for links or analytics filters. + * Remove a tag by name so it no longer appears for links or analytics filters. Requires the `links:write` scope. * @param name Tag name to remove (must exactly match an existing tag within the workspace) (required) * @return Object * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body @@ -156,8 +157,9 @@ private okhttp3.Call tagsServiceDeleteValidateBeforeCall(@javax.annotation.Nonnu - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public Object tagsServiceDelete(@javax.annotation.Nonnull String name) throws ApiException { @@ -167,7 +169,7 @@ public Object tagsServiceDelete(@javax.annotation.Nonnull String name) throws Ap /** * Delete tags - * Remove a tag by name so it no longer appears for links or analytics filters. + * Remove a tag by name so it no longer appears for links or analytics filters. Requires the `links:write` scope. * @param name Tag name to remove (must exactly match an existing tag within the workspace) (required) * @return ApiResponse<Object> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body @@ -175,8 +177,9 @@ public Object tagsServiceDelete(@javax.annotation.Nonnull String name) throws Ap - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public ApiResponse tagsServiceDeleteWithHttpInfo(@javax.annotation.Nonnull String name) throws ApiException { @@ -187,7 +190,7 @@ public ApiResponse tagsServiceDeleteWithHttpInfo(@javax.annotation.Nonnu /** * Delete tags (asynchronously) - * Remove a tag by name so it no longer appears for links or analytics filters. + * Remove a tag by name so it no longer appears for links or analytics filters. Requires the `links:write` scope. * @param name Tag name to remove (must exactly match an existing tag within the workspace) (required) * @param _callback The callback to be executed when the API call finishes * @return The request call @@ -196,8 +199,9 @@ public ApiResponse tagsServiceDeleteWithHttpInfo(@javax.annotation.Nonnu - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public okhttp3.Call tagsServiceDeleteAsync(@javax.annotation.Nonnull String name, final ApiCallback _callback) throws ApiException { @@ -212,6 +216,7 @@ public okhttp3.Call tagsServiceDeleteAsync(@javax.annotation.Nonnull String name * @param pageSize The maximum number of tags to return (required) * @param search The search query to filter tags by name (optional) * @param pageToken The token for retrieving the next page of results If not provided, the first page of results will be returned (optional) + * @param cursor Opaque cursor from the previous page's nextPageToken. Same as pageToken; when both are sent, pageToken wins. (optional) * @param _callback Callback for upload/download progress * @return Call to execute * @throws ApiException If fail to serialize the request body object @@ -219,11 +224,12 @@ public okhttp3.Call tagsServiceDeleteAsync(@javax.annotation.Nonnull String name - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call tagsServiceListCall(@javax.annotation.Nonnull Long pageSize, @javax.annotation.Nullable String search, @javax.annotation.Nullable String pageToken, final ApiCallback _callback) throws ApiException { + public okhttp3.Call tagsServiceListCall(@javax.annotation.Nonnull Long pageSize, @javax.annotation.Nullable String search, @javax.annotation.Nullable String pageToken, @javax.annotation.Nullable String cursor, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -260,6 +266,10 @@ public okhttp3.Call tagsServiceListCall(@javax.annotation.Nonnull Long pageSize, localVarQueryParams.addAll(localVarApiClient.parameterToPair("pageToken", pageToken)); } + if (cursor != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("cursor", cursor)); + } + final String[] localVarAccepts = { "application/json" }; @@ -275,70 +285,75 @@ public okhttp3.Call tagsServiceListCall(@javax.annotation.Nonnull Long pageSize, localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @SuppressWarnings("rawtypes") - private okhttp3.Call tagsServiceListValidateBeforeCall(@javax.annotation.Nonnull Long pageSize, @javax.annotation.Nullable String search, @javax.annotation.Nullable String pageToken, final ApiCallback _callback) throws ApiException { + private okhttp3.Call tagsServiceListValidateBeforeCall(@javax.annotation.Nonnull Long pageSize, @javax.annotation.Nullable String search, @javax.annotation.Nullable String pageToken, @javax.annotation.Nullable String cursor, final ApiCallback _callback) throws ApiException { // verify the required parameter 'pageSize' is set if (pageSize == null) { throw new ApiException("Missing the required parameter 'pageSize' when calling tagsServiceList(Async)"); } - return tagsServiceListCall(pageSize, search, pageToken, _callback); + return tagsServiceListCall(pageSize, search, pageToken, cursor, _callback); } /** * List tags - * Search workspace tags by name and paginate through matching results. + * Search workspace tags by name and paginate through matching results. Requires the `links:read` scope. * @param pageSize The maximum number of tags to return (required) * @param search The search query to filter tags by name (optional) * @param pageToken The token for retrieving the next page of results If not provided, the first page of results will be returned (optional) + * @param cursor Opaque cursor from the previous page's nextPageToken. Same as pageToken; when both are sent, pageToken wins. (optional) * @return ListTagsResponse * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public ListTagsResponse tagsServiceList(@javax.annotation.Nonnull Long pageSize, @javax.annotation.Nullable String search, @javax.annotation.Nullable String pageToken) throws ApiException { - ApiResponse localVarResp = tagsServiceListWithHttpInfo(pageSize, search, pageToken); + public ListTagsResponse tagsServiceList(@javax.annotation.Nonnull Long pageSize, @javax.annotation.Nullable String search, @javax.annotation.Nullable String pageToken, @javax.annotation.Nullable String cursor) throws ApiException { + ApiResponse localVarResp = tagsServiceListWithHttpInfo(pageSize, search, pageToken, cursor); return localVarResp.getData(); } /** * List tags - * Search workspace tags by name and paginate through matching results. + * Search workspace tags by name and paginate through matching results. Requires the `links:read` scope. * @param pageSize The maximum number of tags to return (required) * @param search The search query to filter tags by name (optional) * @param pageToken The token for retrieving the next page of results If not provided, the first page of results will be returned (optional) + * @param cursor Opaque cursor from the previous page's nextPageToken. Same as pageToken; when both are sent, pageToken wins. (optional) * @return ApiResponse<ListTagsResponse> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public ApiResponse tagsServiceListWithHttpInfo(@javax.annotation.Nonnull Long pageSize, @javax.annotation.Nullable String search, @javax.annotation.Nullable String pageToken) throws ApiException { - okhttp3.Call localVarCall = tagsServiceListValidateBeforeCall(pageSize, search, pageToken, null); + public ApiResponse tagsServiceListWithHttpInfo(@javax.annotation.Nonnull Long pageSize, @javax.annotation.Nullable String search, @javax.annotation.Nullable String pageToken, @javax.annotation.Nullable String cursor) throws ApiException { + okhttp3.Call localVarCall = tagsServiceListValidateBeforeCall(pageSize, search, pageToken, cursor, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); } /** * List tags (asynchronously) - * Search workspace tags by name and paginate through matching results. + * Search workspace tags by name and paginate through matching results. Requires the `links:read` scope. * @param pageSize The maximum number of tags to return (required) * @param search The search query to filter tags by name (optional) * @param pageToken The token for retrieving the next page of results If not provided, the first page of results will be returned (optional) + * @param cursor Opaque cursor from the previous page's nextPageToken. Same as pageToken; when both are sent, pageToken wins. (optional) * @param _callback The callback to be executed when the API call finishes * @return The request call * @throws ApiException If fail to process the API call, e.g. serializing the request body object @@ -346,13 +361,14 @@ public ApiResponse tagsServiceListWithHttpInfo(@javax.annotati - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call tagsServiceListAsync(@javax.annotation.Nonnull Long pageSize, @javax.annotation.Nullable String search, @javax.annotation.Nullable String pageToken, final ApiCallback _callback) throws ApiException { + public okhttp3.Call tagsServiceListAsync(@javax.annotation.Nonnull Long pageSize, @javax.annotation.Nullable String search, @javax.annotation.Nullable String pageToken, @javax.annotation.Nullable String cursor, final ApiCallback _callback) throws ApiException { - okhttp3.Call localVarCall = tagsServiceListValidateBeforeCall(pageSize, search, pageToken, _callback); + okhttp3.Call localVarCall = tagsServiceListValidateBeforeCall(pageSize, search, pageToken, cursor, _callback); Type localVarReturnType = new TypeToken(){}.getType(); localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); return localVarCall; diff --git a/src/main/java/com/linkbreakers/api/TimeSeriesApi.java b/src/main/java/com/linkbreakers/api/TimeSeriesApi.java index e33dc7b7e..d5d4ee982 100644 --- a/src/main/java/com/linkbreakers/api/TimeSeriesApi.java +++ b/src/main/java/com/linkbreakers/api/TimeSeriesApi.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -77,6 +77,7 @@ public void setCustomBaseUrl(String customBaseUrl) { /** * Build call for timeSeriesServiceGetEventsTimeSeries * @param getEventsTimeSeriesRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @param _callback Callback for upload/download progress * @return Call to execute * @throws ApiException If fail to serialize the request body object @@ -84,11 +85,12 @@ public void setCustomBaseUrl(String customBaseUrl) { - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call timeSeriesServiceGetEventsTimeSeriesCall(@javax.annotation.Nonnull GetEventsTimeSeriesRequest getEventsTimeSeriesRequest, final ApiCallback _callback) throws ApiException { + public okhttp3.Call timeSeriesServiceGetEventsTimeSeriesCall(@javax.annotation.Nonnull GetEventsTimeSeriesRequest getEventsTimeSeriesRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -129,64 +131,74 @@ public okhttp3.Call timeSeriesServiceGetEventsTimeSeriesCall(@javax.annotation.N localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + if (idempotencyKey != null) { + localVarHeaderParams.put("Idempotency-Key", localVarApiClient.parameterToString(idempotencyKey)); + } + + + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; return localVarApiClient.buildCall(basePath, localVarPath, "POST", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @SuppressWarnings("rawtypes") - private okhttp3.Call timeSeriesServiceGetEventsTimeSeriesValidateBeforeCall(@javax.annotation.Nonnull GetEventsTimeSeriesRequest getEventsTimeSeriesRequest, final ApiCallback _callback) throws ApiException { + private okhttp3.Call timeSeriesServiceGetEventsTimeSeriesValidateBeforeCall(@javax.annotation.Nonnull GetEventsTimeSeriesRequest getEventsTimeSeriesRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { // verify the required parameter 'getEventsTimeSeriesRequest' is set if (getEventsTimeSeriesRequest == null) { throw new ApiException("Missing the required parameter 'getEventsTimeSeriesRequest' when calling timeSeriesServiceGetEventsTimeSeries(Async)"); } - return timeSeriesServiceGetEventsTimeSeriesCall(getEventsTimeSeriesRequest, _callback); + return timeSeriesServiceGetEventsTimeSeriesCall(getEventsTimeSeriesRequest, idempotencyKey, _callback); } /** * Get events time series - * + * Requires the `analytics:read` scope. * @param getEventsTimeSeriesRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return GetEventsTimeSeriesResponse * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public GetEventsTimeSeriesResponse timeSeriesServiceGetEventsTimeSeries(@javax.annotation.Nonnull GetEventsTimeSeriesRequest getEventsTimeSeriesRequest) throws ApiException { - ApiResponse localVarResp = timeSeriesServiceGetEventsTimeSeriesWithHttpInfo(getEventsTimeSeriesRequest); + public GetEventsTimeSeriesResponse timeSeriesServiceGetEventsTimeSeries(@javax.annotation.Nonnull GetEventsTimeSeriesRequest getEventsTimeSeriesRequest, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + ApiResponse localVarResp = timeSeriesServiceGetEventsTimeSeriesWithHttpInfo(getEventsTimeSeriesRequest, idempotencyKey); return localVarResp.getData(); } /** * Get events time series - * + * Requires the `analytics:read` scope. * @param getEventsTimeSeriesRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return ApiResponse<GetEventsTimeSeriesResponse> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public ApiResponse timeSeriesServiceGetEventsTimeSeriesWithHttpInfo(@javax.annotation.Nonnull GetEventsTimeSeriesRequest getEventsTimeSeriesRequest) throws ApiException { - okhttp3.Call localVarCall = timeSeriesServiceGetEventsTimeSeriesValidateBeforeCall(getEventsTimeSeriesRequest, null); + public ApiResponse timeSeriesServiceGetEventsTimeSeriesWithHttpInfo(@javax.annotation.Nonnull GetEventsTimeSeriesRequest getEventsTimeSeriesRequest, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + okhttp3.Call localVarCall = timeSeriesServiceGetEventsTimeSeriesValidateBeforeCall(getEventsTimeSeriesRequest, idempotencyKey, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); } /** * Get events time series (asynchronously) - * + * Requires the `analytics:read` scope. * @param getEventsTimeSeriesRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @param _callback The callback to be executed when the API call finishes * @return The request call * @throws ApiException If fail to process the API call, e.g. serializing the request body object @@ -194,13 +206,14 @@ public ApiResponse timeSeriesServiceGetEventsTimeSe - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call timeSeriesServiceGetEventsTimeSeriesAsync(@javax.annotation.Nonnull GetEventsTimeSeriesRequest getEventsTimeSeriesRequest, final ApiCallback _callback) throws ApiException { + public okhttp3.Call timeSeriesServiceGetEventsTimeSeriesAsync(@javax.annotation.Nonnull GetEventsTimeSeriesRequest getEventsTimeSeriesRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { - okhttp3.Call localVarCall = timeSeriesServiceGetEventsTimeSeriesValidateBeforeCall(getEventsTimeSeriesRequest, _callback); + okhttp3.Call localVarCall = timeSeriesServiceGetEventsTimeSeriesValidateBeforeCall(getEventsTimeSeriesRequest, idempotencyKey, _callback); Type localVarReturnType = new TypeToken(){}.getType(); localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); return localVarCall; diff --git a/src/main/java/com/linkbreakers/api/VisitorsApi.java b/src/main/java/com/linkbreakers/api/VisitorsApi.java index 86bb14cda..e7c6da9f7 100644 --- a/src/main/java/com/linkbreakers/api/VisitorsApi.java +++ b/src/main/java/com/linkbreakers/api/VisitorsApi.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -91,8 +91,9 @@ public void setCustomBaseUrl(String customBaseUrl) { - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public okhttp3.Call visitorsServiceDeleteCall(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { @@ -136,7 +137,7 @@ public okhttp3.Call visitorsServiceDeleteCall(@javax.annotation.Nonnull String i localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; return localVarApiClient.buildCall(basePath, localVarPath, "DELETE", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @@ -153,7 +154,7 @@ private okhttp3.Call visitorsServiceDeleteValidateBeforeCall(@javax.annotation.N /** * Delete a visitor - * Removes a visitor profile and its stored attributes from the workspace. + * Removes a visitor profile and its stored attributes from the workspace. Requires the `visitors:write` scope. * @param id Visitor identifier to remove (UUID) (required) * @return DeleteVisitorResponse * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body @@ -161,8 +162,9 @@ private okhttp3.Call visitorsServiceDeleteValidateBeforeCall(@javax.annotation.N - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public DeleteVisitorResponse visitorsServiceDelete(@javax.annotation.Nonnull String id) throws ApiException { @@ -172,7 +174,7 @@ public DeleteVisitorResponse visitorsServiceDelete(@javax.annotation.Nonnull Str /** * Delete a visitor - * Removes a visitor profile and its stored attributes from the workspace. + * Removes a visitor profile and its stored attributes from the workspace. Requires the `visitors:write` scope. * @param id Visitor identifier to remove (UUID) (required) * @return ApiResponse<DeleteVisitorResponse> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body @@ -180,8 +182,9 @@ public DeleteVisitorResponse visitorsServiceDelete(@javax.annotation.Nonnull Str - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public ApiResponse visitorsServiceDeleteWithHttpInfo(@javax.annotation.Nonnull String id) throws ApiException { @@ -192,7 +195,7 @@ public ApiResponse visitorsServiceDeleteWithHttpInfo(@jav /** * Delete a visitor (asynchronously) - * Removes a visitor profile and its stored attributes from the workspace. + * Removes a visitor profile and its stored attributes from the workspace. Requires the `visitors:write` scope. * @param id Visitor identifier to remove (UUID) (required) * @param _callback The callback to be executed when the API call finishes * @return The request call @@ -201,8 +204,9 @@ public ApiResponse visitorsServiceDeleteWithHttpInfo(@jav - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public okhttp3.Call visitorsServiceDeleteAsync(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { @@ -223,8 +227,9 @@ public okhttp3.Call visitorsServiceDeleteAsync(@javax.annotation.Nonnull String - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public okhttp3.Call visitorsServiceDeleteAttributeCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull String attributeKey, final ApiCallback _callback) throws ApiException { @@ -269,7 +274,7 @@ public okhttp3.Call visitorsServiceDeleteAttributeCall(@javax.annotation.Nonnull localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; return localVarApiClient.buildCall(basePath, localVarPath, "DELETE", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @@ -291,7 +296,7 @@ private okhttp3.Call visitorsServiceDeleteAttributeValidateBeforeCall(@javax.ann /** * Delete a visitor attribute - * Deletes a single attribute from the visitor profile without affecting other data. + * Deletes a single attribute from the visitor profile without affecting other data. Requires the `visitors:write` scope. * @param id Visitor identifier whose attribute should be removed (UUID) (required) * @param attributeKey Attribute key to delete (without \"$\" prefix) (required) * @return DeleteAttributeResponse @@ -300,8 +305,9 @@ private okhttp3.Call visitorsServiceDeleteAttributeValidateBeforeCall(@javax.ann - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public DeleteAttributeResponse visitorsServiceDeleteAttribute(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull String attributeKey) throws ApiException { @@ -311,7 +317,7 @@ public DeleteAttributeResponse visitorsServiceDeleteAttribute(@javax.annotation. /** * Delete a visitor attribute - * Deletes a single attribute from the visitor profile without affecting other data. + * Deletes a single attribute from the visitor profile without affecting other data. Requires the `visitors:write` scope. * @param id Visitor identifier whose attribute should be removed (UUID) (required) * @param attributeKey Attribute key to delete (without \"$\" prefix) (required) * @return ApiResponse<DeleteAttributeResponse> @@ -320,8 +326,9 @@ public DeleteAttributeResponse visitorsServiceDeleteAttribute(@javax.annotation. - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public ApiResponse visitorsServiceDeleteAttributeWithHttpInfo(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull String attributeKey) throws ApiException { @@ -332,7 +339,7 @@ public ApiResponse visitorsServiceDeleteAttributeWithHt /** * Delete a visitor attribute (asynchronously) - * Deletes a single attribute from the visitor profile without affecting other data. + * Deletes a single attribute from the visitor profile without affecting other data. Requires the `visitors:write` scope. * @param id Visitor identifier whose attribute should be removed (UUID) (required) * @param attributeKey Attribute key to delete (without \"$\" prefix) (required) * @param _callback The callback to be executed when the API call finishes @@ -342,8 +349,9 @@ public ApiResponse visitorsServiceDeleteAttributeWithHt - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public okhttp3.Call visitorsServiceDeleteAttributeAsync(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull String attributeKey, final ApiCallback _callback) throws ApiException { @@ -364,8 +372,9 @@ public okhttp3.Call visitorsServiceDeleteAttributeAsync(@javax.annotation.Nonnul - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public okhttp3.Call visitorsServiceGetCall(@javax.annotation.Nonnull String id, @javax.annotation.Nullable List include, final ApiCallback _callback) throws ApiException { @@ -413,7 +422,7 @@ public okhttp3.Call visitorsServiceGetCall(@javax.annotation.Nonnull String id, localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @@ -430,7 +439,7 @@ private okhttp3.Call visitorsServiceGetValidateBeforeCall(@javax.annotation.Nonn /** * Get a visitor - * Retrieves a visitor profile by ID with optional devices, events, or links included. + * Retrieves a visitor profile by ID with optional devices, events, or links included. Requires the `visitors:read` scope. * @param id Visitor identifier (UUID) (required) * @param include Optional relationships to hydrate (\"devices\", \"events\", \"links\") (optional) * @return Visitor @@ -439,8 +448,9 @@ private okhttp3.Call visitorsServiceGetValidateBeforeCall(@javax.annotation.Nonn - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public Visitor visitorsServiceGet(@javax.annotation.Nonnull String id, @javax.annotation.Nullable List include) throws ApiException { @@ -450,7 +460,7 @@ public Visitor visitorsServiceGet(@javax.annotation.Nonnull String id, @javax.an /** * Get a visitor - * Retrieves a visitor profile by ID with optional devices, events, or links included. + * Retrieves a visitor profile by ID with optional devices, events, or links included. Requires the `visitors:read` scope. * @param id Visitor identifier (UUID) (required) * @param include Optional relationships to hydrate (\"devices\", \"events\", \"links\") (optional) * @return ApiResponse<Visitor> @@ -459,8 +469,9 @@ public Visitor visitorsServiceGet(@javax.annotation.Nonnull String id, @javax.an - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public ApiResponse visitorsServiceGetWithHttpInfo(@javax.annotation.Nonnull String id, @javax.annotation.Nullable List include) throws ApiException { @@ -471,7 +482,7 @@ public ApiResponse visitorsServiceGetWithHttpInfo(@javax.annotation.Non /** * Get a visitor (asynchronously) - * Retrieves a visitor profile by ID with optional devices, events, or links included. + * Retrieves a visitor profile by ID with optional devices, events, or links included. Requires the `visitors:read` scope. * @param id Visitor identifier (UUID) (required) * @param include Optional relationships to hydrate (\"devices\", \"events\", \"links\") (optional) * @param _callback The callback to be executed when the API call finishes @@ -481,8 +492,9 @@ public ApiResponse visitorsServiceGetWithHttpInfo(@javax.annotation.Non - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public okhttp3.Call visitorsServiceGetAsync(@javax.annotation.Nonnull String id, @javax.annotation.Nullable List include, final ApiCallback _callback) throws ApiException { @@ -495,6 +507,7 @@ public okhttp3.Call visitorsServiceGetAsync(@javax.annotation.Nonnull String id, /** * Build call for visitorsServiceIdentify * @param identifyRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @param _callback Callback for upload/download progress * @return Call to execute * @throws ApiException If fail to serialize the request body object @@ -502,11 +515,12 @@ public okhttp3.Call visitorsServiceGetAsync(@javax.annotation.Nonnull String id, - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call visitorsServiceIdentifyCall(@javax.annotation.Nonnull IdentifyRequest identifyRequest, final ApiCallback _callback) throws ApiException { + public okhttp3.Call visitorsServiceIdentifyCall(@javax.annotation.Nonnull IdentifyRequest identifyRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -547,64 +561,74 @@ public okhttp3.Call visitorsServiceIdentifyCall(@javax.annotation.Nonnull Identi localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + if (idempotencyKey != null) { + localVarHeaderParams.put("Idempotency-Key", localVarApiClient.parameterToString(idempotencyKey)); + } + + + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; return localVarApiClient.buildCall(basePath, localVarPath, "POST", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @SuppressWarnings("rawtypes") - private okhttp3.Call visitorsServiceIdentifyValidateBeforeCall(@javax.annotation.Nonnull IdentifyRequest identifyRequest, final ApiCallback _callback) throws ApiException { + private okhttp3.Call visitorsServiceIdentifyValidateBeforeCall(@javax.annotation.Nonnull IdentifyRequest identifyRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { // verify the required parameter 'identifyRequest' is set if (identifyRequest == null) { throw new ApiException("Missing the required parameter 'identifyRequest' when calling visitorsServiceIdentify(Async)"); } - return visitorsServiceIdentifyCall(identifyRequest, _callback); + return visitorsServiceIdentifyCall(identifyRequest, idempotencyKey, _callback); } /** * Identify visitor - * Identifies a visitor from an LBID. Anonymous visitors (created at scan time) are promoted or merged into existing identified visitors. If the identity matches an existing visitor, devices and events converge into that source-of-truth record. + * Identifies a visitor from an LBID. Anonymous visitors (created at scan time) are promoted or merged into existing identified visitors. If the identity matches an existing visitor, devices and events converge into that source-of-truth record. Requires the `visitors:write` scope. * @param identifyRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return IdentifyResponse * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public IdentifyResponse visitorsServiceIdentify(@javax.annotation.Nonnull IdentifyRequest identifyRequest) throws ApiException { - ApiResponse localVarResp = visitorsServiceIdentifyWithHttpInfo(identifyRequest); + public IdentifyResponse visitorsServiceIdentify(@javax.annotation.Nonnull IdentifyRequest identifyRequest, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + ApiResponse localVarResp = visitorsServiceIdentifyWithHttpInfo(identifyRequest, idempotencyKey); return localVarResp.getData(); } /** * Identify visitor - * Identifies a visitor from an LBID. Anonymous visitors (created at scan time) are promoted or merged into existing identified visitors. If the identity matches an existing visitor, devices and events converge into that source-of-truth record. + * Identifies a visitor from an LBID. Anonymous visitors (created at scan time) are promoted or merged into existing identified visitors. If the identity matches an existing visitor, devices and events converge into that source-of-truth record. Requires the `visitors:write` scope. * @param identifyRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return ApiResponse<IdentifyResponse> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public ApiResponse visitorsServiceIdentifyWithHttpInfo(@javax.annotation.Nonnull IdentifyRequest identifyRequest) throws ApiException { - okhttp3.Call localVarCall = visitorsServiceIdentifyValidateBeforeCall(identifyRequest, null); + public ApiResponse visitorsServiceIdentifyWithHttpInfo(@javax.annotation.Nonnull IdentifyRequest identifyRequest, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + okhttp3.Call localVarCall = visitorsServiceIdentifyValidateBeforeCall(identifyRequest, idempotencyKey, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); } /** * Identify visitor (asynchronously) - * Identifies a visitor from an LBID. Anonymous visitors (created at scan time) are promoted or merged into existing identified visitors. If the identity matches an existing visitor, devices and events converge into that source-of-truth record. + * Identifies a visitor from an LBID. Anonymous visitors (created at scan time) are promoted or merged into existing identified visitors. If the identity matches an existing visitor, devices and events converge into that source-of-truth record. Requires the `visitors:write` scope. * @param identifyRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @param _callback The callback to be executed when the API call finishes * @return The request call * @throws ApiException If fail to process the API call, e.g. serializing the request body object @@ -612,13 +636,14 @@ public ApiResponse visitorsServiceIdentifyWithHttpInfo(@javax. - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call visitorsServiceIdentifyAsync(@javax.annotation.Nonnull IdentifyRequest identifyRequest, final ApiCallback _callback) throws ApiException { + public okhttp3.Call visitorsServiceIdentifyAsync(@javax.annotation.Nonnull IdentifyRequest identifyRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { - okhttp3.Call localVarCall = visitorsServiceIdentifyValidateBeforeCall(identifyRequest, _callback); + okhttp3.Call localVarCall = visitorsServiceIdentifyValidateBeforeCall(identifyRequest, idempotencyKey, _callback); Type localVarReturnType = new TypeToken(){}.getType(); localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); return localVarCall; @@ -634,6 +659,7 @@ public okhttp3.Call visitorsServiceIdentifyAsync(@javax.annotation.Nonnull Ident * @param responseFormat - RESPONSE_FORMAT_UNSPECIFIED: Response format not specified - RESPONSE_FORMAT_JSON: Response format JSON - RESPONSE_FORMAT_CSV: Response format CSV (optional) * @param sortField Field to sort by. Defaults to created_at (newest first). - VISITOR_SORT_FIELD_UNSPECIFIED: Sort field not specified (defaults to created_at) - VISITOR_SORT_FIELD_CREATED_AT: Sort by the date the visitor was first seen - VISITOR_SORT_FIELD_VISIT_COUNT: Sort by total number of visits (events) - VISITOR_SORT_FIELD_DEVICE_COUNT: Sort by number of attributed devices - VISITOR_SORT_FIELD_QRCODE_COUNT: Sort by number of distinct QR codes interacted with (optional) * @param sortDirection Sort direction. Defaults to descending. - SORT_DIRECTION_UNSPECIFIED: Sort direction not specified (defaults to descending) - SORT_DIRECTION_ASC: Sort in ascending order - SORT_DIRECTION_DESC: Sort in descending order (optional) + * @param cursor Opaque cursor from the previous page's nextPageToken. Same as pageToken; when both are sent, pageToken wins. (optional) * @param _callback Callback for upload/download progress * @return Call to execute * @throws ApiException If fail to serialize the request body object @@ -641,11 +667,12 @@ public okhttp3.Call visitorsServiceIdentifyAsync(@javax.annotation.Nonnull Ident - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call visitorsServiceListCall(@javax.annotation.Nullable Long pageSize, @javax.annotation.Nullable String pageToken, @javax.annotation.Nullable String email, @javax.annotation.Nullable String search, @javax.annotation.Nullable List include, @javax.annotation.Nullable String linkId, @javax.annotation.Nullable String responseFormat, @javax.annotation.Nullable String sortField, @javax.annotation.Nullable String sortDirection, final ApiCallback _callback) throws ApiException { + public okhttp3.Call visitorsServiceListCall(@javax.annotation.Nullable Long pageSize, @javax.annotation.Nullable String pageToken, @javax.annotation.Nullable String email, @javax.annotation.Nullable String search, @javax.annotation.Nullable List include, @javax.annotation.Nullable String linkId, @javax.annotation.Nullable String responseFormat, @javax.annotation.Nullable String sortField, @javax.annotation.Nullable String sortDirection, @javax.annotation.Nullable String cursor, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -706,6 +733,10 @@ public okhttp3.Call visitorsServiceListCall(@javax.annotation.Nullable Long page localVarQueryParams.addAll(localVarApiClient.parameterToPair("sortDirection", sortDirection)); } + if (cursor != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("cursor", cursor)); + } + final String[] localVarAccepts = { "application/json" }; @@ -721,19 +752,19 @@ public okhttp3.Call visitorsServiceListCall(@javax.annotation.Nullable Long page localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @SuppressWarnings("rawtypes") - private okhttp3.Call visitorsServiceListValidateBeforeCall(@javax.annotation.Nullable Long pageSize, @javax.annotation.Nullable String pageToken, @javax.annotation.Nullable String email, @javax.annotation.Nullable String search, @javax.annotation.Nullable List include, @javax.annotation.Nullable String linkId, @javax.annotation.Nullable String responseFormat, @javax.annotation.Nullable String sortField, @javax.annotation.Nullable String sortDirection, final ApiCallback _callback) throws ApiException { - return visitorsServiceListCall(pageSize, pageToken, email, search, include, linkId, responseFormat, sortField, sortDirection, _callback); + private okhttp3.Call visitorsServiceListValidateBeforeCall(@javax.annotation.Nullable Long pageSize, @javax.annotation.Nullable String pageToken, @javax.annotation.Nullable String email, @javax.annotation.Nullable String search, @javax.annotation.Nullable List include, @javax.annotation.Nullable String linkId, @javax.annotation.Nullable String responseFormat, @javax.annotation.Nullable String sortField, @javax.annotation.Nullable String sortDirection, @javax.annotation.Nullable String cursor, final ApiCallback _callback) throws ApiException { + return visitorsServiceListCall(pageSize, pageToken, email, search, include, linkId, responseFormat, sortField, sortDirection, cursor, _callback); } /** * List visitors - * Returns a paginated collection of visitors with optional filters, includes, and CSV export. To filter on visitor attributes, use POST /v1/visitors/search, which takes the same parameters as a JSON body. + * Returns a paginated collection of visitors with optional filters, includes, and CSV export. To filter on visitor attributes, use POST /v1/visitors/search, which takes the same parameters as a JSON body. Requires the `visitors:read` scope. * @param pageSize Maximum number of visitors to return (default 50, max 200) (optional) * @param pageToken Cursor token to retrieve the next page of results (optional) * @param email optional exact match filter (optional) @@ -743,24 +774,26 @@ private okhttp3.Call visitorsServiceListValidateBeforeCall(@javax.annotation.Nul * @param responseFormat - RESPONSE_FORMAT_UNSPECIFIED: Response format not specified - RESPONSE_FORMAT_JSON: Response format JSON - RESPONSE_FORMAT_CSV: Response format CSV (optional) * @param sortField Field to sort by. Defaults to created_at (newest first). - VISITOR_SORT_FIELD_UNSPECIFIED: Sort field not specified (defaults to created_at) - VISITOR_SORT_FIELD_CREATED_AT: Sort by the date the visitor was first seen - VISITOR_SORT_FIELD_VISIT_COUNT: Sort by total number of visits (events) - VISITOR_SORT_FIELD_DEVICE_COUNT: Sort by number of attributed devices - VISITOR_SORT_FIELD_QRCODE_COUNT: Sort by number of distinct QR codes interacted with (optional) * @param sortDirection Sort direction. Defaults to descending. - SORT_DIRECTION_UNSPECIFIED: Sort direction not specified (defaults to descending) - SORT_DIRECTION_ASC: Sort in ascending order - SORT_DIRECTION_DESC: Sort in descending order (optional) + * @param cursor Opaque cursor from the previous page's nextPageToken. Same as pageToken; when both are sent, pageToken wins. (optional) * @return ListVisitorsResponse * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public ListVisitorsResponse visitorsServiceList(@javax.annotation.Nullable Long pageSize, @javax.annotation.Nullable String pageToken, @javax.annotation.Nullable String email, @javax.annotation.Nullable String search, @javax.annotation.Nullable List include, @javax.annotation.Nullable String linkId, @javax.annotation.Nullable String responseFormat, @javax.annotation.Nullable String sortField, @javax.annotation.Nullable String sortDirection) throws ApiException { - ApiResponse localVarResp = visitorsServiceListWithHttpInfo(pageSize, pageToken, email, search, include, linkId, responseFormat, sortField, sortDirection); + public ListVisitorsResponse visitorsServiceList(@javax.annotation.Nullable Long pageSize, @javax.annotation.Nullable String pageToken, @javax.annotation.Nullable String email, @javax.annotation.Nullable String search, @javax.annotation.Nullable List include, @javax.annotation.Nullable String linkId, @javax.annotation.Nullable String responseFormat, @javax.annotation.Nullable String sortField, @javax.annotation.Nullable String sortDirection, @javax.annotation.Nullable String cursor) throws ApiException { + ApiResponse localVarResp = visitorsServiceListWithHttpInfo(pageSize, pageToken, email, search, include, linkId, responseFormat, sortField, sortDirection, cursor); return localVarResp.getData(); } /** * List visitors - * Returns a paginated collection of visitors with optional filters, includes, and CSV export. To filter on visitor attributes, use POST /v1/visitors/search, which takes the same parameters as a JSON body. + * Returns a paginated collection of visitors with optional filters, includes, and CSV export. To filter on visitor attributes, use POST /v1/visitors/search, which takes the same parameters as a JSON body. Requires the `visitors:read` scope. * @param pageSize Maximum number of visitors to return (default 50, max 200) (optional) * @param pageToken Cursor token to retrieve the next page of results (optional) * @param email optional exact match filter (optional) @@ -770,25 +803,27 @@ public ListVisitorsResponse visitorsServiceList(@javax.annotation.Nullable Long * @param responseFormat - RESPONSE_FORMAT_UNSPECIFIED: Response format not specified - RESPONSE_FORMAT_JSON: Response format JSON - RESPONSE_FORMAT_CSV: Response format CSV (optional) * @param sortField Field to sort by. Defaults to created_at (newest first). - VISITOR_SORT_FIELD_UNSPECIFIED: Sort field not specified (defaults to created_at) - VISITOR_SORT_FIELD_CREATED_AT: Sort by the date the visitor was first seen - VISITOR_SORT_FIELD_VISIT_COUNT: Sort by total number of visits (events) - VISITOR_SORT_FIELD_DEVICE_COUNT: Sort by number of attributed devices - VISITOR_SORT_FIELD_QRCODE_COUNT: Sort by number of distinct QR codes interacted with (optional) * @param sortDirection Sort direction. Defaults to descending. - SORT_DIRECTION_UNSPECIFIED: Sort direction not specified (defaults to descending) - SORT_DIRECTION_ASC: Sort in ascending order - SORT_DIRECTION_DESC: Sort in descending order (optional) + * @param cursor Opaque cursor from the previous page's nextPageToken. Same as pageToken; when both are sent, pageToken wins. (optional) * @return ApiResponse<ListVisitorsResponse> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public ApiResponse visitorsServiceListWithHttpInfo(@javax.annotation.Nullable Long pageSize, @javax.annotation.Nullable String pageToken, @javax.annotation.Nullable String email, @javax.annotation.Nullable String search, @javax.annotation.Nullable List include, @javax.annotation.Nullable String linkId, @javax.annotation.Nullable String responseFormat, @javax.annotation.Nullable String sortField, @javax.annotation.Nullable String sortDirection) throws ApiException { - okhttp3.Call localVarCall = visitorsServiceListValidateBeforeCall(pageSize, pageToken, email, search, include, linkId, responseFormat, sortField, sortDirection, null); + public ApiResponse visitorsServiceListWithHttpInfo(@javax.annotation.Nullable Long pageSize, @javax.annotation.Nullable String pageToken, @javax.annotation.Nullable String email, @javax.annotation.Nullable String search, @javax.annotation.Nullable List include, @javax.annotation.Nullable String linkId, @javax.annotation.Nullable String responseFormat, @javax.annotation.Nullable String sortField, @javax.annotation.Nullable String sortDirection, @javax.annotation.Nullable String cursor) throws ApiException { + okhttp3.Call localVarCall = visitorsServiceListValidateBeforeCall(pageSize, pageToken, email, search, include, linkId, responseFormat, sortField, sortDirection, cursor, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); } /** * List visitors (asynchronously) - * Returns a paginated collection of visitors with optional filters, includes, and CSV export. To filter on visitor attributes, use POST /v1/visitors/search, which takes the same parameters as a JSON body. + * Returns a paginated collection of visitors with optional filters, includes, and CSV export. To filter on visitor attributes, use POST /v1/visitors/search, which takes the same parameters as a JSON body. Requires the `visitors:read` scope. * @param pageSize Maximum number of visitors to return (default 50, max 200) (optional) * @param pageToken Cursor token to retrieve the next page of results (optional) * @param email optional exact match filter (optional) @@ -798,6 +833,7 @@ public ApiResponse visitorsServiceListWithHttpInfo(@javax. * @param responseFormat - RESPONSE_FORMAT_UNSPECIFIED: Response format not specified - RESPONSE_FORMAT_JSON: Response format JSON - RESPONSE_FORMAT_CSV: Response format CSV (optional) * @param sortField Field to sort by. Defaults to created_at (newest first). - VISITOR_SORT_FIELD_UNSPECIFIED: Sort field not specified (defaults to created_at) - VISITOR_SORT_FIELD_CREATED_AT: Sort by the date the visitor was first seen - VISITOR_SORT_FIELD_VISIT_COUNT: Sort by total number of visits (events) - VISITOR_SORT_FIELD_DEVICE_COUNT: Sort by number of attributed devices - VISITOR_SORT_FIELD_QRCODE_COUNT: Sort by number of distinct QR codes interacted with (optional) * @param sortDirection Sort direction. Defaults to descending. - SORT_DIRECTION_UNSPECIFIED: Sort direction not specified (defaults to descending) - SORT_DIRECTION_ASC: Sort in ascending order - SORT_DIRECTION_DESC: Sort in descending order (optional) + * @param cursor Opaque cursor from the previous page's nextPageToken. Same as pageToken; when both are sent, pageToken wins. (optional) * @param _callback The callback to be executed when the API call finishes * @return The request call * @throws ApiException If fail to process the API call, e.g. serializing the request body object @@ -805,13 +841,14 @@ public ApiResponse visitorsServiceListWithHttpInfo(@javax. - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call visitorsServiceListAsync(@javax.annotation.Nullable Long pageSize, @javax.annotation.Nullable String pageToken, @javax.annotation.Nullable String email, @javax.annotation.Nullable String search, @javax.annotation.Nullable List include, @javax.annotation.Nullable String linkId, @javax.annotation.Nullable String responseFormat, @javax.annotation.Nullable String sortField, @javax.annotation.Nullable String sortDirection, final ApiCallback _callback) throws ApiException { + public okhttp3.Call visitorsServiceListAsync(@javax.annotation.Nullable Long pageSize, @javax.annotation.Nullable String pageToken, @javax.annotation.Nullable String email, @javax.annotation.Nullable String search, @javax.annotation.Nullable List include, @javax.annotation.Nullable String linkId, @javax.annotation.Nullable String responseFormat, @javax.annotation.Nullable String sortField, @javax.annotation.Nullable String sortDirection, @javax.annotation.Nullable String cursor, final ApiCallback _callback) throws ApiException { - okhttp3.Call localVarCall = visitorsServiceListValidateBeforeCall(pageSize, pageToken, email, search, include, linkId, responseFormat, sortField, sortDirection, _callback); + okhttp3.Call localVarCall = visitorsServiceListValidateBeforeCall(pageSize, pageToken, email, search, include, linkId, responseFormat, sortField, sortDirection, cursor, _callback); Type localVarReturnType = new TypeToken(){}.getType(); localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); return localVarCall; @@ -826,8 +863,9 @@ public okhttp3.Call visitorsServiceListAsync(@javax.annotation.Nullable Long pag - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public okhttp3.Call visitorsServiceListAttributeKeysCall(@javax.annotation.Nullable String linkId, final ApiCallback _callback) throws ApiException { @@ -874,7 +912,7 @@ public okhttp3.Call visitorsServiceListAttributeKeysCall(@javax.annotation.Nulla localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @@ -886,7 +924,7 @@ private okhttp3.Call visitorsServiceListAttributeKeysValidateBeforeCall(@javax.a /** * List visitor attribute keys - * Returns the distinct visitor attribute keys available in the workspace or scoped to a single link. + * Returns the distinct visitor attribute keys available in the workspace or scoped to a single link. Requires the `visitors:read` scope. * @param linkId Optional link identifier (UUID). When set, returns keys observed on visitors who interacted with this link. (optional) * @return ListVisitorAttributeKeysResponse * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body @@ -894,8 +932,9 @@ private okhttp3.Call visitorsServiceListAttributeKeysValidateBeforeCall(@javax.a - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public ListVisitorAttributeKeysResponse visitorsServiceListAttributeKeys(@javax.annotation.Nullable String linkId) throws ApiException { @@ -905,7 +944,7 @@ public ListVisitorAttributeKeysResponse visitorsServiceListAttributeKeys(@javax. /** * List visitor attribute keys - * Returns the distinct visitor attribute keys available in the workspace or scoped to a single link. + * Returns the distinct visitor attribute keys available in the workspace or scoped to a single link. Requires the `visitors:read` scope. * @param linkId Optional link identifier (UUID). When set, returns keys observed on visitors who interacted with this link. (optional) * @return ApiResponse<ListVisitorAttributeKeysResponse> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body @@ -913,8 +952,9 @@ public ListVisitorAttributeKeysResponse visitorsServiceListAttributeKeys(@javax. - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public ApiResponse visitorsServiceListAttributeKeysWithHttpInfo(@javax.annotation.Nullable String linkId) throws ApiException { @@ -925,7 +965,7 @@ public ApiResponse visitorsServiceListAttribut /** * List visitor attribute keys (asynchronously) - * Returns the distinct visitor attribute keys available in the workspace or scoped to a single link. + * Returns the distinct visitor attribute keys available in the workspace or scoped to a single link. Requires the `visitors:read` scope. * @param linkId Optional link identifier (UUID). When set, returns keys observed on visitors who interacted with this link. (optional) * @param _callback The callback to be executed when the API call finishes * @return The request call @@ -934,8 +974,9 @@ public ApiResponse visitorsServiceListAttribut - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public okhttp3.Call visitorsServiceListAttributeKeysAsync(@javax.annotation.Nullable String linkId, final ApiCallback _callback) throws ApiException { @@ -948,6 +989,7 @@ public okhttp3.Call visitorsServiceListAttributeKeysAsync(@javax.annotation.Null /** * Build call for visitorsServiceSearch * @param listVisitorsRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @param _callback Callback for upload/download progress * @return Call to execute * @throws ApiException If fail to serialize the request body object @@ -955,11 +997,12 @@ public okhttp3.Call visitorsServiceListAttributeKeysAsync(@javax.annotation.Null - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call visitorsServiceSearchCall(@javax.annotation.Nonnull ListVisitorsRequest listVisitorsRequest, final ApiCallback _callback) throws ApiException { + public okhttp3.Call visitorsServiceSearchCall(@javax.annotation.Nonnull ListVisitorsRequest listVisitorsRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -1000,64 +1043,74 @@ public okhttp3.Call visitorsServiceSearchCall(@javax.annotation.Nonnull ListVisi localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + if (idempotencyKey != null) { + localVarHeaderParams.put("Idempotency-Key", localVarApiClient.parameterToString(idempotencyKey)); + } + + + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; return localVarApiClient.buildCall(basePath, localVarPath, "POST", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @SuppressWarnings("rawtypes") - private okhttp3.Call visitorsServiceSearchValidateBeforeCall(@javax.annotation.Nonnull ListVisitorsRequest listVisitorsRequest, final ApiCallback _callback) throws ApiException { + private okhttp3.Call visitorsServiceSearchValidateBeforeCall(@javax.annotation.Nonnull ListVisitorsRequest listVisitorsRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { // verify the required parameter 'listVisitorsRequest' is set if (listVisitorsRequest == null) { throw new ApiException("Missing the required parameter 'listVisitorsRequest' when calling visitorsServiceSearch(Async)"); } - return visitorsServiceSearchCall(listVisitorsRequest, _callback); + return visitorsServiceSearchCall(listVisitorsRequest, idempotencyKey, _callback); } /** * Search visitors - * Same as List visitors, with the parameters sent as a JSON body so they can include attributeFilters. Every filter must match, for example budget at least 800000 and timeline equal to under_6_months. + * Same as List visitors, with the parameters sent as a JSON body so they can include attributeFilters. Every filter must match, for example budget at least 800000 and timeline equal to under_6_months. Requires the `visitors:read` scope. * @param listVisitorsRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return ListVisitorsResponse * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public ListVisitorsResponse visitorsServiceSearch(@javax.annotation.Nonnull ListVisitorsRequest listVisitorsRequest) throws ApiException { - ApiResponse localVarResp = visitorsServiceSearchWithHttpInfo(listVisitorsRequest); + public ListVisitorsResponse visitorsServiceSearch(@javax.annotation.Nonnull ListVisitorsRequest listVisitorsRequest, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + ApiResponse localVarResp = visitorsServiceSearchWithHttpInfo(listVisitorsRequest, idempotencyKey); return localVarResp.getData(); } /** * Search visitors - * Same as List visitors, with the parameters sent as a JSON body so they can include attributeFilters. Every filter must match, for example budget at least 800000 and timeline equal to under_6_months. + * Same as List visitors, with the parameters sent as a JSON body so they can include attributeFilters. Every filter must match, for example budget at least 800000 and timeline equal to under_6_months. Requires the `visitors:read` scope. * @param listVisitorsRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return ApiResponse<ListVisitorsResponse> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public ApiResponse visitorsServiceSearchWithHttpInfo(@javax.annotation.Nonnull ListVisitorsRequest listVisitorsRequest) throws ApiException { - okhttp3.Call localVarCall = visitorsServiceSearchValidateBeforeCall(listVisitorsRequest, null); + public ApiResponse visitorsServiceSearchWithHttpInfo(@javax.annotation.Nonnull ListVisitorsRequest listVisitorsRequest, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + okhttp3.Call localVarCall = visitorsServiceSearchValidateBeforeCall(listVisitorsRequest, idempotencyKey, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); } /** * Search visitors (asynchronously) - * Same as List visitors, with the parameters sent as a JSON body so they can include attributeFilters. Every filter must match, for example budget at least 800000 and timeline equal to under_6_months. + * Same as List visitors, with the parameters sent as a JSON body so they can include attributeFilters. Every filter must match, for example budget at least 800000 and timeline equal to under_6_months. Requires the `visitors:read` scope. * @param listVisitorsRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @param _callback The callback to be executed when the API call finishes * @return The request call * @throws ApiException If fail to process the API call, e.g. serializing the request body object @@ -1065,13 +1118,14 @@ public ApiResponse visitorsServiceSearchWithHttpInfo(@java - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call visitorsServiceSearchAsync(@javax.annotation.Nonnull ListVisitorsRequest listVisitorsRequest, final ApiCallback _callback) throws ApiException { + public okhttp3.Call visitorsServiceSearchAsync(@javax.annotation.Nonnull ListVisitorsRequest listVisitorsRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { - okhttp3.Call localVarCall = visitorsServiceSearchValidateBeforeCall(listVisitorsRequest, _callback); + okhttp3.Call localVarCall = visitorsServiceSearchValidateBeforeCall(listVisitorsRequest, idempotencyKey, _callback); Type localVarReturnType = new TypeToken(){}.getType(); localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); return localVarCall; @@ -1080,6 +1134,7 @@ public okhttp3.Call visitorsServiceSearchAsync(@javax.annotation.Nonnull ListVis * Build call for visitorsServiceUpdate * @param id Visitor identifier (UUID) (required) * @param visitorsServiceUpdateBody (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @param _callback Callback for upload/download progress * @return Call to execute * @throws ApiException If fail to serialize the request body object @@ -1087,11 +1142,12 @@ public okhttp3.Call visitorsServiceSearchAsync(@javax.annotation.Nonnull ListVis - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call visitorsServiceUpdateCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull VisitorsServiceUpdateBody visitorsServiceUpdateBody, final ApiCallback _callback) throws ApiException { + public okhttp3.Call visitorsServiceUpdateCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull VisitorsServiceUpdateBody visitorsServiceUpdateBody, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -1133,12 +1189,17 @@ public okhttp3.Call visitorsServiceUpdateCall(@javax.annotation.Nonnull String i localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + if (idempotencyKey != null) { + localVarHeaderParams.put("Idempotency-Key", localVarApiClient.parameterToString(idempotencyKey)); + } + + + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; return localVarApiClient.buildCall(basePath, localVarPath, "PATCH", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @SuppressWarnings("rawtypes") - private okhttp3.Call visitorsServiceUpdateValidateBeforeCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull VisitorsServiceUpdateBody visitorsServiceUpdateBody, final ApiCallback _callback) throws ApiException { + private okhttp3.Call visitorsServiceUpdateValidateBeforeCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull VisitorsServiceUpdateBody visitorsServiceUpdateBody, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { // verify the required parameter 'id' is set if (id == null) { throw new ApiException("Missing the required parameter 'id' when calling visitorsServiceUpdate(Async)"); @@ -1149,56 +1210,61 @@ private okhttp3.Call visitorsServiceUpdateValidateBeforeCall(@javax.annotation.N throw new ApiException("Missing the required parameter 'visitorsServiceUpdateBody' when calling visitorsServiceUpdate(Async)"); } - return visitorsServiceUpdateCall(id, visitorsServiceUpdateBody, _callback); + return visitorsServiceUpdateCall(id, visitorsServiceUpdateBody, idempotencyKey, _callback); } /** * Update a visitor - * Applies partial attribute updates to an existing visitor profile. + * Applies partial attribute updates to an existing visitor profile. Requires the `visitors:write` scope. * @param id Visitor identifier (UUID) (required) * @param visitorsServiceUpdateBody (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return Visitor * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public Visitor visitorsServiceUpdate(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull VisitorsServiceUpdateBody visitorsServiceUpdateBody) throws ApiException { - ApiResponse localVarResp = visitorsServiceUpdateWithHttpInfo(id, visitorsServiceUpdateBody); + public Visitor visitorsServiceUpdate(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull VisitorsServiceUpdateBody visitorsServiceUpdateBody, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + ApiResponse localVarResp = visitorsServiceUpdateWithHttpInfo(id, visitorsServiceUpdateBody, idempotencyKey); return localVarResp.getData(); } /** * Update a visitor - * Applies partial attribute updates to an existing visitor profile. + * Applies partial attribute updates to an existing visitor profile. Requires the `visitors:write` scope. * @param id Visitor identifier (UUID) (required) * @param visitorsServiceUpdateBody (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return ApiResponse<Visitor> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public ApiResponse visitorsServiceUpdateWithHttpInfo(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull VisitorsServiceUpdateBody visitorsServiceUpdateBody) throws ApiException { - okhttp3.Call localVarCall = visitorsServiceUpdateValidateBeforeCall(id, visitorsServiceUpdateBody, null); + public ApiResponse visitorsServiceUpdateWithHttpInfo(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull VisitorsServiceUpdateBody visitorsServiceUpdateBody, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + okhttp3.Call localVarCall = visitorsServiceUpdateValidateBeforeCall(id, visitorsServiceUpdateBody, idempotencyKey, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); } /** * Update a visitor (asynchronously) - * Applies partial attribute updates to an existing visitor profile. + * Applies partial attribute updates to an existing visitor profile. Requires the `visitors:write` scope. * @param id Visitor identifier (UUID) (required) * @param visitorsServiceUpdateBody (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @param _callback The callback to be executed when the API call finishes * @return The request call * @throws ApiException If fail to process the API call, e.g. serializing the request body object @@ -1206,13 +1272,14 @@ public ApiResponse visitorsServiceUpdateWithHttpInfo(@javax.annotation. - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call visitorsServiceUpdateAsync(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull VisitorsServiceUpdateBody visitorsServiceUpdateBody, final ApiCallback _callback) throws ApiException { + public okhttp3.Call visitorsServiceUpdateAsync(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull VisitorsServiceUpdateBody visitorsServiceUpdateBody, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { - okhttp3.Call localVarCall = visitorsServiceUpdateValidateBeforeCall(id, visitorsServiceUpdateBody, _callback); + okhttp3.Call localVarCall = visitorsServiceUpdateValidateBeforeCall(id, visitorsServiceUpdateBody, idempotencyKey, _callback); Type localVarReturnType = new TypeToken(){}.getType(); localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); return localVarCall; diff --git a/src/main/java/com/linkbreakers/api/WebhooksApi.java b/src/main/java/com/linkbreakers/api/WebhooksApi.java index f7045e3b6..f50d4a0ec 100644 --- a/src/main/java/com/linkbreakers/api/WebhooksApi.java +++ b/src/main/java/com/linkbreakers/api/WebhooksApi.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -81,6 +81,7 @@ public void setCustomBaseUrl(String customBaseUrl) { /** * Build call for webhooksServiceCreate * @param createWebhookRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @param _callback Callback for upload/download progress * @return Call to execute * @throws ApiException If fail to serialize the request body object @@ -88,11 +89,12 @@ public void setCustomBaseUrl(String customBaseUrl) { - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call webhooksServiceCreateCall(@javax.annotation.Nonnull CreateWebhookRequest createWebhookRequest, final ApiCallback _callback) throws ApiException { + public okhttp3.Call webhooksServiceCreateCall(@javax.annotation.Nonnull CreateWebhookRequest createWebhookRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -133,64 +135,74 @@ public okhttp3.Call webhooksServiceCreateCall(@javax.annotation.Nonnull CreateWe localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + if (idempotencyKey != null) { + localVarHeaderParams.put("Idempotency-Key", localVarApiClient.parameterToString(idempotencyKey)); + } + + + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; return localVarApiClient.buildCall(basePath, localVarPath, "POST", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @SuppressWarnings("rawtypes") - private okhttp3.Call webhooksServiceCreateValidateBeforeCall(@javax.annotation.Nonnull CreateWebhookRequest createWebhookRequest, final ApiCallback _callback) throws ApiException { + private okhttp3.Call webhooksServiceCreateValidateBeforeCall(@javax.annotation.Nonnull CreateWebhookRequest createWebhookRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { // verify the required parameter 'createWebhookRequest' is set if (createWebhookRequest == null) { throw new ApiException("Missing the required parameter 'createWebhookRequest' when calling webhooksServiceCreate(Async)"); } - return webhooksServiceCreateCall(createWebhookRequest, _callback); + return webhooksServiceCreateCall(createWebhookRequest, idempotencyKey, _callback); } /** * Create a webhook - * Create a new webhook endpoint to receive event notifications when workflow steps complete. + * Create a new webhook endpoint to receive event notifications when workflow steps complete. Requires the `webhooks:write` scope. * @param createWebhookRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return CreateWebhookResponse * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public CreateWebhookResponse webhooksServiceCreate(@javax.annotation.Nonnull CreateWebhookRequest createWebhookRequest) throws ApiException { - ApiResponse localVarResp = webhooksServiceCreateWithHttpInfo(createWebhookRequest); + public CreateWebhookResponse webhooksServiceCreate(@javax.annotation.Nonnull CreateWebhookRequest createWebhookRequest, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + ApiResponse localVarResp = webhooksServiceCreateWithHttpInfo(createWebhookRequest, idempotencyKey); return localVarResp.getData(); } /** * Create a webhook - * Create a new webhook endpoint to receive event notifications when workflow steps complete. + * Create a new webhook endpoint to receive event notifications when workflow steps complete. Requires the `webhooks:write` scope. * @param createWebhookRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return ApiResponse<CreateWebhookResponse> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public ApiResponse webhooksServiceCreateWithHttpInfo(@javax.annotation.Nonnull CreateWebhookRequest createWebhookRequest) throws ApiException { - okhttp3.Call localVarCall = webhooksServiceCreateValidateBeforeCall(createWebhookRequest, null); + public ApiResponse webhooksServiceCreateWithHttpInfo(@javax.annotation.Nonnull CreateWebhookRequest createWebhookRequest, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + okhttp3.Call localVarCall = webhooksServiceCreateValidateBeforeCall(createWebhookRequest, idempotencyKey, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); } /** * Create a webhook (asynchronously) - * Create a new webhook endpoint to receive event notifications when workflow steps complete. + * Create a new webhook endpoint to receive event notifications when workflow steps complete. Requires the `webhooks:write` scope. * @param createWebhookRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @param _callback The callback to be executed when the API call finishes * @return The request call * @throws ApiException If fail to process the API call, e.g. serializing the request body object @@ -198,13 +210,14 @@ public ApiResponse webhooksServiceCreateWithHttpInfo(@jav - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call webhooksServiceCreateAsync(@javax.annotation.Nonnull CreateWebhookRequest createWebhookRequest, final ApiCallback _callback) throws ApiException { + public okhttp3.Call webhooksServiceCreateAsync(@javax.annotation.Nonnull CreateWebhookRequest createWebhookRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { - okhttp3.Call localVarCall = webhooksServiceCreateValidateBeforeCall(createWebhookRequest, _callback); + okhttp3.Call localVarCall = webhooksServiceCreateValidateBeforeCall(createWebhookRequest, idempotencyKey, _callback); Type localVarReturnType = new TypeToken(){}.getType(); localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); return localVarCall; @@ -219,8 +232,9 @@ public okhttp3.Call webhooksServiceCreateAsync(@javax.annotation.Nonnull CreateW - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public okhttp3.Call webhooksServiceDeleteCall(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { @@ -264,7 +278,7 @@ public okhttp3.Call webhooksServiceDeleteCall(@javax.annotation.Nonnull String i localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; return localVarApiClient.buildCall(basePath, localVarPath, "DELETE", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @@ -281,7 +295,7 @@ private okhttp3.Call webhooksServiceDeleteValidateBeforeCall(@javax.annotation.N /** * Delete a webhook - * Remove a webhook endpoint so it no longer receives event notifications. + * Remove a webhook endpoint so it no longer receives event notifications. Requires the `webhooks:write` scope. * @param id Identifier of the webhook to delete (UUID) (required) * @return Object * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body @@ -289,8 +303,9 @@ private okhttp3.Call webhooksServiceDeleteValidateBeforeCall(@javax.annotation.N - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public Object webhooksServiceDelete(@javax.annotation.Nonnull String id) throws ApiException { @@ -300,7 +315,7 @@ public Object webhooksServiceDelete(@javax.annotation.Nonnull String id) throws /** * Delete a webhook - * Remove a webhook endpoint so it no longer receives event notifications. + * Remove a webhook endpoint so it no longer receives event notifications. Requires the `webhooks:write` scope. * @param id Identifier of the webhook to delete (UUID) (required) * @return ApiResponse<Object> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body @@ -308,8 +323,9 @@ public Object webhooksServiceDelete(@javax.annotation.Nonnull String id) throws - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public ApiResponse webhooksServiceDeleteWithHttpInfo(@javax.annotation.Nonnull String id) throws ApiException { @@ -320,7 +336,7 @@ public ApiResponse webhooksServiceDeleteWithHttpInfo(@javax.annotation.N /** * Delete a webhook (asynchronously) - * Remove a webhook endpoint so it no longer receives event notifications. + * Remove a webhook endpoint so it no longer receives event notifications. Requires the `webhooks:write` scope. * @param id Identifier of the webhook to delete (UUID) (required) * @param _callback The callback to be executed when the API call finishes * @return The request call @@ -329,8 +345,9 @@ public ApiResponse webhooksServiceDeleteWithHttpInfo(@javax.annotation.N - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public okhttp3.Call webhooksServiceDeleteAsync(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { @@ -350,8 +367,9 @@ public okhttp3.Call webhooksServiceDeleteAsync(@javax.annotation.Nonnull String - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public okhttp3.Call webhooksServiceGetCall(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { @@ -395,7 +413,7 @@ public okhttp3.Call webhooksServiceGetCall(@javax.annotation.Nonnull String id, localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @@ -412,7 +430,7 @@ private okhttp3.Call webhooksServiceGetValidateBeforeCall(@javax.annotation.Nonn /** * Get a webhook - * Retrieve details for a specific webhook endpoint. + * Retrieve details for a specific webhook endpoint. Requires the `webhooks:read` scope. * @param id Identifier of the desired webhook (UUID) (required) * @return GetWebhookResponse * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body @@ -420,8 +438,9 @@ private okhttp3.Call webhooksServiceGetValidateBeforeCall(@javax.annotation.Nonn - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public GetWebhookResponse webhooksServiceGet(@javax.annotation.Nonnull String id) throws ApiException { @@ -431,7 +450,7 @@ public GetWebhookResponse webhooksServiceGet(@javax.annotation.Nonnull String id /** * Get a webhook - * Retrieve details for a specific webhook endpoint. + * Retrieve details for a specific webhook endpoint. Requires the `webhooks:read` scope. * @param id Identifier of the desired webhook (UUID) (required) * @return ApiResponse<GetWebhookResponse> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body @@ -439,8 +458,9 @@ public GetWebhookResponse webhooksServiceGet(@javax.annotation.Nonnull String id - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public ApiResponse webhooksServiceGetWithHttpInfo(@javax.annotation.Nonnull String id) throws ApiException { @@ -451,7 +471,7 @@ public ApiResponse webhooksServiceGetWithHttpInfo(@javax.ann /** * Get a webhook (asynchronously) - * Retrieve details for a specific webhook endpoint. + * Retrieve details for a specific webhook endpoint. Requires the `webhooks:read` scope. * @param id Identifier of the desired webhook (UUID) (required) * @param _callback The callback to be executed when the API call finishes * @return The request call @@ -460,8 +480,9 @@ public ApiResponse webhooksServiceGetWithHttpInfo(@javax.ann - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public okhttp3.Call webhooksServiceGetAsync(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { @@ -476,6 +497,7 @@ public okhttp3.Call webhooksServiceGetAsync(@javax.annotation.Nonnull String id, * @param status Filter by webhook status (optional) - WEBHOOK_STATUS_UNSPECIFIED: Webhook status not specified - WEBHOOK_STATUS_ACTIVE: Webhook is active and receiving events - WEBHOOK_STATUS_DISABLED: Webhook is disabled due to repeated failures - WEBHOOK_STATUS_PAUSED: Webhook is paused by user action (optional) * @param pageSize Maximum number of webhooks to return. Defaults to 100, capped at 1000. (optional) * @param pageToken Cursor from a previous response's next_page_token. Empty starts at the first page. Pages are ordered by (created_at, id), which never change, so a record cannot move between pages while a client is walking them. (optional) + * @param cursor Opaque cursor from the previous page's nextPageToken. Same as pageToken; when both are sent, pageToken wins. (optional) * @param _callback Callback for upload/download progress * @return Call to execute * @throws ApiException If fail to serialize the request body object @@ -483,11 +505,12 @@ public okhttp3.Call webhooksServiceGetAsync(@javax.annotation.Nonnull String id, - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call webhooksServiceListCall(@javax.annotation.Nullable String status, @javax.annotation.Nullable Long pageSize, @javax.annotation.Nullable String pageToken, final ApiCallback _callback) throws ApiException { + public okhttp3.Call webhooksServiceListCall(@javax.annotation.Nullable String status, @javax.annotation.Nullable Long pageSize, @javax.annotation.Nullable String pageToken, @javax.annotation.Nullable String cursor, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -524,6 +547,10 @@ public okhttp3.Call webhooksServiceListCall(@javax.annotation.Nullable String st localVarQueryParams.addAll(localVarApiClient.parameterToPair("pageToken", pageToken)); } + if (cursor != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("cursor", cursor)); + } + final String[] localVarAccepts = { "application/json" }; @@ -539,65 +566,70 @@ public okhttp3.Call webhooksServiceListCall(@javax.annotation.Nullable String st localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @SuppressWarnings("rawtypes") - private okhttp3.Call webhooksServiceListValidateBeforeCall(@javax.annotation.Nullable String status, @javax.annotation.Nullable Long pageSize, @javax.annotation.Nullable String pageToken, final ApiCallback _callback) throws ApiException { - return webhooksServiceListCall(status, pageSize, pageToken, _callback); + private okhttp3.Call webhooksServiceListValidateBeforeCall(@javax.annotation.Nullable String status, @javax.annotation.Nullable Long pageSize, @javax.annotation.Nullable String pageToken, @javax.annotation.Nullable String cursor, final ApiCallback _callback) throws ApiException { + return webhooksServiceListCall(status, pageSize, pageToken, cursor, _callback); } /** * List webhooks - * Enumerate all webhooks for the workspace to manage event integrations. + * Enumerate all webhooks for the workspace to manage event integrations. Requires the `webhooks:read` scope. * @param status Filter by webhook status (optional) - WEBHOOK_STATUS_UNSPECIFIED: Webhook status not specified - WEBHOOK_STATUS_ACTIVE: Webhook is active and receiving events - WEBHOOK_STATUS_DISABLED: Webhook is disabled due to repeated failures - WEBHOOK_STATUS_PAUSED: Webhook is paused by user action (optional) * @param pageSize Maximum number of webhooks to return. Defaults to 100, capped at 1000. (optional) * @param pageToken Cursor from a previous response's next_page_token. Empty starts at the first page. Pages are ordered by (created_at, id), which never change, so a record cannot move between pages while a client is walking them. (optional) + * @param cursor Opaque cursor from the previous page's nextPageToken. Same as pageToken; when both are sent, pageToken wins. (optional) * @return ListWebhooksResponse * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public ListWebhooksResponse webhooksServiceList(@javax.annotation.Nullable String status, @javax.annotation.Nullable Long pageSize, @javax.annotation.Nullable String pageToken) throws ApiException { - ApiResponse localVarResp = webhooksServiceListWithHttpInfo(status, pageSize, pageToken); + public ListWebhooksResponse webhooksServiceList(@javax.annotation.Nullable String status, @javax.annotation.Nullable Long pageSize, @javax.annotation.Nullable String pageToken, @javax.annotation.Nullable String cursor) throws ApiException { + ApiResponse localVarResp = webhooksServiceListWithHttpInfo(status, pageSize, pageToken, cursor); return localVarResp.getData(); } /** * List webhooks - * Enumerate all webhooks for the workspace to manage event integrations. + * Enumerate all webhooks for the workspace to manage event integrations. Requires the `webhooks:read` scope. * @param status Filter by webhook status (optional) - WEBHOOK_STATUS_UNSPECIFIED: Webhook status not specified - WEBHOOK_STATUS_ACTIVE: Webhook is active and receiving events - WEBHOOK_STATUS_DISABLED: Webhook is disabled due to repeated failures - WEBHOOK_STATUS_PAUSED: Webhook is paused by user action (optional) * @param pageSize Maximum number of webhooks to return. Defaults to 100, capped at 1000. (optional) * @param pageToken Cursor from a previous response's next_page_token. Empty starts at the first page. Pages are ordered by (created_at, id), which never change, so a record cannot move between pages while a client is walking them. (optional) + * @param cursor Opaque cursor from the previous page's nextPageToken. Same as pageToken; when both are sent, pageToken wins. (optional) * @return ApiResponse<ListWebhooksResponse> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public ApiResponse webhooksServiceListWithHttpInfo(@javax.annotation.Nullable String status, @javax.annotation.Nullable Long pageSize, @javax.annotation.Nullable String pageToken) throws ApiException { - okhttp3.Call localVarCall = webhooksServiceListValidateBeforeCall(status, pageSize, pageToken, null); + public ApiResponse webhooksServiceListWithHttpInfo(@javax.annotation.Nullable String status, @javax.annotation.Nullable Long pageSize, @javax.annotation.Nullable String pageToken, @javax.annotation.Nullable String cursor) throws ApiException { + okhttp3.Call localVarCall = webhooksServiceListValidateBeforeCall(status, pageSize, pageToken, cursor, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); } /** * List webhooks (asynchronously) - * Enumerate all webhooks for the workspace to manage event integrations. + * Enumerate all webhooks for the workspace to manage event integrations. Requires the `webhooks:read` scope. * @param status Filter by webhook status (optional) - WEBHOOK_STATUS_UNSPECIFIED: Webhook status not specified - WEBHOOK_STATUS_ACTIVE: Webhook is active and receiving events - WEBHOOK_STATUS_DISABLED: Webhook is disabled due to repeated failures - WEBHOOK_STATUS_PAUSED: Webhook is paused by user action (optional) * @param pageSize Maximum number of webhooks to return. Defaults to 100, capped at 1000. (optional) * @param pageToken Cursor from a previous response's next_page_token. Empty starts at the first page. Pages are ordered by (created_at, id), which never change, so a record cannot move between pages while a client is walking them. (optional) + * @param cursor Opaque cursor from the previous page's nextPageToken. Same as pageToken; when both are sent, pageToken wins. (optional) * @param _callback The callback to be executed when the API call finishes * @return The request call * @throws ApiException If fail to process the API call, e.g. serializing the request body object @@ -605,13 +637,14 @@ public ApiResponse webhooksServiceListWithHttpInfo(@javax. - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call webhooksServiceListAsync(@javax.annotation.Nullable String status, @javax.annotation.Nullable Long pageSize, @javax.annotation.Nullable String pageToken, final ApiCallback _callback) throws ApiException { + public okhttp3.Call webhooksServiceListAsync(@javax.annotation.Nullable String status, @javax.annotation.Nullable Long pageSize, @javax.annotation.Nullable String pageToken, @javax.annotation.Nullable String cursor, final ApiCallback _callback) throws ApiException { - okhttp3.Call localVarCall = webhooksServiceListValidateBeforeCall(status, pageSize, pageToken, _callback); + okhttp3.Call localVarCall = webhooksServiceListValidateBeforeCall(status, pageSize, pageToken, cursor, _callback); Type localVarReturnType = new TypeToken(){}.getType(); localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); return localVarCall; @@ -620,6 +653,7 @@ public okhttp3.Call webhooksServiceListAsync(@javax.annotation.Nullable String s * Build call for webhooksServiceUpdate * @param id Identifier of the webhook to update (UUID) (required) * @param webhooksServiceUpdateBody (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @param _callback Callback for upload/download progress * @return Call to execute * @throws ApiException If fail to serialize the request body object @@ -627,11 +661,12 @@ public okhttp3.Call webhooksServiceListAsync(@javax.annotation.Nullable String s - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call webhooksServiceUpdateCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull WebhooksServiceUpdateBody webhooksServiceUpdateBody, final ApiCallback _callback) throws ApiException { + public okhttp3.Call webhooksServiceUpdateCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull WebhooksServiceUpdateBody webhooksServiceUpdateBody, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -673,12 +708,17 @@ public okhttp3.Call webhooksServiceUpdateCall(@javax.annotation.Nonnull String i localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + if (idempotencyKey != null) { + localVarHeaderParams.put("Idempotency-Key", localVarApiClient.parameterToString(idempotencyKey)); + } + + + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; return localVarApiClient.buildCall(basePath, localVarPath, "PATCH", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @SuppressWarnings("rawtypes") - private okhttp3.Call webhooksServiceUpdateValidateBeforeCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull WebhooksServiceUpdateBody webhooksServiceUpdateBody, final ApiCallback _callback) throws ApiException { + private okhttp3.Call webhooksServiceUpdateValidateBeforeCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull WebhooksServiceUpdateBody webhooksServiceUpdateBody, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { // verify the required parameter 'id' is set if (id == null) { throw new ApiException("Missing the required parameter 'id' when calling webhooksServiceUpdate(Async)"); @@ -689,56 +729,61 @@ private okhttp3.Call webhooksServiceUpdateValidateBeforeCall(@javax.annotation.N throw new ApiException("Missing the required parameter 'webhooksServiceUpdateBody' when calling webhooksServiceUpdate(Async)"); } - return webhooksServiceUpdateCall(id, webhooksServiceUpdateBody, _callback); + return webhooksServiceUpdateCall(id, webhooksServiceUpdateBody, idempotencyKey, _callback); } /** * Update a webhook - * Modify an existing webhook endpoint configuration. + * Modify an existing webhook endpoint configuration. Requires the `webhooks:write` scope. * @param id Identifier of the webhook to update (UUID) (required) * @param webhooksServiceUpdateBody (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return UpdateWebhookResponse * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public UpdateWebhookResponse webhooksServiceUpdate(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull WebhooksServiceUpdateBody webhooksServiceUpdateBody) throws ApiException { - ApiResponse localVarResp = webhooksServiceUpdateWithHttpInfo(id, webhooksServiceUpdateBody); + public UpdateWebhookResponse webhooksServiceUpdate(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull WebhooksServiceUpdateBody webhooksServiceUpdateBody, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + ApiResponse localVarResp = webhooksServiceUpdateWithHttpInfo(id, webhooksServiceUpdateBody, idempotencyKey); return localVarResp.getData(); } /** * Update a webhook - * Modify an existing webhook endpoint configuration. + * Modify an existing webhook endpoint configuration. Requires the `webhooks:write` scope. * @param id Identifier of the webhook to update (UUID) (required) * @param webhooksServiceUpdateBody (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return ApiResponse<UpdateWebhookResponse> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public ApiResponse webhooksServiceUpdateWithHttpInfo(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull WebhooksServiceUpdateBody webhooksServiceUpdateBody) throws ApiException { - okhttp3.Call localVarCall = webhooksServiceUpdateValidateBeforeCall(id, webhooksServiceUpdateBody, null); + public ApiResponse webhooksServiceUpdateWithHttpInfo(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull WebhooksServiceUpdateBody webhooksServiceUpdateBody, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + okhttp3.Call localVarCall = webhooksServiceUpdateValidateBeforeCall(id, webhooksServiceUpdateBody, idempotencyKey, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); } /** * Update a webhook (asynchronously) - * Modify an existing webhook endpoint configuration. + * Modify an existing webhook endpoint configuration. Requires the `webhooks:write` scope. * @param id Identifier of the webhook to update (UUID) (required) * @param webhooksServiceUpdateBody (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @param _callback The callback to be executed when the API call finishes * @return The request call * @throws ApiException If fail to process the API call, e.g. serializing the request body object @@ -746,13 +791,14 @@ public ApiResponse webhooksServiceUpdateWithHttpInfo(@jav - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call webhooksServiceUpdateAsync(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull WebhooksServiceUpdateBody webhooksServiceUpdateBody, final ApiCallback _callback) throws ApiException { + public okhttp3.Call webhooksServiceUpdateAsync(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull WebhooksServiceUpdateBody webhooksServiceUpdateBody, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { - okhttp3.Call localVarCall = webhooksServiceUpdateValidateBeforeCall(id, webhooksServiceUpdateBody, _callback); + okhttp3.Call localVarCall = webhooksServiceUpdateValidateBeforeCall(id, webhooksServiceUpdateBody, idempotencyKey, _callback); Type localVarReturnType = new TypeToken(){}.getType(); localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); return localVarCall; diff --git a/src/main/java/com/linkbreakers/api/WorkflowStepsApi.java b/src/main/java/com/linkbreakers/api/WorkflowStepsApi.java index 1a9c8abc4..73f36d966 100644 --- a/src/main/java/com/linkbreakers/api/WorkflowStepsApi.java +++ b/src/main/java/com/linkbreakers/api/WorkflowStepsApi.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -88,6 +88,7 @@ public void setCustomBaseUrl(String customBaseUrl) { * Build call for workflowStepsServiceAutoLayoutWorkflow * @param linkId (required) * @param body (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @param _callback Callback for upload/download progress * @return Call to execute * @throws ApiException If fail to serialize the request body object @@ -95,11 +96,12 @@ public void setCustomBaseUrl(String customBaseUrl) { - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call workflowStepsServiceAutoLayoutWorkflowCall(@javax.annotation.Nonnull String linkId, @javax.annotation.Nonnull Object body, final ApiCallback _callback) throws ApiException { + public okhttp3.Call workflowStepsServiceAutoLayoutWorkflowCall(@javax.annotation.Nonnull String linkId, @javax.annotation.Nonnull Object body, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -141,12 +143,17 @@ public okhttp3.Call workflowStepsServiceAutoLayoutWorkflowCall(@javax.annotation localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + if (idempotencyKey != null) { + localVarHeaderParams.put("Idempotency-Key", localVarApiClient.parameterToString(idempotencyKey)); + } + + + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; return localVarApiClient.buildCall(basePath, localVarPath, "POST", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @SuppressWarnings("rawtypes") - private okhttp3.Call workflowStepsServiceAutoLayoutWorkflowValidateBeforeCall(@javax.annotation.Nonnull String linkId, @javax.annotation.Nonnull Object body, final ApiCallback _callback) throws ApiException { + private okhttp3.Call workflowStepsServiceAutoLayoutWorkflowValidateBeforeCall(@javax.annotation.Nonnull String linkId, @javax.annotation.Nonnull Object body, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { // verify the required parameter 'linkId' is set if (linkId == null) { throw new ApiException("Missing the required parameter 'linkId' when calling workflowStepsServiceAutoLayoutWorkflow(Async)"); @@ -157,56 +164,61 @@ private okhttp3.Call workflowStepsServiceAutoLayoutWorkflowValidateBeforeCall(@j throw new ApiException("Missing the required parameter 'body' when calling workflowStepsServiceAutoLayoutWorkflow(Async)"); } - return workflowStepsServiceAutoLayoutWorkflowCall(linkId, body, _callback); + return workflowStepsServiceAutoLayoutWorkflowCall(linkId, body, idempotencyKey, _callback); } /** * Auto-layout workflow - * Arranges all workflow steps in a clean left-to-right DAG layout. Useful after building a workflow from scratch. + * Arranges all workflow steps in a clean left-to-right DAG layout. Useful after building a workflow from scratch. Requires the `workflows:write` scope. * @param linkId (required) * @param body (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return AutoLayoutWorkflowResponse * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public AutoLayoutWorkflowResponse workflowStepsServiceAutoLayoutWorkflow(@javax.annotation.Nonnull String linkId, @javax.annotation.Nonnull Object body) throws ApiException { - ApiResponse localVarResp = workflowStepsServiceAutoLayoutWorkflowWithHttpInfo(linkId, body); + public AutoLayoutWorkflowResponse workflowStepsServiceAutoLayoutWorkflow(@javax.annotation.Nonnull String linkId, @javax.annotation.Nonnull Object body, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + ApiResponse localVarResp = workflowStepsServiceAutoLayoutWorkflowWithHttpInfo(linkId, body, idempotencyKey); return localVarResp.getData(); } /** * Auto-layout workflow - * Arranges all workflow steps in a clean left-to-right DAG layout. Useful after building a workflow from scratch. + * Arranges all workflow steps in a clean left-to-right DAG layout. Useful after building a workflow from scratch. Requires the `workflows:write` scope. * @param linkId (required) * @param body (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return ApiResponse<AutoLayoutWorkflowResponse> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public ApiResponse workflowStepsServiceAutoLayoutWorkflowWithHttpInfo(@javax.annotation.Nonnull String linkId, @javax.annotation.Nonnull Object body) throws ApiException { - okhttp3.Call localVarCall = workflowStepsServiceAutoLayoutWorkflowValidateBeforeCall(linkId, body, null); + public ApiResponse workflowStepsServiceAutoLayoutWorkflowWithHttpInfo(@javax.annotation.Nonnull String linkId, @javax.annotation.Nonnull Object body, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + okhttp3.Call localVarCall = workflowStepsServiceAutoLayoutWorkflowValidateBeforeCall(linkId, body, idempotencyKey, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); } /** * Auto-layout workflow (asynchronously) - * Arranges all workflow steps in a clean left-to-right DAG layout. Useful after building a workflow from scratch. + * Arranges all workflow steps in a clean left-to-right DAG layout. Useful after building a workflow from scratch. Requires the `workflows:write` scope. * @param linkId (required) * @param body (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @param _callback The callback to be executed when the API call finishes * @return The request call * @throws ApiException If fail to process the API call, e.g. serializing the request body object @@ -214,13 +226,14 @@ public ApiResponse workflowStepsServiceAutoLayoutWor - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call workflowStepsServiceAutoLayoutWorkflowAsync(@javax.annotation.Nonnull String linkId, @javax.annotation.Nonnull Object body, final ApiCallback _callback) throws ApiException { + public okhttp3.Call workflowStepsServiceAutoLayoutWorkflowAsync(@javax.annotation.Nonnull String linkId, @javax.annotation.Nonnull Object body, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { - okhttp3.Call localVarCall = workflowStepsServiceAutoLayoutWorkflowValidateBeforeCall(linkId, body, _callback); + okhttp3.Call localVarCall = workflowStepsServiceAutoLayoutWorkflowValidateBeforeCall(linkId, body, idempotencyKey, _callback); Type localVarReturnType = new TypeToken(){}.getType(); localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); return localVarCall; @@ -231,6 +244,7 @@ public okhttp3.Call workflowStepsServiceAutoLayoutWorkflowAsync(@javax.annotatio * @param stepId The ID of the step the connection leaves from (UUID) (required) * @param branchId Which exit of that step to connect. \"next\" for atomic steps, or a button id, option id, range id, country code, or \"else\" for composite steps. (required) * @param workflowStepsServiceConnectStepBody (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @param _callback Callback for upload/download progress * @return Call to execute * @throws ApiException If fail to serialize the request body object @@ -238,11 +252,12 @@ public okhttp3.Call workflowStepsServiceAutoLayoutWorkflowAsync(@javax.annotatio - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call workflowStepsServiceConnectStepCall(@javax.annotation.Nonnull String linkId, @javax.annotation.Nonnull String stepId, @javax.annotation.Nonnull String branchId, @javax.annotation.Nonnull WorkflowStepsServiceConnectStepBody workflowStepsServiceConnectStepBody, final ApiCallback _callback) throws ApiException { + public okhttp3.Call workflowStepsServiceConnectStepCall(@javax.annotation.Nonnull String linkId, @javax.annotation.Nonnull String stepId, @javax.annotation.Nonnull String branchId, @javax.annotation.Nonnull WorkflowStepsServiceConnectStepBody workflowStepsServiceConnectStepBody, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -286,12 +301,17 @@ public okhttp3.Call workflowStepsServiceConnectStepCall(@javax.annotation.Nonnul localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + if (idempotencyKey != null) { + localVarHeaderParams.put("Idempotency-Key", localVarApiClient.parameterToString(idempotencyKey)); + } + + + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; return localVarApiClient.buildCall(basePath, localVarPath, "PUT", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @SuppressWarnings("rawtypes") - private okhttp3.Call workflowStepsServiceConnectStepValidateBeforeCall(@javax.annotation.Nonnull String linkId, @javax.annotation.Nonnull String stepId, @javax.annotation.Nonnull String branchId, @javax.annotation.Nonnull WorkflowStepsServiceConnectStepBody workflowStepsServiceConnectStepBody, final ApiCallback _callback) throws ApiException { + private okhttp3.Call workflowStepsServiceConnectStepValidateBeforeCall(@javax.annotation.Nonnull String linkId, @javax.annotation.Nonnull String stepId, @javax.annotation.Nonnull String branchId, @javax.annotation.Nonnull WorkflowStepsServiceConnectStepBody workflowStepsServiceConnectStepBody, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { // verify the required parameter 'linkId' is set if (linkId == null) { throw new ApiException("Missing the required parameter 'linkId' when calling workflowStepsServiceConnectStep(Async)"); @@ -312,62 +332,67 @@ private okhttp3.Call workflowStepsServiceConnectStepValidateBeforeCall(@javax.an throw new ApiException("Missing the required parameter 'workflowStepsServiceConnectStepBody' when calling workflowStepsServiceConnectStep(Async)"); } - return workflowStepsServiceConnectStepCall(linkId, stepId, branchId, workflowStepsServiceConnectStepBody, _callback); + return workflowStepsServiceConnectStepCall(linkId, stepId, branchId, workflowStepsServiceConnectStepBody, idempotencyKey, _callback); } /** * Connect one exit of a workflow step to another step - * Every workflow step is connected the same way: name the branch it leaves from, and the step it leads to. Atomic steps (redirect, password, form, message page) have exactly one branch, \"next\". Composite steps (multi-link, conditions) have one branch per button, option or range, plus \"else\" for a condition's fallback. Exit steps end the journey and have no branches at all. Read a step to see its branches, their ids and their current destinations. Idempotent: connecting a branch to the step it already leads to is a no-op. + * Every workflow step is connected the same way: name the branch it leaves from, and the step it leads to. Atomic steps (redirect, password, form, message page) have exactly one branch, \"next\". Composite steps (multi-link, conditions) have one branch per button, option or range, plus \"else\" for a condition's fallback. Exit steps end the journey and have no branches at all. Read a step to see its branches, their ids and their current destinations. Idempotent: connecting a branch to the step it already leads to is a no-op. Requires the `workflows:write` scope. * @param linkId The ID of the link (UUID) (required) * @param stepId The ID of the step the connection leaves from (UUID) (required) * @param branchId Which exit of that step to connect. \"next\" for atomic steps, or a button id, option id, range id, country code, or \"else\" for composite steps. (required) * @param workflowStepsServiceConnectStepBody (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return ConnectWorkflowStepResponse * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public ConnectWorkflowStepResponse workflowStepsServiceConnectStep(@javax.annotation.Nonnull String linkId, @javax.annotation.Nonnull String stepId, @javax.annotation.Nonnull String branchId, @javax.annotation.Nonnull WorkflowStepsServiceConnectStepBody workflowStepsServiceConnectStepBody) throws ApiException { - ApiResponse localVarResp = workflowStepsServiceConnectStepWithHttpInfo(linkId, stepId, branchId, workflowStepsServiceConnectStepBody); + public ConnectWorkflowStepResponse workflowStepsServiceConnectStep(@javax.annotation.Nonnull String linkId, @javax.annotation.Nonnull String stepId, @javax.annotation.Nonnull String branchId, @javax.annotation.Nonnull WorkflowStepsServiceConnectStepBody workflowStepsServiceConnectStepBody, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + ApiResponse localVarResp = workflowStepsServiceConnectStepWithHttpInfo(linkId, stepId, branchId, workflowStepsServiceConnectStepBody, idempotencyKey); return localVarResp.getData(); } /** * Connect one exit of a workflow step to another step - * Every workflow step is connected the same way: name the branch it leaves from, and the step it leads to. Atomic steps (redirect, password, form, message page) have exactly one branch, \"next\". Composite steps (multi-link, conditions) have one branch per button, option or range, plus \"else\" for a condition's fallback. Exit steps end the journey and have no branches at all. Read a step to see its branches, their ids and their current destinations. Idempotent: connecting a branch to the step it already leads to is a no-op. + * Every workflow step is connected the same way: name the branch it leaves from, and the step it leads to. Atomic steps (redirect, password, form, message page) have exactly one branch, \"next\". Composite steps (multi-link, conditions) have one branch per button, option or range, plus \"else\" for a condition's fallback. Exit steps end the journey and have no branches at all. Read a step to see its branches, their ids and their current destinations. Idempotent: connecting a branch to the step it already leads to is a no-op. Requires the `workflows:write` scope. * @param linkId The ID of the link (UUID) (required) * @param stepId The ID of the step the connection leaves from (UUID) (required) * @param branchId Which exit of that step to connect. \"next\" for atomic steps, or a button id, option id, range id, country code, or \"else\" for composite steps. (required) * @param workflowStepsServiceConnectStepBody (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return ApiResponse<ConnectWorkflowStepResponse> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public ApiResponse workflowStepsServiceConnectStepWithHttpInfo(@javax.annotation.Nonnull String linkId, @javax.annotation.Nonnull String stepId, @javax.annotation.Nonnull String branchId, @javax.annotation.Nonnull WorkflowStepsServiceConnectStepBody workflowStepsServiceConnectStepBody) throws ApiException { - okhttp3.Call localVarCall = workflowStepsServiceConnectStepValidateBeforeCall(linkId, stepId, branchId, workflowStepsServiceConnectStepBody, null); + public ApiResponse workflowStepsServiceConnectStepWithHttpInfo(@javax.annotation.Nonnull String linkId, @javax.annotation.Nonnull String stepId, @javax.annotation.Nonnull String branchId, @javax.annotation.Nonnull WorkflowStepsServiceConnectStepBody workflowStepsServiceConnectStepBody, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + okhttp3.Call localVarCall = workflowStepsServiceConnectStepValidateBeforeCall(linkId, stepId, branchId, workflowStepsServiceConnectStepBody, idempotencyKey, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); } /** * Connect one exit of a workflow step to another step (asynchronously) - * Every workflow step is connected the same way: name the branch it leaves from, and the step it leads to. Atomic steps (redirect, password, form, message page) have exactly one branch, \"next\". Composite steps (multi-link, conditions) have one branch per button, option or range, plus \"else\" for a condition's fallback. Exit steps end the journey and have no branches at all. Read a step to see its branches, their ids and their current destinations. Idempotent: connecting a branch to the step it already leads to is a no-op. + * Every workflow step is connected the same way: name the branch it leaves from, and the step it leads to. Atomic steps (redirect, password, form, message page) have exactly one branch, \"next\". Composite steps (multi-link, conditions) have one branch per button, option or range, plus \"else\" for a condition's fallback. Exit steps end the journey and have no branches at all. Read a step to see its branches, their ids and their current destinations. Idempotent: connecting a branch to the step it already leads to is a no-op. Requires the `workflows:write` scope. * @param linkId The ID of the link (UUID) (required) * @param stepId The ID of the step the connection leaves from (UUID) (required) * @param branchId Which exit of that step to connect. \"next\" for atomic steps, or a button id, option id, range id, country code, or \"else\" for composite steps. (required) * @param workflowStepsServiceConnectStepBody (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @param _callback The callback to be executed when the API call finishes * @return The request call * @throws ApiException If fail to process the API call, e.g. serializing the request body object @@ -375,13 +400,14 @@ public ApiResponse workflowStepsServiceConnectStepW - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call workflowStepsServiceConnectStepAsync(@javax.annotation.Nonnull String linkId, @javax.annotation.Nonnull String stepId, @javax.annotation.Nonnull String branchId, @javax.annotation.Nonnull WorkflowStepsServiceConnectStepBody workflowStepsServiceConnectStepBody, final ApiCallback _callback) throws ApiException { + public okhttp3.Call workflowStepsServiceConnectStepAsync(@javax.annotation.Nonnull String linkId, @javax.annotation.Nonnull String stepId, @javax.annotation.Nonnull String branchId, @javax.annotation.Nonnull WorkflowStepsServiceConnectStepBody workflowStepsServiceConnectStepBody, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { - okhttp3.Call localVarCall = workflowStepsServiceConnectStepValidateBeforeCall(linkId, stepId, branchId, workflowStepsServiceConnectStepBody, _callback); + okhttp3.Call localVarCall = workflowStepsServiceConnectStepValidateBeforeCall(linkId, stepId, branchId, workflowStepsServiceConnectStepBody, idempotencyKey, _callback); Type localVarReturnType = new TypeToken(){}.getType(); localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); return localVarCall; @@ -390,6 +416,7 @@ public okhttp3.Call workflowStepsServiceConnectStepAsync(@javax.annotation.Nonnu * Build call for workflowStepsServiceCreate * @param linkId The ID of the link to create the workflow step for (UUID) (required) * @param workflowStepsServiceCreateBody (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @param _callback Callback for upload/download progress * @return Call to execute * @throws ApiException If fail to serialize the request body object @@ -397,11 +424,12 @@ public okhttp3.Call workflowStepsServiceConnectStepAsync(@javax.annotation.Nonnu - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call workflowStepsServiceCreateCall(@javax.annotation.Nonnull String linkId, @javax.annotation.Nonnull WorkflowStepsServiceCreateBody workflowStepsServiceCreateBody, final ApiCallback _callback) throws ApiException { + public okhttp3.Call workflowStepsServiceCreateCall(@javax.annotation.Nonnull String linkId, @javax.annotation.Nonnull WorkflowStepsServiceCreateBody workflowStepsServiceCreateBody, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -443,12 +471,17 @@ public okhttp3.Call workflowStepsServiceCreateCall(@javax.annotation.Nonnull Str localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + if (idempotencyKey != null) { + localVarHeaderParams.put("Idempotency-Key", localVarApiClient.parameterToString(idempotencyKey)); + } + + + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; return localVarApiClient.buildCall(basePath, localVarPath, "POST", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @SuppressWarnings("rawtypes") - private okhttp3.Call workflowStepsServiceCreateValidateBeforeCall(@javax.annotation.Nonnull String linkId, @javax.annotation.Nonnull WorkflowStepsServiceCreateBody workflowStepsServiceCreateBody, final ApiCallback _callback) throws ApiException { + private okhttp3.Call workflowStepsServiceCreateValidateBeforeCall(@javax.annotation.Nonnull String linkId, @javax.annotation.Nonnull WorkflowStepsServiceCreateBody workflowStepsServiceCreateBody, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { // verify the required parameter 'linkId' is set if (linkId == null) { throw new ApiException("Missing the required parameter 'linkId' when calling workflowStepsServiceCreate(Async)"); @@ -459,56 +492,61 @@ private okhttp3.Call workflowStepsServiceCreateValidateBeforeCall(@javax.annotat throw new ApiException("Missing the required parameter 'workflowStepsServiceCreateBody' when calling workflowStepsServiceCreate(Async)"); } - return workflowStepsServiceCreateCall(linkId, workflowStepsServiceCreateBody, _callback); + return workflowStepsServiceCreateCall(linkId, workflowStepsServiceCreateBody, idempotencyKey, _callback); } /** * Create a new workflow step - * This endpoint allows users to create a new workflow step for a link. Workflow steps define the behavior of links, such as redirection destinations. + * This endpoint allows users to create a new workflow step for a link. Workflow steps define the behavior of links, such as redirection destinations. Requires the `workflows:write` scope. * @param linkId The ID of the link to create the workflow step for (UUID) (required) * @param workflowStepsServiceCreateBody (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return CreateWorkflowStepResponse * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public CreateWorkflowStepResponse workflowStepsServiceCreate(@javax.annotation.Nonnull String linkId, @javax.annotation.Nonnull WorkflowStepsServiceCreateBody workflowStepsServiceCreateBody) throws ApiException { - ApiResponse localVarResp = workflowStepsServiceCreateWithHttpInfo(linkId, workflowStepsServiceCreateBody); + public CreateWorkflowStepResponse workflowStepsServiceCreate(@javax.annotation.Nonnull String linkId, @javax.annotation.Nonnull WorkflowStepsServiceCreateBody workflowStepsServiceCreateBody, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + ApiResponse localVarResp = workflowStepsServiceCreateWithHttpInfo(linkId, workflowStepsServiceCreateBody, idempotencyKey); return localVarResp.getData(); } /** * Create a new workflow step - * This endpoint allows users to create a new workflow step for a link. Workflow steps define the behavior of links, such as redirection destinations. + * This endpoint allows users to create a new workflow step for a link. Workflow steps define the behavior of links, such as redirection destinations. Requires the `workflows:write` scope. * @param linkId The ID of the link to create the workflow step for (UUID) (required) * @param workflowStepsServiceCreateBody (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return ApiResponse<CreateWorkflowStepResponse> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public ApiResponse workflowStepsServiceCreateWithHttpInfo(@javax.annotation.Nonnull String linkId, @javax.annotation.Nonnull WorkflowStepsServiceCreateBody workflowStepsServiceCreateBody) throws ApiException { - okhttp3.Call localVarCall = workflowStepsServiceCreateValidateBeforeCall(linkId, workflowStepsServiceCreateBody, null); + public ApiResponse workflowStepsServiceCreateWithHttpInfo(@javax.annotation.Nonnull String linkId, @javax.annotation.Nonnull WorkflowStepsServiceCreateBody workflowStepsServiceCreateBody, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + okhttp3.Call localVarCall = workflowStepsServiceCreateValidateBeforeCall(linkId, workflowStepsServiceCreateBody, idempotencyKey, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); } /** * Create a new workflow step (asynchronously) - * This endpoint allows users to create a new workflow step for a link. Workflow steps define the behavior of links, such as redirection destinations. + * This endpoint allows users to create a new workflow step for a link. Workflow steps define the behavior of links, such as redirection destinations. Requires the `workflows:write` scope. * @param linkId The ID of the link to create the workflow step for (UUID) (required) * @param workflowStepsServiceCreateBody (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @param _callback The callback to be executed when the API call finishes * @return The request call * @throws ApiException If fail to process the API call, e.g. serializing the request body object @@ -516,13 +554,14 @@ public ApiResponse workflowStepsServiceCreateWithHtt - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call workflowStepsServiceCreateAsync(@javax.annotation.Nonnull String linkId, @javax.annotation.Nonnull WorkflowStepsServiceCreateBody workflowStepsServiceCreateBody, final ApiCallback _callback) throws ApiException { + public okhttp3.Call workflowStepsServiceCreateAsync(@javax.annotation.Nonnull String linkId, @javax.annotation.Nonnull WorkflowStepsServiceCreateBody workflowStepsServiceCreateBody, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { - okhttp3.Call localVarCall = workflowStepsServiceCreateValidateBeforeCall(linkId, workflowStepsServiceCreateBody, _callback); + okhttp3.Call localVarCall = workflowStepsServiceCreateValidateBeforeCall(linkId, workflowStepsServiceCreateBody, idempotencyKey, _callback); Type localVarReturnType = new TypeToken(){}.getType(); localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); return localVarCall; @@ -538,8 +577,9 @@ public okhttp3.Call workflowStepsServiceCreateAsync(@javax.annotation.Nonnull St - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public okhttp3.Call workflowStepsServiceDeleteCall(@javax.annotation.Nonnull String linkId, @javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { @@ -584,7 +624,7 @@ public okhttp3.Call workflowStepsServiceDeleteCall(@javax.annotation.Nonnull Str localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; return localVarApiClient.buildCall(basePath, localVarPath, "DELETE", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @@ -606,7 +646,7 @@ private okhttp3.Call workflowStepsServiceDeleteValidateBeforeCall(@javax.annotat /** * Delete a workflow step - * Removes a workflow step from the link. This operation cannot be undone. + * Removes a workflow step from the link. This operation cannot be undone. Requires the `workflows:write` scope. * @param linkId The ID of the link (UUID) (required) * @param id The ID of the workflow step to delete (UUID) (required) * @return Object @@ -615,8 +655,9 @@ private okhttp3.Call workflowStepsServiceDeleteValidateBeforeCall(@javax.annotat - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public Object workflowStepsServiceDelete(@javax.annotation.Nonnull String linkId, @javax.annotation.Nonnull String id) throws ApiException { @@ -626,7 +667,7 @@ public Object workflowStepsServiceDelete(@javax.annotation.Nonnull String linkId /** * Delete a workflow step - * Removes a workflow step from the link. This operation cannot be undone. + * Removes a workflow step from the link. This operation cannot be undone. Requires the `workflows:write` scope. * @param linkId The ID of the link (UUID) (required) * @param id The ID of the workflow step to delete (UUID) (required) * @return ApiResponse<Object> @@ -635,8 +676,9 @@ public Object workflowStepsServiceDelete(@javax.annotation.Nonnull String linkId - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public ApiResponse workflowStepsServiceDeleteWithHttpInfo(@javax.annotation.Nonnull String linkId, @javax.annotation.Nonnull String id) throws ApiException { @@ -647,7 +689,7 @@ public ApiResponse workflowStepsServiceDeleteWithHttpInfo(@javax.annotat /** * Delete a workflow step (asynchronously) - * Removes a workflow step from the link. This operation cannot be undone. + * Removes a workflow step from the link. This operation cannot be undone. Requires the `workflows:write` scope. * @param linkId The ID of the link (UUID) (required) * @param id The ID of the workflow step to delete (UUID) (required) * @param _callback The callback to be executed when the API call finishes @@ -657,8 +699,9 @@ public ApiResponse workflowStepsServiceDeleteWithHttpInfo(@javax.annotat - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public okhttp3.Call workflowStepsServiceDeleteAsync(@javax.annotation.Nonnull String linkId, @javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { @@ -680,8 +723,9 @@ public okhttp3.Call workflowStepsServiceDeleteAsync(@javax.annotation.Nonnull St - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public okhttp3.Call workflowStepsServiceDisconnectStepCall(@javax.annotation.Nonnull String linkId, @javax.annotation.Nonnull String stepId, @javax.annotation.Nonnull String branchId, final ApiCallback _callback) throws ApiException { @@ -727,7 +771,7 @@ public okhttp3.Call workflowStepsServiceDisconnectStepCall(@javax.annotation.Non localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; return localVarApiClient.buildCall(basePath, localVarPath, "DELETE", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @@ -754,7 +798,7 @@ private okhttp3.Call workflowStepsServiceDisconnectStepValidateBeforeCall(@javax /** * Clear one exit of a workflow step - * Leaves the branch with no destination. Clearing a branch that is already clear succeeds. See ConnectStep for what a branch id is. + * Leaves the branch with no destination. Clearing a branch that is already clear succeeds. See ConnectStep for what a branch id is. Requires the `workflows:write` scope. * @param linkId The ID of the link (UUID) (required) * @param stepId The ID of the step the connection leaves from (UUID) (required) * @param branchId Which exit of that step to clear. See ConnectWorkflowStepRequest.branch_id. (required) @@ -764,8 +808,9 @@ private okhttp3.Call workflowStepsServiceDisconnectStepValidateBeforeCall(@javax - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public DisconnectWorkflowStepResponse workflowStepsServiceDisconnectStep(@javax.annotation.Nonnull String linkId, @javax.annotation.Nonnull String stepId, @javax.annotation.Nonnull String branchId) throws ApiException { @@ -775,7 +820,7 @@ public DisconnectWorkflowStepResponse workflowStepsServiceDisconnectStep(@javax. /** * Clear one exit of a workflow step - * Leaves the branch with no destination. Clearing a branch that is already clear succeeds. See ConnectStep for what a branch id is. + * Leaves the branch with no destination. Clearing a branch that is already clear succeeds. See ConnectStep for what a branch id is. Requires the `workflows:write` scope. * @param linkId The ID of the link (UUID) (required) * @param stepId The ID of the step the connection leaves from (UUID) (required) * @param branchId Which exit of that step to clear. See ConnectWorkflowStepRequest.branch_id. (required) @@ -785,8 +830,9 @@ public DisconnectWorkflowStepResponse workflowStepsServiceDisconnectStep(@javax. - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public ApiResponse workflowStepsServiceDisconnectStepWithHttpInfo(@javax.annotation.Nonnull String linkId, @javax.annotation.Nonnull String stepId, @javax.annotation.Nonnull String branchId) throws ApiException { @@ -797,7 +843,7 @@ public ApiResponse workflowStepsServiceDisconnec /** * Clear one exit of a workflow step (asynchronously) - * Leaves the branch with no destination. Clearing a branch that is already clear succeeds. See ConnectStep for what a branch id is. + * Leaves the branch with no destination. Clearing a branch that is already clear succeeds. See ConnectStep for what a branch id is. Requires the `workflows:write` scope. * @param linkId The ID of the link (UUID) (required) * @param stepId The ID of the step the connection leaves from (UUID) (required) * @param branchId Which exit of that step to clear. See ConnectWorkflowStepRequest.branch_id. (required) @@ -808,8 +854,9 @@ public ApiResponse workflowStepsServiceDisconnec - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public okhttp3.Call workflowStepsServiceDisconnectStepAsync(@javax.annotation.Nonnull String linkId, @javax.annotation.Nonnull String stepId, @javax.annotation.Nonnull String branchId, final ApiCallback _callback) throws ApiException { @@ -830,8 +877,9 @@ public okhttp3.Call workflowStepsServiceDisconnectStepAsync(@javax.annotation.No - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public okhttp3.Call workflowStepsServiceGetCall(@javax.annotation.Nonnull String linkId, @javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { @@ -876,7 +924,7 @@ public okhttp3.Call workflowStepsServiceGetCall(@javax.annotation.Nonnull String localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @@ -898,7 +946,7 @@ private okhttp3.Call workflowStepsServiceGetValidateBeforeCall(@javax.annotation /** * Get workflow step details - * Retrieves information about a specific workflow step. + * Retrieves information about a specific workflow step. Requires the `workflows:read` scope. * @param linkId The ID of the link (UUID) (required) * @param id The ID of the workflow step to retrieve (UUID) (required) * @return GetWorkflowStepResponse @@ -907,8 +955,9 @@ private okhttp3.Call workflowStepsServiceGetValidateBeforeCall(@javax.annotation - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public GetWorkflowStepResponse workflowStepsServiceGet(@javax.annotation.Nonnull String linkId, @javax.annotation.Nonnull String id) throws ApiException { @@ -918,7 +967,7 @@ public GetWorkflowStepResponse workflowStepsServiceGet(@javax.annotation.Nonnull /** * Get workflow step details - * Retrieves information about a specific workflow step. + * Retrieves information about a specific workflow step. Requires the `workflows:read` scope. * @param linkId The ID of the link (UUID) (required) * @param id The ID of the workflow step to retrieve (UUID) (required) * @return ApiResponse<GetWorkflowStepResponse> @@ -927,8 +976,9 @@ public GetWorkflowStepResponse workflowStepsServiceGet(@javax.annotation.Nonnull - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public ApiResponse workflowStepsServiceGetWithHttpInfo(@javax.annotation.Nonnull String linkId, @javax.annotation.Nonnull String id) throws ApiException { @@ -939,7 +989,7 @@ public ApiResponse workflowStepsServiceGetWithHttpInfo( /** * Get workflow step details (asynchronously) - * Retrieves information about a specific workflow step. + * Retrieves information about a specific workflow step. Requires the `workflows:read` scope. * @param linkId The ID of the link (UUID) (required) * @param id The ID of the workflow step to retrieve (UUID) (required) * @param _callback The callback to be executed when the API call finishes @@ -949,8 +999,9 @@ public ApiResponse workflowStepsServiceGetWithHttpInfo( - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public okhttp3.Call workflowStepsServiceGetAsync(@javax.annotation.Nonnull String linkId, @javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { @@ -965,6 +1016,7 @@ public okhttp3.Call workflowStepsServiceGetAsync(@javax.annotation.Nonnull Strin * @param linkId The ID of the link to list workflow steps for (UUID) (required) * @param pageSize The maximum number of workflow steps to return (optional) (optional) * @param pageToken The token for retrieving the next page of results (optional) (optional) + * @param cursor Opaque cursor from the previous page's nextPageToken. Same as pageToken; when both are sent, pageToken wins. (optional) * @param _callback Callback for upload/download progress * @return Call to execute * @throws ApiException If fail to serialize the request body object @@ -972,11 +1024,12 @@ public okhttp3.Call workflowStepsServiceGetAsync(@javax.annotation.Nonnull Strin - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call workflowStepsServiceListCall(@javax.annotation.Nonnull String linkId, @javax.annotation.Nullable Long pageSize, @javax.annotation.Nullable String pageToken, final ApiCallback _callback) throws ApiException { + public okhttp3.Call workflowStepsServiceListCall(@javax.annotation.Nonnull String linkId, @javax.annotation.Nullable Long pageSize, @javax.annotation.Nullable String pageToken, @javax.annotation.Nullable String cursor, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -1010,6 +1063,10 @@ public okhttp3.Call workflowStepsServiceListCall(@javax.annotation.Nonnull Strin localVarQueryParams.addAll(localVarApiClient.parameterToPair("pageToken", pageToken)); } + if (cursor != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("cursor", cursor)); + } + final String[] localVarAccepts = { "application/json" }; @@ -1025,70 +1082,75 @@ public okhttp3.Call workflowStepsServiceListCall(@javax.annotation.Nonnull Strin localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @SuppressWarnings("rawtypes") - private okhttp3.Call workflowStepsServiceListValidateBeforeCall(@javax.annotation.Nonnull String linkId, @javax.annotation.Nullable Long pageSize, @javax.annotation.Nullable String pageToken, final ApiCallback _callback) throws ApiException { + private okhttp3.Call workflowStepsServiceListValidateBeforeCall(@javax.annotation.Nonnull String linkId, @javax.annotation.Nullable Long pageSize, @javax.annotation.Nullable String pageToken, @javax.annotation.Nullable String cursor, final ApiCallback _callback) throws ApiException { // verify the required parameter 'linkId' is set if (linkId == null) { throw new ApiException("Missing the required parameter 'linkId' when calling workflowStepsServiceList(Async)"); } - return workflowStepsServiceListCall(linkId, pageSize, pageToken, _callback); + return workflowStepsServiceListCall(linkId, pageSize, pageToken, cursor, _callback); } /** * List workflow steps for a link - * Retrieves all workflow steps for a specific link + * Retrieves all workflow steps for a specific link Requires the `workflows:read` scope. * @param linkId The ID of the link to list workflow steps for (UUID) (required) * @param pageSize The maximum number of workflow steps to return (optional) (optional) * @param pageToken The token for retrieving the next page of results (optional) (optional) + * @param cursor Opaque cursor from the previous page's nextPageToken. Same as pageToken; when both are sent, pageToken wins. (optional) * @return ListWorkflowStepsResponse * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public ListWorkflowStepsResponse workflowStepsServiceList(@javax.annotation.Nonnull String linkId, @javax.annotation.Nullable Long pageSize, @javax.annotation.Nullable String pageToken) throws ApiException { - ApiResponse localVarResp = workflowStepsServiceListWithHttpInfo(linkId, pageSize, pageToken); + public ListWorkflowStepsResponse workflowStepsServiceList(@javax.annotation.Nonnull String linkId, @javax.annotation.Nullable Long pageSize, @javax.annotation.Nullable String pageToken, @javax.annotation.Nullable String cursor) throws ApiException { + ApiResponse localVarResp = workflowStepsServiceListWithHttpInfo(linkId, pageSize, pageToken, cursor); return localVarResp.getData(); } /** * List workflow steps for a link - * Retrieves all workflow steps for a specific link + * Retrieves all workflow steps for a specific link Requires the `workflows:read` scope. * @param linkId The ID of the link to list workflow steps for (UUID) (required) * @param pageSize The maximum number of workflow steps to return (optional) (optional) * @param pageToken The token for retrieving the next page of results (optional) (optional) + * @param cursor Opaque cursor from the previous page's nextPageToken. Same as pageToken; when both are sent, pageToken wins. (optional) * @return ApiResponse<ListWorkflowStepsResponse> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public ApiResponse workflowStepsServiceListWithHttpInfo(@javax.annotation.Nonnull String linkId, @javax.annotation.Nullable Long pageSize, @javax.annotation.Nullable String pageToken) throws ApiException { - okhttp3.Call localVarCall = workflowStepsServiceListValidateBeforeCall(linkId, pageSize, pageToken, null); + public ApiResponse workflowStepsServiceListWithHttpInfo(@javax.annotation.Nonnull String linkId, @javax.annotation.Nullable Long pageSize, @javax.annotation.Nullable String pageToken, @javax.annotation.Nullable String cursor) throws ApiException { + okhttp3.Call localVarCall = workflowStepsServiceListValidateBeforeCall(linkId, pageSize, pageToken, cursor, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); } /** * List workflow steps for a link (asynchronously) - * Retrieves all workflow steps for a specific link + * Retrieves all workflow steps for a specific link Requires the `workflows:read` scope. * @param linkId The ID of the link to list workflow steps for (UUID) (required) * @param pageSize The maximum number of workflow steps to return (optional) (optional) * @param pageToken The token for retrieving the next page of results (optional) (optional) + * @param cursor Opaque cursor from the previous page's nextPageToken. Same as pageToken; when both are sent, pageToken wins. (optional) * @param _callback The callback to be executed when the API call finishes * @return The request call * @throws ApiException If fail to process the API call, e.g. serializing the request body object @@ -1096,13 +1158,14 @@ public ApiResponse workflowStepsServiceListWithHttpIn - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call workflowStepsServiceListAsync(@javax.annotation.Nonnull String linkId, @javax.annotation.Nullable Long pageSize, @javax.annotation.Nullable String pageToken, final ApiCallback _callback) throws ApiException { + public okhttp3.Call workflowStepsServiceListAsync(@javax.annotation.Nonnull String linkId, @javax.annotation.Nullable Long pageSize, @javax.annotation.Nullable String pageToken, @javax.annotation.Nullable String cursor, final ApiCallback _callback) throws ApiException { - okhttp3.Call localVarCall = workflowStepsServiceListValidateBeforeCall(linkId, pageSize, pageToken, _callback); + okhttp3.Call localVarCall = workflowStepsServiceListValidateBeforeCall(linkId, pageSize, pageToken, cursor, _callback); Type localVarReturnType = new TypeToken(){}.getType(); localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); return localVarCall; @@ -1112,6 +1175,7 @@ public okhttp3.Call workflowStepsServiceListAsync(@javax.annotation.Nonnull Stri * @param linkId (required) * @param stepId (required) * @param body (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @param _callback Callback for upload/download progress * @return Call to execute * @throws ApiException If fail to serialize the request body object @@ -1119,11 +1183,12 @@ public okhttp3.Call workflowStepsServiceListAsync(@javax.annotation.Nonnull Stri - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call workflowStepsServiceResolveStepCollisionsCall(@javax.annotation.Nonnull String linkId, @javax.annotation.Nonnull String stepId, @javax.annotation.Nonnull Object body, final ApiCallback _callback) throws ApiException { + public okhttp3.Call workflowStepsServiceResolveStepCollisionsCall(@javax.annotation.Nonnull String linkId, @javax.annotation.Nonnull String stepId, @javax.annotation.Nonnull Object body, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -1166,12 +1231,17 @@ public okhttp3.Call workflowStepsServiceResolveStepCollisionsCall(@javax.annotat localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + if (idempotencyKey != null) { + localVarHeaderParams.put("Idempotency-Key", localVarApiClient.parameterToString(idempotencyKey)); + } + + + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; return localVarApiClient.buildCall(basePath, localVarPath, "POST", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @SuppressWarnings("rawtypes") - private okhttp3.Call workflowStepsServiceResolveStepCollisionsValidateBeforeCall(@javax.annotation.Nonnull String linkId, @javax.annotation.Nonnull String stepId, @javax.annotation.Nonnull Object body, final ApiCallback _callback) throws ApiException { + private okhttp3.Call workflowStepsServiceResolveStepCollisionsValidateBeforeCall(@javax.annotation.Nonnull String linkId, @javax.annotation.Nonnull String stepId, @javax.annotation.Nonnull Object body, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { // verify the required parameter 'linkId' is set if (linkId == null) { throw new ApiException("Missing the required parameter 'linkId' when calling workflowStepsServiceResolveStepCollisions(Async)"); @@ -1187,59 +1257,64 @@ private okhttp3.Call workflowStepsServiceResolveStepCollisionsValidateBeforeCall throw new ApiException("Missing the required parameter 'body' when calling workflowStepsServiceResolveStepCollisions(Async)"); } - return workflowStepsServiceResolveStepCollisionsCall(linkId, stepId, body, _callback); + return workflowStepsServiceResolveStepCollisionsCall(linkId, stepId, body, idempotencyKey, _callback); } /** * Resolve step collisions - * Pushes overlapping steps away from a given anchor step using iterative radial repulsion. The anchor step stays fixed. Use after adding or moving individual steps to preserve the existing layout. + * Pushes overlapping steps away from a given anchor step using iterative radial repulsion. The anchor step stays fixed. Use after adding or moving individual steps to preserve the existing layout. Requires the `workflows:write` scope. * @param linkId (required) * @param stepId (required) * @param body (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return ResolveStepCollisionsResponse * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public ResolveStepCollisionsResponse workflowStepsServiceResolveStepCollisions(@javax.annotation.Nonnull String linkId, @javax.annotation.Nonnull String stepId, @javax.annotation.Nonnull Object body) throws ApiException { - ApiResponse localVarResp = workflowStepsServiceResolveStepCollisionsWithHttpInfo(linkId, stepId, body); + public ResolveStepCollisionsResponse workflowStepsServiceResolveStepCollisions(@javax.annotation.Nonnull String linkId, @javax.annotation.Nonnull String stepId, @javax.annotation.Nonnull Object body, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + ApiResponse localVarResp = workflowStepsServiceResolveStepCollisionsWithHttpInfo(linkId, stepId, body, idempotencyKey); return localVarResp.getData(); } /** * Resolve step collisions - * Pushes overlapping steps away from a given anchor step using iterative radial repulsion. The anchor step stays fixed. Use after adding or moving individual steps to preserve the existing layout. + * Pushes overlapping steps away from a given anchor step using iterative radial repulsion. The anchor step stays fixed. Use after adding or moving individual steps to preserve the existing layout. Requires the `workflows:write` scope. * @param linkId (required) * @param stepId (required) * @param body (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return ApiResponse<ResolveStepCollisionsResponse> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public ApiResponse workflowStepsServiceResolveStepCollisionsWithHttpInfo(@javax.annotation.Nonnull String linkId, @javax.annotation.Nonnull String stepId, @javax.annotation.Nonnull Object body) throws ApiException { - okhttp3.Call localVarCall = workflowStepsServiceResolveStepCollisionsValidateBeforeCall(linkId, stepId, body, null); + public ApiResponse workflowStepsServiceResolveStepCollisionsWithHttpInfo(@javax.annotation.Nonnull String linkId, @javax.annotation.Nonnull String stepId, @javax.annotation.Nonnull Object body, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + okhttp3.Call localVarCall = workflowStepsServiceResolveStepCollisionsValidateBeforeCall(linkId, stepId, body, idempotencyKey, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); } /** * Resolve step collisions (asynchronously) - * Pushes overlapping steps away from a given anchor step using iterative radial repulsion. The anchor step stays fixed. Use after adding or moving individual steps to preserve the existing layout. + * Pushes overlapping steps away from a given anchor step using iterative radial repulsion. The anchor step stays fixed. Use after adding or moving individual steps to preserve the existing layout. Requires the `workflows:write` scope. * @param linkId (required) * @param stepId (required) * @param body (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @param _callback The callback to be executed when the API call finishes * @return The request call * @throws ApiException If fail to process the API call, e.g. serializing the request body object @@ -1247,13 +1322,14 @@ public ApiResponse workflowStepsServiceResolveSte - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call workflowStepsServiceResolveStepCollisionsAsync(@javax.annotation.Nonnull String linkId, @javax.annotation.Nonnull String stepId, @javax.annotation.Nonnull Object body, final ApiCallback _callback) throws ApiException { + public okhttp3.Call workflowStepsServiceResolveStepCollisionsAsync(@javax.annotation.Nonnull String linkId, @javax.annotation.Nonnull String stepId, @javax.annotation.Nonnull Object body, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { - okhttp3.Call localVarCall = workflowStepsServiceResolveStepCollisionsValidateBeforeCall(linkId, stepId, body, _callback); + okhttp3.Call localVarCall = workflowStepsServiceResolveStepCollisionsValidateBeforeCall(linkId, stepId, body, idempotencyKey, _callback); Type localVarReturnType = new TypeToken(){}.getType(); localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); return localVarCall; @@ -1263,6 +1339,7 @@ public okhttp3.Call workflowStepsServiceResolveStepCollisionsAsync(@javax.annota * @param linkId The ID of the link (UUID) (required) * @param id The ID of the workflow step to update (UUID) (required) * @param workflowStepsServiceUpdateBody (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @param _callback Callback for upload/download progress * @return Call to execute * @throws ApiException If fail to serialize the request body object @@ -1270,11 +1347,12 @@ public okhttp3.Call workflowStepsServiceResolveStepCollisionsAsync(@javax.annota - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call workflowStepsServiceUpdateCall(@javax.annotation.Nonnull String linkId, @javax.annotation.Nonnull String id, @javax.annotation.Nonnull WorkflowStepsServiceUpdateBody workflowStepsServiceUpdateBody, final ApiCallback _callback) throws ApiException { + public okhttp3.Call workflowStepsServiceUpdateCall(@javax.annotation.Nonnull String linkId, @javax.annotation.Nonnull String id, @javax.annotation.Nonnull WorkflowStepsServiceUpdateBody workflowStepsServiceUpdateBody, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -1317,12 +1395,17 @@ public okhttp3.Call workflowStepsServiceUpdateCall(@javax.annotation.Nonnull Str localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + if (idempotencyKey != null) { + localVarHeaderParams.put("Idempotency-Key", localVarApiClient.parameterToString(idempotencyKey)); + } + + + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; return localVarApiClient.buildCall(basePath, localVarPath, "PATCH", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @SuppressWarnings("rawtypes") - private okhttp3.Call workflowStepsServiceUpdateValidateBeforeCall(@javax.annotation.Nonnull String linkId, @javax.annotation.Nonnull String id, @javax.annotation.Nonnull WorkflowStepsServiceUpdateBody workflowStepsServiceUpdateBody, final ApiCallback _callback) throws ApiException { + private okhttp3.Call workflowStepsServiceUpdateValidateBeforeCall(@javax.annotation.Nonnull String linkId, @javax.annotation.Nonnull String id, @javax.annotation.Nonnull WorkflowStepsServiceUpdateBody workflowStepsServiceUpdateBody, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { // verify the required parameter 'linkId' is set if (linkId == null) { throw new ApiException("Missing the required parameter 'linkId' when calling workflowStepsServiceUpdate(Async)"); @@ -1338,59 +1421,64 @@ private okhttp3.Call workflowStepsServiceUpdateValidateBeforeCall(@javax.annotat throw new ApiException("Missing the required parameter 'workflowStepsServiceUpdateBody' when calling workflowStepsServiceUpdate(Async)"); } - return workflowStepsServiceUpdateCall(linkId, id, workflowStepsServiceUpdateBody, _callback); + return workflowStepsServiceUpdateCall(linkId, id, workflowStepsServiceUpdateBody, idempotencyKey, _callback); } /** * Update a workflow step - * Updates an existing workflow step for a link. + * Updates an existing workflow step for a link. Requires the `workflows:write` scope. * @param linkId The ID of the link (UUID) (required) * @param id The ID of the workflow step to update (UUID) (required) * @param workflowStepsServiceUpdateBody (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return UpdateWorkflowStepResponse * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public UpdateWorkflowStepResponse workflowStepsServiceUpdate(@javax.annotation.Nonnull String linkId, @javax.annotation.Nonnull String id, @javax.annotation.Nonnull WorkflowStepsServiceUpdateBody workflowStepsServiceUpdateBody) throws ApiException { - ApiResponse localVarResp = workflowStepsServiceUpdateWithHttpInfo(linkId, id, workflowStepsServiceUpdateBody); + public UpdateWorkflowStepResponse workflowStepsServiceUpdate(@javax.annotation.Nonnull String linkId, @javax.annotation.Nonnull String id, @javax.annotation.Nonnull WorkflowStepsServiceUpdateBody workflowStepsServiceUpdateBody, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + ApiResponse localVarResp = workflowStepsServiceUpdateWithHttpInfo(linkId, id, workflowStepsServiceUpdateBody, idempotencyKey); return localVarResp.getData(); } /** * Update a workflow step - * Updates an existing workflow step for a link. + * Updates an existing workflow step for a link. Requires the `workflows:write` scope. * @param linkId The ID of the link (UUID) (required) * @param id The ID of the workflow step to update (UUID) (required) * @param workflowStepsServiceUpdateBody (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return ApiResponse<UpdateWorkflowStepResponse> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public ApiResponse workflowStepsServiceUpdateWithHttpInfo(@javax.annotation.Nonnull String linkId, @javax.annotation.Nonnull String id, @javax.annotation.Nonnull WorkflowStepsServiceUpdateBody workflowStepsServiceUpdateBody) throws ApiException { - okhttp3.Call localVarCall = workflowStepsServiceUpdateValidateBeforeCall(linkId, id, workflowStepsServiceUpdateBody, null); + public ApiResponse workflowStepsServiceUpdateWithHttpInfo(@javax.annotation.Nonnull String linkId, @javax.annotation.Nonnull String id, @javax.annotation.Nonnull WorkflowStepsServiceUpdateBody workflowStepsServiceUpdateBody, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + okhttp3.Call localVarCall = workflowStepsServiceUpdateValidateBeforeCall(linkId, id, workflowStepsServiceUpdateBody, idempotencyKey, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); } /** * Update a workflow step (asynchronously) - * Updates an existing workflow step for a link. + * Updates an existing workflow step for a link. Requires the `workflows:write` scope. * @param linkId The ID of the link (UUID) (required) * @param id The ID of the workflow step to update (UUID) (required) * @param workflowStepsServiceUpdateBody (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @param _callback The callback to be executed when the API call finishes * @return The request call * @throws ApiException If fail to process the API call, e.g. serializing the request body object @@ -1398,13 +1486,14 @@ public ApiResponse workflowStepsServiceUpdateWithHtt - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call workflowStepsServiceUpdateAsync(@javax.annotation.Nonnull String linkId, @javax.annotation.Nonnull String id, @javax.annotation.Nonnull WorkflowStepsServiceUpdateBody workflowStepsServiceUpdateBody, final ApiCallback _callback) throws ApiException { + public okhttp3.Call workflowStepsServiceUpdateAsync(@javax.annotation.Nonnull String linkId, @javax.annotation.Nonnull String id, @javax.annotation.Nonnull WorkflowStepsServiceUpdateBody workflowStepsServiceUpdateBody, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { - okhttp3.Call localVarCall = workflowStepsServiceUpdateValidateBeforeCall(linkId, id, workflowStepsServiceUpdateBody, _callback); + okhttp3.Call localVarCall = workflowStepsServiceUpdateValidateBeforeCall(linkId, id, workflowStepsServiceUpdateBody, idempotencyKey, _callback); Type localVarReturnType = new TypeToken(){}.getType(); localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); return localVarCall; @@ -1419,8 +1508,9 @@ public okhttp3.Call workflowStepsServiceUpdateAsync(@javax.annotation.Nonnull St - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public okhttp3.Call workflowStepsServiceValidateWorkflowCall(@javax.annotation.Nonnull String linkId, final ApiCallback _callback) throws ApiException { @@ -1464,7 +1554,7 @@ public okhttp3.Call workflowStepsServiceValidateWorkflowCall(@javax.annotation.N localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @@ -1481,7 +1571,7 @@ private okhttp3.Call workflowStepsServiceValidateWorkflowValidateBeforeCall(@jav /** * - * + * Requires the `workflows:read` scope. * @param linkId (required) * @return ValidateWorkflowResponse * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body @@ -1489,8 +1579,9 @@ private okhttp3.Call workflowStepsServiceValidateWorkflowValidateBeforeCall(@jav - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public ValidateWorkflowResponse workflowStepsServiceValidateWorkflow(@javax.annotation.Nonnull String linkId) throws ApiException { @@ -1500,7 +1591,7 @@ public ValidateWorkflowResponse workflowStepsServiceValidateWorkflow(@javax.anno /** * - * + * Requires the `workflows:read` scope. * @param linkId (required) * @return ApiResponse<ValidateWorkflowResponse> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body @@ -1508,8 +1599,9 @@ public ValidateWorkflowResponse workflowStepsServiceValidateWorkflow(@javax.anno - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public ApiResponse workflowStepsServiceValidateWorkflowWithHttpInfo(@javax.annotation.Nonnull String linkId) throws ApiException { @@ -1520,7 +1612,7 @@ public ApiResponse workflowStepsServiceValidateWorkflo /** * (asynchronously) - * + * Requires the `workflows:read` scope. * @param linkId (required) * @param _callback The callback to be executed when the API call finishes * @return The request call @@ -1529,8 +1621,9 @@ public ApiResponse workflowStepsServiceValidateWorkflo - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public okhttp3.Call workflowStepsServiceValidateWorkflowAsync(@javax.annotation.Nonnull String linkId, final ApiCallback _callback) throws ApiException { diff --git a/src/main/java/com/linkbreakers/api/WorkspaceMetricsApi.java b/src/main/java/com/linkbreakers/api/WorkspaceMetricsApi.java index ce64fa124..5f7659d8e 100644 --- a/src/main/java/com/linkbreakers/api/WorkspaceMetricsApi.java +++ b/src/main/java/com/linkbreakers/api/WorkspaceMetricsApi.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -88,8 +88,9 @@ public void setCustomBaseUrl(String customBaseUrl) { - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public okhttp3.Call metricsServiceGetEventsMetricCall(@javax.annotation.Nullable OffsetDateTime startDate, @javax.annotation.Nullable OffsetDateTime endDate, @javax.annotation.Nullable String linkId, final ApiCallback _callback) throws ApiException { @@ -144,7 +145,7 @@ public okhttp3.Call metricsServiceGetEventsMetricCall(@javax.annotation.Nullable localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @@ -156,7 +157,7 @@ private okhttp3.Call metricsServiceGetEventsMetricValidateBeforeCall(@javax.anno /** * Get events metric - * Retrieve aggregated event analytics for the provided time window and optional link filter. + * Retrieve aggregated event analytics for the provided time window and optional link filter. Requires the `analytics:read` scope. * @param startDate Inclusive start timestamp for the aggregation (optional) * @param endDate Inclusive end timestamp for the aggregation (optional) * @param linkId Optional link filter (UUID); when omitted aggregates workspace-wide UUID format (optional) @@ -166,8 +167,9 @@ private okhttp3.Call metricsServiceGetEventsMetricValidateBeforeCall(@javax.anno - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public EventsMetric metricsServiceGetEventsMetric(@javax.annotation.Nullable OffsetDateTime startDate, @javax.annotation.Nullable OffsetDateTime endDate, @javax.annotation.Nullable String linkId) throws ApiException { @@ -177,7 +179,7 @@ public EventsMetric metricsServiceGetEventsMetric(@javax.annotation.Nullable Off /** * Get events metric - * Retrieve aggregated event analytics for the provided time window and optional link filter. + * Retrieve aggregated event analytics for the provided time window and optional link filter. Requires the `analytics:read` scope. * @param startDate Inclusive start timestamp for the aggregation (optional) * @param endDate Inclusive end timestamp for the aggregation (optional) * @param linkId Optional link filter (UUID); when omitted aggregates workspace-wide UUID format (optional) @@ -187,8 +189,9 @@ public EventsMetric metricsServiceGetEventsMetric(@javax.annotation.Nullable Off - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public ApiResponse metricsServiceGetEventsMetricWithHttpInfo(@javax.annotation.Nullable OffsetDateTime startDate, @javax.annotation.Nullable OffsetDateTime endDate, @javax.annotation.Nullable String linkId) throws ApiException { @@ -199,7 +202,7 @@ public ApiResponse metricsServiceGetEventsMetricWithHttpInfo(@java /** * Get events metric (asynchronously) - * Retrieve aggregated event analytics for the provided time window and optional link filter. + * Retrieve aggregated event analytics for the provided time window and optional link filter. Requires the `analytics:read` scope. * @param startDate Inclusive start timestamp for the aggregation (optional) * @param endDate Inclusive end timestamp for the aggregation (optional) * @param linkId Optional link filter (UUID); when omitted aggregates workspace-wide UUID format (optional) @@ -210,8 +213,9 @@ public ApiResponse metricsServiceGetEventsMetricWithHttpInfo(@java - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public okhttp3.Call metricsServiceGetEventsMetricAsync(@javax.annotation.Nullable OffsetDateTime startDate, @javax.annotation.Nullable OffsetDateTime endDate, @javax.annotation.Nullable String linkId, final ApiCallback _callback) throws ApiException { @@ -230,8 +234,9 @@ public okhttp3.Call metricsServiceGetEventsMetricAsync(@javax.annotation.Nullabl - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public okhttp3.Call metricsServiceGetWorkspaceInsightCall(final ApiCallback _callback) throws ApiException { @@ -274,7 +279,7 @@ public okhttp3.Call metricsServiceGetWorkspaceInsightCall(final ApiCallback _cal localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @@ -286,15 +291,16 @@ private okhttp3.Call metricsServiceGetWorkspaceInsightValidateBeforeCall(final A /** * Get workspace insight - * Return workspace usage insights including the preferred link type based on historical link creation patterns. + * Return workspace usage insights including the preferred link type based on historical link creation patterns. Requires the `analytics:read` scope. * @return WorkspaceInsight * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public WorkspaceInsight metricsServiceGetWorkspaceInsight() throws ApiException { @@ -304,15 +310,16 @@ public WorkspaceInsight metricsServiceGetWorkspaceInsight() throws ApiException /** * Get workspace insight - * Return workspace usage insights including the preferred link type based on historical link creation patterns. + * Return workspace usage insights including the preferred link type based on historical link creation patterns. Requires the `analytics:read` scope. * @return ApiResponse<WorkspaceInsight> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public ApiResponse metricsServiceGetWorkspaceInsightWithHttpInfo() throws ApiException { @@ -323,7 +330,7 @@ public ApiResponse metricsServiceGetWorkspaceInsightWithHttpIn /** * Get workspace insight (asynchronously) - * Return workspace usage insights including the preferred link type based on historical link creation patterns. + * Return workspace usage insights including the preferred link type based on historical link creation patterns. Requires the `analytics:read` scope. * @param _callback The callback to be executed when the API call finishes * @return The request call * @throws ApiException If fail to process the API call, e.g. serializing the request body object @@ -331,8 +338,9 @@ public ApiResponse metricsServiceGetWorkspaceInsightWithHttpIn - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public okhttp3.Call metricsServiceGetWorkspaceInsightAsync(final ApiCallback _callback) throws ApiException { @@ -351,8 +359,9 @@ public okhttp3.Call metricsServiceGetWorkspaceInsightAsync(final ApiCallback Response Details Status Code Description Response Headers - 200 Everything worked as expected. - - 0 Unexpected error - + 200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
+ 429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
+ 0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public okhttp3.Call metricsServiceGetWorkspaceMetricCall(final ApiCallback _callback) throws ApiException { @@ -395,7 +404,7 @@ public okhttp3.Call metricsServiceGetWorkspaceMetricCall(final ApiCallback _call localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @@ -407,15 +416,16 @@ private okhttp3.Call metricsServiceGetWorkspaceMetricValidateBeforeCall(final Ap /** * Get workspace metric - * Return high-level workspace totals covering members, links, and activity volume. + * Return high-level workspace totals covering members, links, and activity volume. Requires the `analytics:read` scope. * @return WorkspaceMetric * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public WorkspaceMetric metricsServiceGetWorkspaceMetric() throws ApiException { @@ -425,15 +435,16 @@ public WorkspaceMetric metricsServiceGetWorkspaceMetric() throws ApiException { /** * Get workspace metric - * Return high-level workspace totals covering members, links, and activity volume. + * Return high-level workspace totals covering members, links, and activity volume. Requires the `analytics:read` scope. * @return ApiResponse<WorkspaceMetric> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public ApiResponse metricsServiceGetWorkspaceMetricWithHttpInfo() throws ApiException { @@ -444,7 +455,7 @@ public ApiResponse metricsServiceGetWorkspaceMetricWithHttpInfo /** * Get workspace metric (asynchronously) - * Return high-level workspace totals covering members, links, and activity volume. + * Return high-level workspace totals covering members, links, and activity volume. Requires the `analytics:read` scope. * @param _callback The callback to be executed when the API call finishes * @return The request call * @throws ApiException If fail to process the API call, e.g. serializing the request body object @@ -452,8 +463,9 @@ public ApiResponse metricsServiceGetWorkspaceMetricWithHttpInfo - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public okhttp3.Call metricsServiceGetWorkspaceMetricAsync(final ApiCallback _callback) throws ApiException { diff --git a/src/main/java/com/linkbreakers/api/WorkspaceTokensApi.java b/src/main/java/com/linkbreakers/api/WorkspaceTokensApi.java index 3e3eb988b..7d78aeba5 100644 --- a/src/main/java/com/linkbreakers/api/WorkspaceTokensApi.java +++ b/src/main/java/com/linkbreakers/api/WorkspaceTokensApi.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -32,6 +32,8 @@ import com.linkbreakers.model.ErrorResponse; import com.linkbreakers.model.GetWorkspaceTokenResponse; import com.linkbreakers.model.ListWorkspaceTokensResponse; +import com.linkbreakers.model.UpdateWorkspaceTokenResponse; +import com.linkbreakers.model.WorkspaceTokensServiceUpdateBody; import java.lang.reflect.Type; import java.util.ArrayList; @@ -79,6 +81,7 @@ public void setCustomBaseUrl(String customBaseUrl) { /** * Build call for workspaceTokensServiceCreate * @param createWorkspaceTokenRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @param _callback Callback for upload/download progress * @return Call to execute * @throws ApiException If fail to serialize the request body object @@ -86,11 +89,12 @@ public void setCustomBaseUrl(String customBaseUrl) { - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call workspaceTokensServiceCreateCall(@javax.annotation.Nonnull CreateWorkspaceTokenRequest createWorkspaceTokenRequest, final ApiCallback _callback) throws ApiException { + public okhttp3.Call workspaceTokensServiceCreateCall(@javax.annotation.Nonnull CreateWorkspaceTokenRequest createWorkspaceTokenRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -131,64 +135,74 @@ public okhttp3.Call workspaceTokensServiceCreateCall(@javax.annotation.Nonnull C localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + if (idempotencyKey != null) { + localVarHeaderParams.put("Idempotency-Key", localVarApiClient.parameterToString(idempotencyKey)); + } + + + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; return localVarApiClient.buildCall(basePath, localVarPath, "POST", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @SuppressWarnings("rawtypes") - private okhttp3.Call workspaceTokensServiceCreateValidateBeforeCall(@javax.annotation.Nonnull CreateWorkspaceTokenRequest createWorkspaceTokenRequest, final ApiCallback _callback) throws ApiException { + private okhttp3.Call workspaceTokensServiceCreateValidateBeforeCall(@javax.annotation.Nonnull CreateWorkspaceTokenRequest createWorkspaceTokenRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { // verify the required parameter 'createWorkspaceTokenRequest' is set if (createWorkspaceTokenRequest == null) { throw new ApiException("Missing the required parameter 'createWorkspaceTokenRequest' when calling workspaceTokensServiceCreate(Async)"); } - return workspaceTokensServiceCreateCall(createWorkspaceTokenRequest, _callback); + return workspaceTokensServiceCreateCall(createWorkspaceTokenRequest, idempotencyKey, _callback); } /** * Create a workspace token - * Generate a new long-lived API token and return the one-time access secret. + * Generate a new long-lived API token and return the one-time access secret. Requires the `tokens:write` scope. * @param createWorkspaceTokenRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return CreateWorkspaceTokenResponse * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public CreateWorkspaceTokenResponse workspaceTokensServiceCreate(@javax.annotation.Nonnull CreateWorkspaceTokenRequest createWorkspaceTokenRequest) throws ApiException { - ApiResponse localVarResp = workspaceTokensServiceCreateWithHttpInfo(createWorkspaceTokenRequest); + public CreateWorkspaceTokenResponse workspaceTokensServiceCreate(@javax.annotation.Nonnull CreateWorkspaceTokenRequest createWorkspaceTokenRequest, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + ApiResponse localVarResp = workspaceTokensServiceCreateWithHttpInfo(createWorkspaceTokenRequest, idempotencyKey); return localVarResp.getData(); } /** * Create a workspace token - * Generate a new long-lived API token and return the one-time access secret. + * Generate a new long-lived API token and return the one-time access secret. Requires the `tokens:write` scope. * @param createWorkspaceTokenRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return ApiResponse<CreateWorkspaceTokenResponse> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public ApiResponse workspaceTokensServiceCreateWithHttpInfo(@javax.annotation.Nonnull CreateWorkspaceTokenRequest createWorkspaceTokenRequest) throws ApiException { - okhttp3.Call localVarCall = workspaceTokensServiceCreateValidateBeforeCall(createWorkspaceTokenRequest, null); + public ApiResponse workspaceTokensServiceCreateWithHttpInfo(@javax.annotation.Nonnull CreateWorkspaceTokenRequest createWorkspaceTokenRequest, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + okhttp3.Call localVarCall = workspaceTokensServiceCreateValidateBeforeCall(createWorkspaceTokenRequest, idempotencyKey, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); } /** * Create a workspace token (asynchronously) - * Generate a new long-lived API token and return the one-time access secret. + * Generate a new long-lived API token and return the one-time access secret. Requires the `tokens:write` scope. * @param createWorkspaceTokenRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @param _callback The callback to be executed when the API call finishes * @return The request call * @throws ApiException If fail to process the API call, e.g. serializing the request body object @@ -196,13 +210,14 @@ public ApiResponse workspaceTokensServiceCreateWit - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call workspaceTokensServiceCreateAsync(@javax.annotation.Nonnull CreateWorkspaceTokenRequest createWorkspaceTokenRequest, final ApiCallback _callback) throws ApiException { + public okhttp3.Call workspaceTokensServiceCreateAsync(@javax.annotation.Nonnull CreateWorkspaceTokenRequest createWorkspaceTokenRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { - okhttp3.Call localVarCall = workspaceTokensServiceCreateValidateBeforeCall(createWorkspaceTokenRequest, _callback); + okhttp3.Call localVarCall = workspaceTokensServiceCreateValidateBeforeCall(createWorkspaceTokenRequest, idempotencyKey, _callback); Type localVarReturnType = new TypeToken(){}.getType(); localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); return localVarCall; @@ -217,8 +232,9 @@ public okhttp3.Call workspaceTokensServiceCreateAsync(@javax.annotation.Nonnull - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public okhttp3.Call workspaceTokensServiceDeleteCall(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { @@ -262,7 +278,7 @@ public okhttp3.Call workspaceTokensServiceDeleteCall(@javax.annotation.Nonnull S localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; return localVarApiClient.buildCall(basePath, localVarPath, "DELETE", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @@ -279,7 +295,7 @@ private okhttp3.Call workspaceTokensServiceDeleteValidateBeforeCall(@javax.annot /** * Delete a workspace token - * Revoke a workspace token immediately so it can no longer authenticate. + * Revoke a workspace token immediately so it can no longer authenticate. Requires the `tokens:write` scope. * @param id Identifier of the token to revoke (UUID) (required) * @return Object * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body @@ -287,8 +303,9 @@ private okhttp3.Call workspaceTokensServiceDeleteValidateBeforeCall(@javax.annot - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public Object workspaceTokensServiceDelete(@javax.annotation.Nonnull String id) throws ApiException { @@ -298,7 +315,7 @@ public Object workspaceTokensServiceDelete(@javax.annotation.Nonnull String id) /** * Delete a workspace token - * Revoke a workspace token immediately so it can no longer authenticate. + * Revoke a workspace token immediately so it can no longer authenticate. Requires the `tokens:write` scope. * @param id Identifier of the token to revoke (UUID) (required) * @return ApiResponse<Object> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body @@ -306,8 +323,9 @@ public Object workspaceTokensServiceDelete(@javax.annotation.Nonnull String id) - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public ApiResponse workspaceTokensServiceDeleteWithHttpInfo(@javax.annotation.Nonnull String id) throws ApiException { @@ -318,7 +336,7 @@ public ApiResponse workspaceTokensServiceDeleteWithHttpInfo(@javax.annot /** * Delete a workspace token (asynchronously) - * Revoke a workspace token immediately so it can no longer authenticate. + * Revoke a workspace token immediately so it can no longer authenticate. Requires the `tokens:write` scope. * @param id Identifier of the token to revoke (UUID) (required) * @param _callback The callback to be executed when the API call finishes * @return The request call @@ -327,8 +345,9 @@ public ApiResponse workspaceTokensServiceDeleteWithHttpInfo(@javax.annot - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public okhttp3.Call workspaceTokensServiceDeleteAsync(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { @@ -348,8 +367,9 @@ public okhttp3.Call workspaceTokensServiceDeleteAsync(@javax.annotation.Nonnull - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public okhttp3.Call workspaceTokensServiceGetCall(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { @@ -393,7 +413,7 @@ public okhttp3.Call workspaceTokensServiceGetCall(@javax.annotation.Nonnull Stri localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @@ -410,7 +430,7 @@ private okhttp3.Call workspaceTokensServiceGetValidateBeforeCall(@javax.annotati /** * Get a workspace token - * Retrieve metadata for a specific workspace token without revealing its secret. + * Retrieve metadata for a specific workspace token without revealing its secret. Requires the `tokens:read` scope. * @param id Identifier of the desired token (UUID) (required) * @return GetWorkspaceTokenResponse * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body @@ -418,8 +438,9 @@ private okhttp3.Call workspaceTokensServiceGetValidateBeforeCall(@javax.annotati - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public GetWorkspaceTokenResponse workspaceTokensServiceGet(@javax.annotation.Nonnull String id) throws ApiException { @@ -429,7 +450,7 @@ public GetWorkspaceTokenResponse workspaceTokensServiceGet(@javax.annotation.Non /** * Get a workspace token - * Retrieve metadata for a specific workspace token without revealing its secret. + * Retrieve metadata for a specific workspace token without revealing its secret. Requires the `tokens:read` scope. * @param id Identifier of the desired token (UUID) (required) * @return ApiResponse<GetWorkspaceTokenResponse> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body @@ -437,8 +458,9 @@ public GetWorkspaceTokenResponse workspaceTokensServiceGet(@javax.annotation.Non - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public ApiResponse workspaceTokensServiceGetWithHttpInfo(@javax.annotation.Nonnull String id) throws ApiException { @@ -449,7 +471,7 @@ public ApiResponse workspaceTokensServiceGetWithHttpI /** * Get a workspace token (asynchronously) - * Retrieve metadata for a specific workspace token without revealing its secret. + * Retrieve metadata for a specific workspace token without revealing its secret. Requires the `tokens:read` scope. * @param id Identifier of the desired token (UUID) (required) * @param _callback The callback to be executed when the API call finishes * @return The request call @@ -458,8 +480,9 @@ public ApiResponse workspaceTokensServiceGetWithHttpI - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public okhttp3.Call workspaceTokensServiceGetAsync(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { @@ -473,6 +496,7 @@ public okhttp3.Call workspaceTokensServiceGetAsync(@javax.annotation.Nonnull Str * Build call for workspaceTokensServiceList * @param pageSize Maximum number to return. Defaults to 100, capped at 1000. (optional) * @param pageToken Cursor from a previous response's next_page_token. Empty starts at the first page. Pages are ordered by (created_at, id), which never change, so a record cannot move between pages while a client is walking them. (optional) + * @param cursor Opaque cursor from the previous page's nextPageToken. Same as pageToken; when both are sent, pageToken wins. (optional) * @param _callback Callback for upload/download progress * @return Call to execute * @throws ApiException If fail to serialize the request body object @@ -480,11 +504,12 @@ public okhttp3.Call workspaceTokensServiceGetAsync(@javax.annotation.Nonnull Str - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call workspaceTokensServiceListCall(@javax.annotation.Nullable Long pageSize, @javax.annotation.Nullable String pageToken, final ApiCallback _callback) throws ApiException { + public okhttp3.Call workspaceTokensServiceListCall(@javax.annotation.Nullable Long pageSize, @javax.annotation.Nullable String pageToken, @javax.annotation.Nullable String cursor, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -517,6 +542,10 @@ public okhttp3.Call workspaceTokensServiceListCall(@javax.annotation.Nullable Lo localVarQueryParams.addAll(localVarApiClient.parameterToPair("pageToken", pageToken)); } + if (cursor != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("cursor", cursor)); + } + final String[] localVarAccepts = { "application/json" }; @@ -532,62 +561,67 @@ public okhttp3.Call workspaceTokensServiceListCall(@javax.annotation.Nullable Lo localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @SuppressWarnings("rawtypes") - private okhttp3.Call workspaceTokensServiceListValidateBeforeCall(@javax.annotation.Nullable Long pageSize, @javax.annotation.Nullable String pageToken, final ApiCallback _callback) throws ApiException { - return workspaceTokensServiceListCall(pageSize, pageToken, _callback); + private okhttp3.Call workspaceTokensServiceListValidateBeforeCall(@javax.annotation.Nullable Long pageSize, @javax.annotation.Nullable String pageToken, @javax.annotation.Nullable String cursor, final ApiCallback _callback) throws ApiException { + return workspaceTokensServiceListCall(pageSize, pageToken, cursor, _callback); } /** * List workspace tokens - * Enumerate all active workspace tokens for auditing and management. + * Enumerate all active workspace tokens for auditing and management. Requires the `tokens:read` scope. * @param pageSize Maximum number to return. Defaults to 100, capped at 1000. (optional) * @param pageToken Cursor from a previous response's next_page_token. Empty starts at the first page. Pages are ordered by (created_at, id), which never change, so a record cannot move between pages while a client is walking them. (optional) + * @param cursor Opaque cursor from the previous page's nextPageToken. Same as pageToken; when both are sent, pageToken wins. (optional) * @return ListWorkspaceTokensResponse * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public ListWorkspaceTokensResponse workspaceTokensServiceList(@javax.annotation.Nullable Long pageSize, @javax.annotation.Nullable String pageToken) throws ApiException { - ApiResponse localVarResp = workspaceTokensServiceListWithHttpInfo(pageSize, pageToken); + public ListWorkspaceTokensResponse workspaceTokensServiceList(@javax.annotation.Nullable Long pageSize, @javax.annotation.Nullable String pageToken, @javax.annotation.Nullable String cursor) throws ApiException { + ApiResponse localVarResp = workspaceTokensServiceListWithHttpInfo(pageSize, pageToken, cursor); return localVarResp.getData(); } /** * List workspace tokens - * Enumerate all active workspace tokens for auditing and management. + * Enumerate all active workspace tokens for auditing and management. Requires the `tokens:read` scope. * @param pageSize Maximum number to return. Defaults to 100, capped at 1000. (optional) * @param pageToken Cursor from a previous response's next_page_token. Empty starts at the first page. Pages are ordered by (created_at, id), which never change, so a record cannot move between pages while a client is walking them. (optional) + * @param cursor Opaque cursor from the previous page's nextPageToken. Same as pageToken; when both are sent, pageToken wins. (optional) * @return ApiResponse<ListWorkspaceTokensResponse> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public ApiResponse workspaceTokensServiceListWithHttpInfo(@javax.annotation.Nullable Long pageSize, @javax.annotation.Nullable String pageToken) throws ApiException { - okhttp3.Call localVarCall = workspaceTokensServiceListValidateBeforeCall(pageSize, pageToken, null); + public ApiResponse workspaceTokensServiceListWithHttpInfo(@javax.annotation.Nullable Long pageSize, @javax.annotation.Nullable String pageToken, @javax.annotation.Nullable String cursor) throws ApiException { + okhttp3.Call localVarCall = workspaceTokensServiceListValidateBeforeCall(pageSize, pageToken, cursor, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); } /** * List workspace tokens (asynchronously) - * Enumerate all active workspace tokens for auditing and management. + * Enumerate all active workspace tokens for auditing and management. Requires the `tokens:read` scope. * @param pageSize Maximum number to return. Defaults to 100, capped at 1000. (optional) * @param pageToken Cursor from a previous response's next_page_token. Empty starts at the first page. Pages are ordered by (created_at, id), which never change, so a record cannot move between pages while a client is walking them. (optional) + * @param cursor Opaque cursor from the previous page's nextPageToken. Same as pageToken; when both are sent, pageToken wins. (optional) * @param _callback The callback to be executed when the API call finishes * @return The request call * @throws ApiException If fail to process the API call, e.g. serializing the request body object @@ -595,15 +629,170 @@ public ApiResponse workspaceTokensServiceListWithHt - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call workspaceTokensServiceListAsync(@javax.annotation.Nullable Long pageSize, @javax.annotation.Nullable String pageToken, final ApiCallback _callback) throws ApiException { + public okhttp3.Call workspaceTokensServiceListAsync(@javax.annotation.Nullable Long pageSize, @javax.annotation.Nullable String pageToken, @javax.annotation.Nullable String cursor, final ApiCallback _callback) throws ApiException { - okhttp3.Call localVarCall = workspaceTokensServiceListValidateBeforeCall(pageSize, pageToken, _callback); + okhttp3.Call localVarCall = workspaceTokensServiceListValidateBeforeCall(pageSize, pageToken, cursor, _callback); Type localVarReturnType = new TypeToken(){}.getType(); localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); return localVarCall; } + /** + * Build call for workspaceTokensServiceUpdate + * @param id Identifier of the token to update (UUID) (required) + * @param workspaceTokensServiceUpdateBody (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) + * @param _callback Callback for upload/download progress + * @return Call to execute + * @throws ApiException If fail to serialize the request body object + * @http.response.details + + + + + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
+ */ + public okhttp3.Call workspaceTokensServiceUpdateCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull WorkspaceTokensServiceUpdateBody workspaceTokensServiceUpdateBody, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { + String basePath = null; + // Operation Servers + String[] localBasePaths = new String[] { }; + + // Determine Base Path to Use + if (localCustomBaseUrl != null){ + basePath = localCustomBaseUrl; + } else if ( localBasePaths.length > 0 ) { + basePath = localBasePaths[localHostIndex]; + } else { + basePath = null; + } + + Object localVarPostBody = workspaceTokensServiceUpdateBody; + + // create path and map variables + String localVarPath = "/v1/workspace-tokens/{id}" + .replace("{" + "id" + "}", localVarApiClient.escapeString(id.toString())); + + List localVarQueryParams = new ArrayList(); + List localVarCollectionQueryParams = new ArrayList(); + Map localVarHeaderParams = new HashMap(); + Map localVarCookieParams = new HashMap(); + Map localVarFormParams = new HashMap(); + + final String[] localVarAccepts = { + "application/json" + }; + final String localVarAccept = localVarApiClient.selectHeaderAccept(localVarAccepts); + if (localVarAccept != null) { + localVarHeaderParams.put("Accept", localVarAccept); + } + + final String[] localVarContentTypes = { + "application/json" + }; + final String localVarContentType = localVarApiClient.selectHeaderContentType(localVarContentTypes); + if (localVarContentType != null) { + localVarHeaderParams.put("Content-Type", localVarContentType); + } + + if (idempotencyKey != null) { + localVarHeaderParams.put("Idempotency-Key", localVarApiClient.parameterToString(idempotencyKey)); + } + + + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; + return localVarApiClient.buildCall(basePath, localVarPath, "PATCH", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); + } + + @SuppressWarnings("rawtypes") + private okhttp3.Call workspaceTokensServiceUpdateValidateBeforeCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull WorkspaceTokensServiceUpdateBody workspaceTokensServiceUpdateBody, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { + // verify the required parameter 'id' is set + if (id == null) { + throw new ApiException("Missing the required parameter 'id' when calling workspaceTokensServiceUpdate(Async)"); + } + + // verify the required parameter 'workspaceTokensServiceUpdateBody' is set + if (workspaceTokensServiceUpdateBody == null) { + throw new ApiException("Missing the required parameter 'workspaceTokensServiceUpdateBody' when calling workspaceTokensServiceUpdate(Async)"); + } + + return workspaceTokensServiceUpdateCall(id, workspaceTokensServiceUpdateBody, idempotencyKey, _callback); + + } + + /** + * Update a workspace token + * Rename a workspace token or change its scopes. Changes reach every request within 30 seconds. A token can only grant scopes it holds itself. Requires the `tokens:write` scope. + * @param id Identifier of the token to update (UUID) (required) + * @param workspaceTokensServiceUpdateBody (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) + * @return UpdateWorkspaceTokenResponse + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + + + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
+ */ + public UpdateWorkspaceTokenResponse workspaceTokensServiceUpdate(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull WorkspaceTokensServiceUpdateBody workspaceTokensServiceUpdateBody, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + ApiResponse localVarResp = workspaceTokensServiceUpdateWithHttpInfo(id, workspaceTokensServiceUpdateBody, idempotencyKey); + return localVarResp.getData(); + } + + /** + * Update a workspace token + * Rename a workspace token or change its scopes. Changes reach every request within 30 seconds. A token can only grant scopes it holds itself. Requires the `tokens:write` scope. + * @param id Identifier of the token to update (UUID) (required) + * @param workspaceTokensServiceUpdateBody (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) + * @return ApiResponse<UpdateWorkspaceTokenResponse> + * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body + * @http.response.details + + + + + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
+ */ + public ApiResponse workspaceTokensServiceUpdateWithHttpInfo(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull WorkspaceTokensServiceUpdateBody workspaceTokensServiceUpdateBody, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + okhttp3.Call localVarCall = workspaceTokensServiceUpdateValidateBeforeCall(id, workspaceTokensServiceUpdateBody, idempotencyKey, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * Update a workspace token (asynchronously) + * Rename a workspace token or change its scopes. Changes reach every request within 30 seconds. A token can only grant scopes it holds itself. Requires the `tokens:write` scope. + * @param id Identifier of the token to update (UUID) (required) + * @param workspaceTokensServiceUpdateBody (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) + * @param _callback The callback to be executed when the API call finishes + * @return The request call + * @throws ApiException If fail to process the API call, e.g. serializing the request body object + * @http.response.details + + + + + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
+ */ + public okhttp3.Call workspaceTokensServiceUpdateAsync(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull WorkspaceTokensServiceUpdateBody workspaceTokensServiceUpdateBody, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = workspaceTokensServiceUpdateValidateBeforeCall(id, workspaceTokensServiceUpdateBody, idempotencyKey, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } } diff --git a/src/main/java/com/linkbreakers/api/WorkspacesApi.java b/src/main/java/com/linkbreakers/api/WorkspacesApi.java index 7e9b2ac94..640c3bd76 100644 --- a/src/main/java/com/linkbreakers/api/WorkspacesApi.java +++ b/src/main/java/com/linkbreakers/api/WorkspacesApi.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -87,8 +87,9 @@ public void setCustomBaseUrl(String customBaseUrl) { - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public okhttp3.Call workspacesServiceDeleteCall(final ApiCallback _callback) throws ApiException { @@ -131,7 +132,7 @@ public okhttp3.Call workspacesServiceDeleteCall(final ApiCallback _callback) thr localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; return localVarApiClient.buildCall(basePath, localVarPath, "DELETE", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @@ -143,15 +144,16 @@ private okhttp3.Call workspacesServiceDeleteValidateBeforeCall(final ApiCallback /** * Delete workspace - * Soft-delete the workspace associated with the authenticated member's session. This operation can be reversed by contacting support. + * Soft-delete the workspace associated with the authenticated member's session. This operation can be reversed by contacting support. Requires the `workspace:write` scope. * @return Object * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public Object workspacesServiceDelete() throws ApiException { @@ -161,15 +163,16 @@ public Object workspacesServiceDelete() throws ApiException { /** * Delete workspace - * Soft-delete the workspace associated with the authenticated member's session. This operation can be reversed by contacting support. + * Soft-delete the workspace associated with the authenticated member's session. This operation can be reversed by contacting support. Requires the `workspace:write` scope. * @return ApiResponse<Object> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public ApiResponse workspacesServiceDeleteWithHttpInfo() throws ApiException { @@ -180,7 +183,7 @@ public ApiResponse workspacesServiceDeleteWithHttpInfo() throws ApiExcep /** * Delete workspace (asynchronously) - * Soft-delete the workspace associated with the authenticated member's session. This operation can be reversed by contacting support. + * Soft-delete the workspace associated with the authenticated member's session. This operation can be reversed by contacting support. Requires the `workspace:write` scope. * @param _callback The callback to be executed when the API call finishes * @return The request call * @throws ApiException If fail to process the API call, e.g. serializing the request body object @@ -188,8 +191,9 @@ public ApiResponse workspacesServiceDeleteWithHttpInfo() throws ApiExcep - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public okhttp3.Call workspacesServiceDeleteAsync(final ApiCallback _callback) throws ApiException { @@ -208,8 +212,9 @@ public okhttp3.Call workspacesServiceDeleteAsync(final ApiCallback _call - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public okhttp3.Call workspacesServiceGetMyWorkspaceCall(final ApiCallback _callback) throws ApiException { @@ -252,7 +257,7 @@ public okhttp3.Call workspacesServiceGetMyWorkspaceCall(final ApiCallback _callb localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @@ -264,15 +269,16 @@ private okhttp3.Call workspacesServiceGetMyWorkspaceValidateBeforeCall(final Api /** * Get my workspace - * Return the workspace associated with the authenticated member's current session. + * Return the workspace associated with the authenticated member's current session. Requires the `workspace:read` scope. * @return Workspace * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public Workspace workspacesServiceGetMyWorkspace() throws ApiException { @@ -282,15 +288,16 @@ public Workspace workspacesServiceGetMyWorkspace() throws ApiException { /** * Get my workspace - * Return the workspace associated with the authenticated member's current session. + * Return the workspace associated with the authenticated member's current session. Requires the `workspace:read` scope. * @return ApiResponse<Workspace> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public ApiResponse workspacesServiceGetMyWorkspaceWithHttpInfo() throws ApiException { @@ -301,7 +308,7 @@ public ApiResponse workspacesServiceGetMyWorkspaceWithHttpInfo() thro /** * Get my workspace (asynchronously) - * Return the workspace associated with the authenticated member's current session. + * Return the workspace associated with the authenticated member's current session. Requires the `workspace:read` scope. * @param _callback The callback to be executed when the API call finishes * @return The request call * @throws ApiException If fail to process the API call, e.g. serializing the request body object @@ -309,8 +316,9 @@ public ApiResponse workspacesServiceGetMyWorkspaceWithHttpInfo() thro - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public okhttp3.Call workspacesServiceGetMyWorkspaceAsync(final ApiCallback _callback) throws ApiException { @@ -330,8 +338,9 @@ public okhttp3.Call workspacesServiceGetMyWorkspaceAsync(final ApiCallback Response Details Status Code Description Response Headers - 200 Everything worked as expected. - - 0 Unexpected error - + 200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
+ 429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
+ 0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public okhttp3.Call workspacesServiceGetWorkspaceCall(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { @@ -375,7 +384,7 @@ public okhttp3.Call workspacesServiceGetWorkspaceCall(@javax.annotation.Nonnull localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @@ -392,7 +401,7 @@ private okhttp3.Call workspacesServiceGetWorkspaceValidateBeforeCall(@javax.anno /** * Get a workspace by ID - * Retrieve workspace details for the provided identifier, typically for internal tooling. + * Retrieve workspace details for the provided identifier, typically for internal tooling. Requires the `workspace:read` scope. * @param id Workspace identifier (UUID) to retrieve (required) * @return Workspace * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body @@ -400,8 +409,9 @@ private okhttp3.Call workspacesServiceGetWorkspaceValidateBeforeCall(@javax.anno - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public Workspace workspacesServiceGetWorkspace(@javax.annotation.Nonnull String id) throws ApiException { @@ -411,7 +421,7 @@ public Workspace workspacesServiceGetWorkspace(@javax.annotation.Nonnull String /** * Get a workspace by ID - * Retrieve workspace details for the provided identifier, typically for internal tooling. + * Retrieve workspace details for the provided identifier, typically for internal tooling. Requires the `workspace:read` scope. * @param id Workspace identifier (UUID) to retrieve (required) * @return ApiResponse<Workspace> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body @@ -419,8 +429,9 @@ public Workspace workspacesServiceGetWorkspace(@javax.annotation.Nonnull String - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public ApiResponse workspacesServiceGetWorkspaceWithHttpInfo(@javax.annotation.Nonnull String id) throws ApiException { @@ -431,7 +442,7 @@ public ApiResponse workspacesServiceGetWorkspaceWithHttpInfo(@javax.a /** * Get a workspace by ID (asynchronously) - * Retrieve workspace details for the provided identifier, typically for internal tooling. + * Retrieve workspace details for the provided identifier, typically for internal tooling. Requires the `workspace:read` scope. * @param id Workspace identifier (UUID) to retrieve (required) * @param _callback The callback to be executed when the API call finishes * @return The request call @@ -440,8 +451,9 @@ public ApiResponse workspacesServiceGetWorkspaceWithHttpInfo(@javax.a - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public okhttp3.Call workspacesServiceGetWorkspaceAsync(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { @@ -461,8 +473,9 @@ public okhttp3.Call workspacesServiceGetWorkspaceAsync(@javax.annotation.Nonnull - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public okhttp3.Call workspacesServicePublicGetWorkspaceCall(@javax.annotation.Nonnull String slug, final ApiCallback _callback) throws ApiException { @@ -506,7 +519,7 @@ public okhttp3.Call workspacesServicePublicGetWorkspaceCall(@javax.annotation.No localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + String[] localVarAuthNames = new String[] { }; return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @@ -531,8 +544,9 @@ private okhttp3.Call workspacesServicePublicGetWorkspaceValidateBeforeCall(@java - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public PublicWorkspace workspacesServicePublicGetWorkspace(@javax.annotation.Nonnull String slug) throws ApiException { @@ -550,8 +564,9 @@ public PublicWorkspace workspacesServicePublicGetWorkspace(@javax.annotation.Non - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public ApiResponse workspacesServicePublicGetWorkspaceWithHttpInfo(@javax.annotation.Nonnull String slug) throws ApiException { @@ -571,8 +586,9 @@ public ApiResponse workspacesServicePublicGetWorkspaceWithHttpI - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ public okhttp3.Call workspacesServicePublicGetWorkspaceAsync(@javax.annotation.Nonnull String slug, final ApiCallback _callback) throws ApiException { @@ -585,6 +601,7 @@ public okhttp3.Call workspacesServicePublicGetWorkspaceAsync(@javax.annotation.N /** * Build call for workspacesServiceRequestEnrollment * @param requestWorkspaceEnrollmentRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @param _callback Callback for upload/download progress * @return Call to execute * @throws ApiException If fail to serialize the request body object @@ -592,11 +609,12 @@ public okhttp3.Call workspacesServicePublicGetWorkspaceAsync(@javax.annotation.N - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call workspacesServiceRequestEnrollmentCall(@javax.annotation.Nonnull RequestWorkspaceEnrollmentRequest requestWorkspaceEnrollmentRequest, final ApiCallback _callback) throws ApiException { + public okhttp3.Call workspacesServiceRequestEnrollmentCall(@javax.annotation.Nonnull RequestWorkspaceEnrollmentRequest requestWorkspaceEnrollmentRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -637,64 +655,74 @@ public okhttp3.Call workspacesServiceRequestEnrollmentCall(@javax.annotation.Non localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + if (idempotencyKey != null) { + localVarHeaderParams.put("Idempotency-Key", localVarApiClient.parameterToString(idempotencyKey)); + } + + + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; return localVarApiClient.buildCall(basePath, localVarPath, "POST", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @SuppressWarnings("rawtypes") - private okhttp3.Call workspacesServiceRequestEnrollmentValidateBeforeCall(@javax.annotation.Nonnull RequestWorkspaceEnrollmentRequest requestWorkspaceEnrollmentRequest, final ApiCallback _callback) throws ApiException { + private okhttp3.Call workspacesServiceRequestEnrollmentValidateBeforeCall(@javax.annotation.Nonnull RequestWorkspaceEnrollmentRequest requestWorkspaceEnrollmentRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { // verify the required parameter 'requestWorkspaceEnrollmentRequest' is set if (requestWorkspaceEnrollmentRequest == null) { throw new ApiException("Missing the required parameter 'requestWorkspaceEnrollmentRequest' when calling workspacesServiceRequestEnrollment(Async)"); } - return workspacesServiceRequestEnrollmentCall(requestWorkspaceEnrollmentRequest, _callback); + return workspacesServiceRequestEnrollmentCall(requestWorkspaceEnrollmentRequest, idempotencyKey, _callback); } /** * Request workspace enrollment - * Submit a request for workspace enrollment, setting the enroll_requested_at timestamp. + * Submit a request for workspace enrollment, setting the enroll_requested_at timestamp. Requires the `workspace:write` scope. * @param requestWorkspaceEnrollmentRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return Object * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public Object workspacesServiceRequestEnrollment(@javax.annotation.Nonnull RequestWorkspaceEnrollmentRequest requestWorkspaceEnrollmentRequest) throws ApiException { - ApiResponse localVarResp = workspacesServiceRequestEnrollmentWithHttpInfo(requestWorkspaceEnrollmentRequest); + public Object workspacesServiceRequestEnrollment(@javax.annotation.Nonnull RequestWorkspaceEnrollmentRequest requestWorkspaceEnrollmentRequest, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + ApiResponse localVarResp = workspacesServiceRequestEnrollmentWithHttpInfo(requestWorkspaceEnrollmentRequest, idempotencyKey); return localVarResp.getData(); } /** * Request workspace enrollment - * Submit a request for workspace enrollment, setting the enroll_requested_at timestamp. + * Submit a request for workspace enrollment, setting the enroll_requested_at timestamp. Requires the `workspace:write` scope. * @param requestWorkspaceEnrollmentRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return ApiResponse<Object> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public ApiResponse workspacesServiceRequestEnrollmentWithHttpInfo(@javax.annotation.Nonnull RequestWorkspaceEnrollmentRequest requestWorkspaceEnrollmentRequest) throws ApiException { - okhttp3.Call localVarCall = workspacesServiceRequestEnrollmentValidateBeforeCall(requestWorkspaceEnrollmentRequest, null); + public ApiResponse workspacesServiceRequestEnrollmentWithHttpInfo(@javax.annotation.Nonnull RequestWorkspaceEnrollmentRequest requestWorkspaceEnrollmentRequest, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + okhttp3.Call localVarCall = workspacesServiceRequestEnrollmentValidateBeforeCall(requestWorkspaceEnrollmentRequest, idempotencyKey, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); } /** * Request workspace enrollment (asynchronously) - * Submit a request for workspace enrollment, setting the enroll_requested_at timestamp. + * Submit a request for workspace enrollment, setting the enroll_requested_at timestamp. Requires the `workspace:write` scope. * @param requestWorkspaceEnrollmentRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @param _callback The callback to be executed when the API call finishes * @return The request call * @throws ApiException If fail to process the API call, e.g. serializing the request body object @@ -702,13 +730,14 @@ public ApiResponse workspacesServiceRequestEnrollmentWithHttpInfo(@javax - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call workspacesServiceRequestEnrollmentAsync(@javax.annotation.Nonnull RequestWorkspaceEnrollmentRequest requestWorkspaceEnrollmentRequest, final ApiCallback _callback) throws ApiException { + public okhttp3.Call workspacesServiceRequestEnrollmentAsync(@javax.annotation.Nonnull RequestWorkspaceEnrollmentRequest requestWorkspaceEnrollmentRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { - okhttp3.Call localVarCall = workspacesServiceRequestEnrollmentValidateBeforeCall(requestWorkspaceEnrollmentRequest, _callback); + okhttp3.Call localVarCall = workspacesServiceRequestEnrollmentValidateBeforeCall(requestWorkspaceEnrollmentRequest, idempotencyKey, _callback); Type localVarReturnType = new TypeToken(){}.getType(); localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); return localVarCall; @@ -716,6 +745,7 @@ public okhttp3.Call workspacesServiceRequestEnrollmentAsync(@javax.annotation.No /** * Build call for workspacesServiceUpdate * @param updateWorkspaceRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @param _callback Callback for upload/download progress * @return Call to execute * @throws ApiException If fail to serialize the request body object @@ -723,11 +753,12 @@ public okhttp3.Call workspacesServiceRequestEnrollmentAsync(@javax.annotation.No - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call workspacesServiceUpdateCall(@javax.annotation.Nonnull UpdateWorkspaceRequest updateWorkspaceRequest, final ApiCallback _callback) throws ApiException { + public okhttp3.Call workspacesServiceUpdateCall(@javax.annotation.Nonnull UpdateWorkspaceRequest updateWorkspaceRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -768,64 +799,74 @@ public okhttp3.Call workspacesServiceUpdateCall(@javax.annotation.Nonnull Update localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + if (idempotencyKey != null) { + localVarHeaderParams.put("Idempotency-Key", localVarApiClient.parameterToString(idempotencyKey)); + } + + + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; return localVarApiClient.buildCall(basePath, localVarPath, "PUT", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @SuppressWarnings("rawtypes") - private okhttp3.Call workspacesServiceUpdateValidateBeforeCall(@javax.annotation.Nonnull UpdateWorkspaceRequest updateWorkspaceRequest, final ApiCallback _callback) throws ApiException { + private okhttp3.Call workspacesServiceUpdateValidateBeforeCall(@javax.annotation.Nonnull UpdateWorkspaceRequest updateWorkspaceRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { // verify the required parameter 'updateWorkspaceRequest' is set if (updateWorkspaceRequest == null) { throw new ApiException("Missing the required parameter 'updateWorkspaceRequest' when calling workspacesServiceUpdate(Async)"); } - return workspacesServiceUpdateCall(updateWorkspaceRequest, _callback); + return workspacesServiceUpdateCall(updateWorkspaceRequest, idempotencyKey, _callback); } /** * Update a workspace - * Modify workspace settings such as the display name and MFA enforcement policy. + * Modify workspace settings such as the display name and MFA enforcement policy. Requires the `workspace:write` scope. * @param updateWorkspaceRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return Workspace * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public Workspace workspacesServiceUpdate(@javax.annotation.Nonnull UpdateWorkspaceRequest updateWorkspaceRequest) throws ApiException { - ApiResponse localVarResp = workspacesServiceUpdateWithHttpInfo(updateWorkspaceRequest); + public Workspace workspacesServiceUpdate(@javax.annotation.Nonnull UpdateWorkspaceRequest updateWorkspaceRequest, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + ApiResponse localVarResp = workspacesServiceUpdateWithHttpInfo(updateWorkspaceRequest, idempotencyKey); return localVarResp.getData(); } /** * Update a workspace - * Modify workspace settings such as the display name and MFA enforcement policy. + * Modify workspace settings such as the display name and MFA enforcement policy. Requires the `workspace:write` scope. * @param updateWorkspaceRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return ApiResponse<Workspace> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public ApiResponse workspacesServiceUpdateWithHttpInfo(@javax.annotation.Nonnull UpdateWorkspaceRequest updateWorkspaceRequest) throws ApiException { - okhttp3.Call localVarCall = workspacesServiceUpdateValidateBeforeCall(updateWorkspaceRequest, null); + public ApiResponse workspacesServiceUpdateWithHttpInfo(@javax.annotation.Nonnull UpdateWorkspaceRequest updateWorkspaceRequest, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + okhttp3.Call localVarCall = workspacesServiceUpdateValidateBeforeCall(updateWorkspaceRequest, idempotencyKey, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); } /** * Update a workspace (asynchronously) - * Modify workspace settings such as the display name and MFA enforcement policy. + * Modify workspace settings such as the display name and MFA enforcement policy. Requires the `workspace:write` scope. * @param updateWorkspaceRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @param _callback The callback to be executed when the API call finishes * @return The request call * @throws ApiException If fail to process the API call, e.g. serializing the request body object @@ -833,13 +874,14 @@ public ApiResponse workspacesServiceUpdateWithHttpInfo(@javax.annotat - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call workspacesServiceUpdateAsync(@javax.annotation.Nonnull UpdateWorkspaceRequest updateWorkspaceRequest, final ApiCallback _callback) throws ApiException { + public okhttp3.Call workspacesServiceUpdateAsync(@javax.annotation.Nonnull UpdateWorkspaceRequest updateWorkspaceRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { - okhttp3.Call localVarCall = workspacesServiceUpdateValidateBeforeCall(updateWorkspaceRequest, _callback); + okhttp3.Call localVarCall = workspacesServiceUpdateValidateBeforeCall(updateWorkspaceRequest, idempotencyKey, _callback); Type localVarReturnType = new TypeToken(){}.getType(); localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); return localVarCall; @@ -847,6 +889,7 @@ public okhttp3.Call workspacesServiceUpdateAsync(@javax.annotation.Nonnull Updat /** * Build call for workspacesServiceUpdateOriginInquiry * @param updateWorkspaceOriginInquiryRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @param _callback Callback for upload/download progress * @return Call to execute * @throws ApiException If fail to serialize the request body object @@ -854,11 +897,12 @@ public okhttp3.Call workspacesServiceUpdateAsync(@javax.annotation.Nonnull Updat - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call workspacesServiceUpdateOriginInquiryCall(@javax.annotation.Nonnull UpdateWorkspaceOriginInquiryRequest updateWorkspaceOriginInquiryRequest, final ApiCallback _callback) throws ApiException { + public okhttp3.Call workspacesServiceUpdateOriginInquiryCall(@javax.annotation.Nonnull UpdateWorkspaceOriginInquiryRequest updateWorkspaceOriginInquiryRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -899,64 +943,74 @@ public okhttp3.Call workspacesServiceUpdateOriginInquiryCall(@javax.annotation.N localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + if (idempotencyKey != null) { + localVarHeaderParams.put("Idempotency-Key", localVarApiClient.parameterToString(idempotencyKey)); + } + + + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; return localVarApiClient.buildCall(basePath, localVarPath, "POST", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @SuppressWarnings("rawtypes") - private okhttp3.Call workspacesServiceUpdateOriginInquiryValidateBeforeCall(@javax.annotation.Nonnull UpdateWorkspaceOriginInquiryRequest updateWorkspaceOriginInquiryRequest, final ApiCallback _callback) throws ApiException { + private okhttp3.Call workspacesServiceUpdateOriginInquiryValidateBeforeCall(@javax.annotation.Nonnull UpdateWorkspaceOriginInquiryRequest updateWorkspaceOriginInquiryRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { // verify the required parameter 'updateWorkspaceOriginInquiryRequest' is set if (updateWorkspaceOriginInquiryRequest == null) { throw new ApiException("Missing the required parameter 'updateWorkspaceOriginInquiryRequest' when calling workspacesServiceUpdateOriginInquiry(Async)"); } - return workspacesServiceUpdateOriginInquiryCall(updateWorkspaceOriginInquiryRequest, _callback); + return workspacesServiceUpdateOriginInquiryCall(updateWorkspaceOriginInquiryRequest, idempotencyKey, _callback); } /** * Update workspace origin inquiry - * Persist how a workspace discovered Linkbreakers without exposing the value to other workspace APIs. + * Persist how a workspace discovered Linkbreakers without exposing the value to other workspace APIs. Requires the `workspace:write` scope. * @param updateWorkspaceOriginInquiryRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return Object * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public Object workspacesServiceUpdateOriginInquiry(@javax.annotation.Nonnull UpdateWorkspaceOriginInquiryRequest updateWorkspaceOriginInquiryRequest) throws ApiException { - ApiResponse localVarResp = workspacesServiceUpdateOriginInquiryWithHttpInfo(updateWorkspaceOriginInquiryRequest); + public Object workspacesServiceUpdateOriginInquiry(@javax.annotation.Nonnull UpdateWorkspaceOriginInquiryRequest updateWorkspaceOriginInquiryRequest, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + ApiResponse localVarResp = workspacesServiceUpdateOriginInquiryWithHttpInfo(updateWorkspaceOriginInquiryRequest, idempotencyKey); return localVarResp.getData(); } /** * Update workspace origin inquiry - * Persist how a workspace discovered Linkbreakers without exposing the value to other workspace APIs. + * Persist how a workspace discovered Linkbreakers without exposing the value to other workspace APIs. Requires the `workspace:write` scope. * @param updateWorkspaceOriginInquiryRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return ApiResponse<Object> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public ApiResponse workspacesServiceUpdateOriginInquiryWithHttpInfo(@javax.annotation.Nonnull UpdateWorkspaceOriginInquiryRequest updateWorkspaceOriginInquiryRequest) throws ApiException { - okhttp3.Call localVarCall = workspacesServiceUpdateOriginInquiryValidateBeforeCall(updateWorkspaceOriginInquiryRequest, null); + public ApiResponse workspacesServiceUpdateOriginInquiryWithHttpInfo(@javax.annotation.Nonnull UpdateWorkspaceOriginInquiryRequest updateWorkspaceOriginInquiryRequest, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + okhttp3.Call localVarCall = workspacesServiceUpdateOriginInquiryValidateBeforeCall(updateWorkspaceOriginInquiryRequest, idempotencyKey, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); } /** * Update workspace origin inquiry (asynchronously) - * Persist how a workspace discovered Linkbreakers without exposing the value to other workspace APIs. + * Persist how a workspace discovered Linkbreakers without exposing the value to other workspace APIs. Requires the `workspace:write` scope. * @param updateWorkspaceOriginInquiryRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @param _callback The callback to be executed when the API call finishes * @return The request call * @throws ApiException If fail to process the API call, e.g. serializing the request body object @@ -964,13 +1018,14 @@ public ApiResponse workspacesServiceUpdateOriginInquiryWithHttpInfo(@jav - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call workspacesServiceUpdateOriginInquiryAsync(@javax.annotation.Nonnull UpdateWorkspaceOriginInquiryRequest updateWorkspaceOriginInquiryRequest, final ApiCallback _callback) throws ApiException { + public okhttp3.Call workspacesServiceUpdateOriginInquiryAsync(@javax.annotation.Nonnull UpdateWorkspaceOriginInquiryRequest updateWorkspaceOriginInquiryRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { - okhttp3.Call localVarCall = workspacesServiceUpdateOriginInquiryValidateBeforeCall(updateWorkspaceOriginInquiryRequest, _callback); + okhttp3.Call localVarCall = workspacesServiceUpdateOriginInquiryValidateBeforeCall(updateWorkspaceOriginInquiryRequest, idempotencyKey, _callback); Type localVarReturnType = new TypeToken(){}.getType(); localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); return localVarCall; @@ -978,6 +1033,7 @@ public okhttp3.Call workspacesServiceUpdateOriginInquiryAsync(@javax.annotation. /** * Build call for workspacesServiceUpdateOriginPurpose * @param updateWorkspaceOriginPurposeRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @param _callback Callback for upload/download progress * @return Call to execute * @throws ApiException If fail to serialize the request body object @@ -985,11 +1041,12 @@ public okhttp3.Call workspacesServiceUpdateOriginInquiryAsync(@javax.annotation. - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call workspacesServiceUpdateOriginPurposeCall(@javax.annotation.Nonnull UpdateWorkspaceOriginPurposeRequest updateWorkspaceOriginPurposeRequest, final ApiCallback _callback) throws ApiException { + public okhttp3.Call workspacesServiceUpdateOriginPurposeCall(@javax.annotation.Nonnull UpdateWorkspaceOriginPurposeRequest updateWorkspaceOriginPurposeRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -1030,64 +1087,74 @@ public okhttp3.Call workspacesServiceUpdateOriginPurposeCall(@javax.annotation.N localVarHeaderParams.put("Content-Type", localVarContentType); } - String[] localVarAuthNames = new String[] { "bearerAuth" }; + if (idempotencyKey != null) { + localVarHeaderParams.put("Idempotency-Key", localVarApiClient.parameterToString(idempotencyKey)); + } + + + String[] localVarAuthNames = new String[] { "oauth2", "bearerAuth" }; return localVarApiClient.buildCall(basePath, localVarPath, "POST", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @SuppressWarnings("rawtypes") - private okhttp3.Call workspacesServiceUpdateOriginPurposeValidateBeforeCall(@javax.annotation.Nonnull UpdateWorkspaceOriginPurposeRequest updateWorkspaceOriginPurposeRequest, final ApiCallback _callback) throws ApiException { + private okhttp3.Call workspacesServiceUpdateOriginPurposeValidateBeforeCall(@javax.annotation.Nonnull UpdateWorkspaceOriginPurposeRequest updateWorkspaceOriginPurposeRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { // verify the required parameter 'updateWorkspaceOriginPurposeRequest' is set if (updateWorkspaceOriginPurposeRequest == null) { throw new ApiException("Missing the required parameter 'updateWorkspaceOriginPurposeRequest' when calling workspacesServiceUpdateOriginPurpose(Async)"); } - return workspacesServiceUpdateOriginPurposeCall(updateWorkspaceOriginPurposeRequest, _callback); + return workspacesServiceUpdateOriginPurposeCall(updateWorkspaceOriginPurposeRequest, idempotencyKey, _callback); } /** * Update workspace origin purpose - * Persist what the workspace wants to build with Linkbreakers for AI assistance without exposing the value to other workspace APIs. + * Persist what the workspace wants to build with Linkbreakers for AI assistance without exposing the value to other workspace APIs. Requires the `workspace:write` scope. * @param updateWorkspaceOriginPurposeRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return Object * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public Object workspacesServiceUpdateOriginPurpose(@javax.annotation.Nonnull UpdateWorkspaceOriginPurposeRequest updateWorkspaceOriginPurposeRequest) throws ApiException { - ApiResponse localVarResp = workspacesServiceUpdateOriginPurposeWithHttpInfo(updateWorkspaceOriginPurposeRequest); + public Object workspacesServiceUpdateOriginPurpose(@javax.annotation.Nonnull UpdateWorkspaceOriginPurposeRequest updateWorkspaceOriginPurposeRequest, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + ApiResponse localVarResp = workspacesServiceUpdateOriginPurposeWithHttpInfo(updateWorkspaceOriginPurposeRequest, idempotencyKey); return localVarResp.getData(); } /** * Update workspace origin purpose - * Persist what the workspace wants to build with Linkbreakers for AI assistance without exposing the value to other workspace APIs. + * Persist what the workspace wants to build with Linkbreakers for AI assistance without exposing the value to other workspace APIs. Requires the `workspace:write` scope. * @param updateWorkspaceOriginPurposeRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @return ApiResponse<Object> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public ApiResponse workspacesServiceUpdateOriginPurposeWithHttpInfo(@javax.annotation.Nonnull UpdateWorkspaceOriginPurposeRequest updateWorkspaceOriginPurposeRequest) throws ApiException { - okhttp3.Call localVarCall = workspacesServiceUpdateOriginPurposeValidateBeforeCall(updateWorkspaceOriginPurposeRequest, null); + public ApiResponse workspacesServiceUpdateOriginPurposeWithHttpInfo(@javax.annotation.Nonnull UpdateWorkspaceOriginPurposeRequest updateWorkspaceOriginPurposeRequest, @javax.annotation.Nullable String idempotencyKey) throws ApiException { + okhttp3.Call localVarCall = workspacesServiceUpdateOriginPurposeValidateBeforeCall(updateWorkspaceOriginPurposeRequest, idempotencyKey, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); } /** * Update workspace origin purpose (asynchronously) - * Persist what the workspace wants to build with Linkbreakers for AI assistance without exposing the value to other workspace APIs. + * Persist what the workspace wants to build with Linkbreakers for AI assistance without exposing the value to other workspace APIs. Requires the `workspace:write` scope. * @param updateWorkspaceOriginPurposeRequest (required) + * @param idempotencyKey Makes retrying this request safe. See components.parameters.IdempotencyKey. (optional) * @param _callback The callback to be executed when the API call finishes * @return The request call * @throws ApiException If fail to process the API call, e.g. serializing the request body object @@ -1095,13 +1162,14 @@ public ApiResponse workspacesServiceUpdateOriginPurposeWithHttpInfo(@jav - - + + +
Response Details
Status Code Description Response Headers
200 Everything worked as expected. -
0 Unexpected error -
200 Everything worked as expected. * Idempotent-Replayed -
* RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
429 Too many requests. Wait the number of seconds in Retry-After, or until the RateLimit window resets, then retry. * RateLimit -
* RateLimit-Limit -
* RateLimit-Policy -
* RateLimit-Remaining -
* RateLimit-Reset -
* Retry-After -
* X-RateLimit-Limit -
* X-RateLimit-Remaining -
* X-RateLimit-Reset -
0 Unexpected error * RateLimit -
* RateLimit-Policy -
* RateLimit-Remaining -
*/ - public okhttp3.Call workspacesServiceUpdateOriginPurposeAsync(@javax.annotation.Nonnull UpdateWorkspaceOriginPurposeRequest updateWorkspaceOriginPurposeRequest, final ApiCallback _callback) throws ApiException { + public okhttp3.Call workspacesServiceUpdateOriginPurposeAsync(@javax.annotation.Nonnull UpdateWorkspaceOriginPurposeRequest updateWorkspaceOriginPurposeRequest, @javax.annotation.Nullable String idempotencyKey, final ApiCallback _callback) throws ApiException { - okhttp3.Call localVarCall = workspacesServiceUpdateOriginPurposeValidateBeforeCall(updateWorkspaceOriginPurposeRequest, _callback); + okhttp3.Call localVarCall = workspacesServiceUpdateOriginPurposeValidateBeforeCall(updateWorkspaceOriginPurposeRequest, idempotencyKey, _callback); Type localVarReturnType = new TypeToken(){}.getType(); localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); return localVarCall; diff --git a/src/main/java/com/linkbreakers/auth/ApiKeyAuth.java b/src/main/java/com/linkbreakers/auth/ApiKeyAuth.java index 7f69d2eb5..73536da4b 100644 --- a/src/main/java/com/linkbreakers/auth/ApiKeyAuth.java +++ b/src/main/java/com/linkbreakers/auth/ApiKeyAuth.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/auth/Authentication.java b/src/main/java/com/linkbreakers/auth/Authentication.java index 8caae6915..e8b1a491a 100644 --- a/src/main/java/com/linkbreakers/auth/Authentication.java +++ b/src/main/java/com/linkbreakers/auth/Authentication.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/auth/HttpBasicAuth.java b/src/main/java/com/linkbreakers/auth/HttpBasicAuth.java index e3132cd7b..4bbb3f019 100644 --- a/src/main/java/com/linkbreakers/auth/HttpBasicAuth.java +++ b/src/main/java/com/linkbreakers/auth/HttpBasicAuth.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/auth/HttpBearerAuth.java b/src/main/java/com/linkbreakers/auth/HttpBearerAuth.java index 1eca1a7a3..febbfb432 100644 --- a/src/main/java/com/linkbreakers/auth/HttpBearerAuth.java +++ b/src/main/java/com/linkbreakers/auth/HttpBearerAuth.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/auth/OAuth.java b/src/main/java/com/linkbreakers/auth/OAuth.java new file mode 100644 index 000000000..9e9d9c0bc --- /dev/null +++ b/src/main/java/com/linkbreakers/auth/OAuth.java @@ -0,0 +1,42 @@ +/* + * Linkbreakers API + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. + * + * The version of the OpenAPI document: 1.158.2 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.linkbreakers.auth; + +import com.linkbreakers.Pair; +import com.linkbreakers.ApiException; + +import java.net.URI; +import java.util.Map; +import java.util.List; + +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.21.0") +public class OAuth implements Authentication { + private String accessToken; + + public String getAccessToken() { + return accessToken; + } + + public void setAccessToken(String accessToken) { + this.accessToken = accessToken; + } + + @Override + public void applyToParams(List queryParams, Map headerParams, Map cookieParams, + String payload, String method, URI uri) throws ApiException { + if (accessToken != null) { + headerParams.put("Authorization", "Bearer " + accessToken); + } + } +} diff --git a/src/main/java/com/linkbreakers/auth/OAuthFlow.java b/src/main/java/com/linkbreakers/auth/OAuthFlow.java new file mode 100644 index 000000000..494d51729 --- /dev/null +++ b/src/main/java/com/linkbreakers/auth/OAuthFlow.java @@ -0,0 +1,25 @@ +/* + * Linkbreakers API + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. + * + * The version of the OpenAPI document: 1.158.2 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.linkbreakers.auth; + +/** + * OAuth flows that are supported by this client + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.21.0") +public enum OAuthFlow { + ACCESS_CODE, //called authorizationCode in OpenAPI 3.0 + IMPLICIT, + PASSWORD, + APPLICATION //called clientCredentials in OpenAPI 3.0 +} diff --git a/src/main/java/com/linkbreakers/auth/OAuthOkHttpClient.java b/src/main/java/com/linkbreakers/auth/OAuthOkHttpClient.java new file mode 100644 index 000000000..89f5f9074 --- /dev/null +++ b/src/main/java/com/linkbreakers/auth/OAuthOkHttpClient.java @@ -0,0 +1,82 @@ +/* + * Linkbreakers API + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. + * + * The version of the OpenAPI document: 1.158.2 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.linkbreakers.auth; + +import okhttp3.OkHttpClient; +import okhttp3.MediaType; +import okhttp3.Request; +import okhttp3.RequestBody; +import okhttp3.Response; + +import org.apache.oltu.oauth2.client.HttpClient; +import org.apache.oltu.oauth2.client.request.OAuthClientRequest; +import org.apache.oltu.oauth2.client.response.OAuthClientResponse; +import org.apache.oltu.oauth2.client.response.OAuthClientResponseFactory; +import org.apache.oltu.oauth2.common.exception.OAuthProblemException; +import org.apache.oltu.oauth2.common.exception.OAuthSystemException; + +import java.io.IOException; +import java.util.Map; +import java.util.Map.Entry; + +public class OAuthOkHttpClient implements HttpClient { + private OkHttpClient client; + + public OAuthOkHttpClient() { + this.client = new OkHttpClient(); + } + + public OAuthOkHttpClient(OkHttpClient client) { + this.client = client; + } + + @Override + public T execute(OAuthClientRequest request, Map headers, + String requestMethod, Class responseClass) + throws OAuthSystemException, OAuthProblemException { + + MediaType mediaType = MediaType.parse("application/json"); + Request.Builder requestBuilder = new Request.Builder().url(request.getLocationUri()); + + if(headers != null) { + for (Entry entry : headers.entrySet()) { + if (entry.getKey().equalsIgnoreCase("Content-Type")) { + mediaType = MediaType.parse(entry.getValue()); + } else { + requestBuilder.addHeader(entry.getKey(), entry.getValue()); + } + } + } + + RequestBody body = request.getBody() != null ? RequestBody.create(request.getBody(), mediaType) : null; + requestBuilder.method(requestMethod, body); + + try { + Response response = client.newCall(requestBuilder.build()).execute(); + return OAuthClientResponseFactory.createCustomResponse( + response.body().string(), + response.body().contentType().toString(), + response.code(), + response.headers().toMultimap(), + responseClass); + } catch (IOException e) { + throw new OAuthSystemException(e); + } + } + + @Override + public void shutdown() { + // Nothing to do here + } +} diff --git a/src/main/java/com/linkbreakers/auth/RetryingOAuth.java b/src/main/java/com/linkbreakers/auth/RetryingOAuth.java new file mode 100644 index 000000000..cafb600e3 --- /dev/null +++ b/src/main/java/com/linkbreakers/auth/RetryingOAuth.java @@ -0,0 +1,223 @@ +/* + * Linkbreakers API + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. + * + * The version of the OpenAPI document: 1.158.2 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.linkbreakers.auth; + +import com.linkbreakers.ApiException; +import com.linkbreakers.Pair; + +import okhttp3.Interceptor; +import okhttp3.OkHttpClient; +import okhttp3.Request; +import okhttp3.Response; + +import org.apache.oltu.oauth2.client.OAuthClient; +import org.apache.oltu.oauth2.client.request.OAuthBearerClientRequest; +import org.apache.oltu.oauth2.client.request.OAuthClientRequest; +import org.apache.oltu.oauth2.client.request.OAuthClientRequest.TokenRequestBuilder; +import org.apache.oltu.oauth2.client.response.OAuthJSONAccessTokenResponse; +import org.apache.oltu.oauth2.common.exception.OAuthProblemException; +import org.apache.oltu.oauth2.common.exception.OAuthSystemException; +import org.apache.oltu.oauth2.common.message.types.GrantType; + +import java.io.IOException; +import java.net.HttpURLConnection; +import java.net.URI; +import java.util.Map; +import java.util.List; + +public class RetryingOAuth extends OAuth implements Interceptor { + private OAuthClient oAuthClient; + + private TokenRequestBuilder tokenRequestBuilder; + + /** + * @param client An OkHttp client + * @param tokenRequestBuilder A token request builder + */ + public RetryingOAuth(OkHttpClient client, TokenRequestBuilder tokenRequestBuilder) { + this.oAuthClient = new OAuthClient(new OAuthOkHttpClient(client)); + this.tokenRequestBuilder = tokenRequestBuilder; + } + + /** + * @param tokenRequestBuilder A token request builder + */ + public RetryingOAuth(TokenRequestBuilder tokenRequestBuilder) { + this(new OkHttpClient(), tokenRequestBuilder); + } + + /** + * @param tokenUrl The token URL to be used for this OAuth2 flow. + * Applicable to the following OAuth2 flows: "password", "clientCredentials" and "authorizationCode". + * The value must be an absolute URL. + * @param clientId The OAuth2 client ID for the "clientCredentials" flow. + * @param flow OAuth flow. + * @param clientSecret The OAuth2 client secret for the "clientCredentials" flow. + * @param parameters A map of string. + */ + public RetryingOAuth( + String tokenUrl, + String clientId, + OAuthFlow flow, + String clientSecret, + Map parameters + ) { + this(OAuthClientRequest.tokenLocation(tokenUrl) + .setClientId(clientId) + .setClientSecret(clientSecret)); + setFlow(flow); + if (parameters != null) { + for (Map.Entry entry : parameters.entrySet()) { + tokenRequestBuilder.setParameter(entry.getKey(), entry.getValue()); + } + } + } + + /** + * Set the OAuth flow + * + * @param flow The OAuth flow. + */ + public void setFlow(OAuthFlow flow) { + switch(flow) { + case ACCESS_CODE: + tokenRequestBuilder.setGrantType(GrantType.AUTHORIZATION_CODE); + break; + case IMPLICIT: + tokenRequestBuilder.setGrantType(GrantType.IMPLICIT); + break; + case PASSWORD: + tokenRequestBuilder.setGrantType(GrantType.PASSWORD); + break; + case APPLICATION: + tokenRequestBuilder.setGrantType(GrantType.CLIENT_CREDENTIALS); + break; + default: + break; + } + } + + @Override + public Response intercept(Chain chain) throws IOException { + return retryingIntercept(chain, true); + } + + private Response retryingIntercept(Chain chain, boolean updateTokenAndRetryOnAuthorizationFailure) throws IOException { + Request request = chain.request(); + + // If the request already has an authorization (e.g. Basic auth), proceed with the request as is + if (request.header("Authorization") != null) { + return chain.proceed(request); + } + + // Get the token if it has not yet been acquired + if (getAccessToken() == null) { + updateAccessToken(null); + } + + OAuthClientRequest oAuthRequest; + if (getAccessToken() != null) { + // Build the request + Request.Builder requestBuilder = request.newBuilder(); + + String requestAccessToken = getAccessToken(); + try { + oAuthRequest = + new OAuthBearerClientRequest(request.url().toString()). + setAccessToken(requestAccessToken). + buildHeaderMessage(); + } catch (OAuthSystemException e) { + throw new IOException(e); + } + + Map headers = oAuthRequest.getHeaders(); + for (Map.Entry entry : headers.entrySet()) { + requestBuilder.addHeader(entry.getKey(), entry.getValue()); + } + requestBuilder.url(oAuthRequest.getLocationUri()); + + // Execute the request + Response response = chain.proceed(requestBuilder.build()); + + // 401/403 response codes most likely indicate an expired access token, unless it happens two times in a row + if ( + response != null && + ( response.code() == HttpURLConnection.HTTP_UNAUTHORIZED || + response.code() == HttpURLConnection.HTTP_FORBIDDEN ) && + updateTokenAndRetryOnAuthorizationFailure + ) { + try { + if (updateAccessToken(requestAccessToken)) { + response.body().close(); + return retryingIntercept(chain, false); + } + } catch (Exception e) { + response.body().close(); + throw e; + } + } + return response; + } + else { + return chain.proceed(chain.request()); + } + } + + /** + * Returns true if the access token has been updated + * + * @param requestAccessToken the request access token + * @return True if the update is successful + * @throws java.io.IOException If fail to update the access token + */ + public synchronized boolean updateAccessToken(String requestAccessToken) throws IOException { + if (getAccessToken() == null || getAccessToken().equals(requestAccessToken)) { + try { + OAuthJSONAccessTokenResponse accessTokenResponse = + oAuthClient.accessToken(tokenRequestBuilder.buildBodyMessage()); + if (accessTokenResponse != null && accessTokenResponse.getAccessToken() != null) { + setAccessToken(accessTokenResponse.getAccessToken()); + } + } catch (OAuthSystemException | OAuthProblemException e) { + throw new IOException(e); + } + } + return getAccessToken() == null || !getAccessToken().equals(requestAccessToken); + } + + /** + * Gets the token request builder + * + * @return A token request builder + */ + public TokenRequestBuilder getTokenRequestBuilder() { + return tokenRequestBuilder; + } + + /** + * Sets the token request builder + * + * @param tokenRequestBuilder Token request builder + */ + public void setTokenRequestBuilder(TokenRequestBuilder tokenRequestBuilder) { + this.tokenRequestBuilder = tokenRequestBuilder; + } + + // Applying authorization to parameters is performed in the retryingIntercept method + @Override + public void applyToParams(List queryParams, Map headerParams, Map cookieParams, + String payload, String method, URI uri) throws ApiException { + // No implementation necessary + } +} diff --git a/src/main/java/com/linkbreakers/model/AbstractOpenApiSchema.java b/src/main/java/com/linkbreakers/model/AbstractOpenApiSchema.java index f2a5b2b91..c464b7b2b 100644 --- a/src/main/java/com/linkbreakers/model/AbstractOpenApiSchema.java +++ b/src/main/java/com/linkbreakers/model/AbstractOpenApiSchema.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/Action.java b/src/main/java/com/linkbreakers/model/Action.java index 70d8a57ce..9903d3cdf 100644 --- a/src/main/java/com/linkbreakers/model/Action.java +++ b/src/main/java/com/linkbreakers/model/Action.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/AgentClaim.java b/src/main/java/com/linkbreakers/model/AgentClaim.java new file mode 100644 index 000000000..38f07e8e4 --- /dev/null +++ b/src/main/java/com/linkbreakers/model/AgentClaim.java @@ -0,0 +1,327 @@ +/* + * Linkbreakers API + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. + * + * The version of the OpenAPI document: 1.158.2 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.linkbreakers.model; + +import java.util.Objects; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.linkbreakers.model.AgentClaimStatus; +import com.linkbreakers.model.ApiScope; +import java.io.IOException; +import java.time.OffsetDateTime; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; +import com.google.gson.TypeAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import com.linkbreakers.JSON; + +/** + * What a claim link would hand over. + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.21.0") +public class AgentClaim { + public static final String SERIALIZED_NAME_EMAIL = "email"; + @SerializedName(SERIALIZED_NAME_EMAIL) + @javax.annotation.Nullable + private String email; + + public static final String SERIALIZED_NAME_EXPIRES_AT = "expiresAt"; + @SerializedName(SERIALIZED_NAME_EXPIRES_AT) + @javax.annotation.Nullable + private OffsetDateTime expiresAt; + + public static final String SERIALIZED_NAME_POST_CLAIM_SCOPES = "postClaimScopes"; + @SerializedName(SERIALIZED_NAME_POST_CLAIM_SCOPES) + @javax.annotation.Nullable + private List postClaimScopes = new ArrayList<>(); + + public static final String SERIALIZED_NAME_REGISTERED_AT = "registeredAt"; + @SerializedName(SERIALIZED_NAME_REGISTERED_AT) + @javax.annotation.Nullable + private OffsetDateTime registeredAt; + + public static final String SERIALIZED_NAME_STATUS = "status"; + @SerializedName(SERIALIZED_NAME_STATUS) + @javax.annotation.Nullable + private AgentClaimStatus status; + + public AgentClaim() { + } + + public AgentClaim email(@javax.annotation.Nullable String email) { + this.email = email; + return this; + } + + /** + * The email the agent named for this claim. The workspace can only be claimed with it. + * @return email + */ + @javax.annotation.Nullable + public String getEmail() { + return email; + } + + public void setEmail(@javax.annotation.Nullable String email) { + this.email = email; + } + + + public AgentClaim expiresAt(@javax.annotation.Nullable OffsetDateTime expiresAt) { + this.expiresAt = expiresAt; + return this; + } + + /** + * Get expiresAt + * @return expiresAt + */ + @javax.annotation.Nullable + public OffsetDateTime getExpiresAt() { + return expiresAt; + } + + public void setExpiresAt(@javax.annotation.Nullable OffsetDateTime expiresAt) { + this.expiresAt = expiresAt; + } + + + public AgentClaim postClaimScopes(@javax.annotation.Nullable List postClaimScopes) { + this.postClaimScopes = postClaimScopes; + return this; + } + + public AgentClaim addPostClaimScopesItem(ApiScope postClaimScopesItem) { + if (this.postClaimScopes == null) { + this.postClaimScopes = new ArrayList<>(); + } + this.postClaimScopes.add(postClaimScopesItem); + return this; + } + + /** + * Get postClaimScopes + * @return postClaimScopes + */ + @javax.annotation.Nullable + public List getPostClaimScopes() { + return postClaimScopes; + } + + public void setPostClaimScopes(@javax.annotation.Nullable List postClaimScopes) { + this.postClaimScopes = postClaimScopes; + } + + + public AgentClaim registeredAt(@javax.annotation.Nullable OffsetDateTime registeredAt) { + this.registeredAt = registeredAt; + return this; + } + + /** + * Get registeredAt + * @return registeredAt + */ + @javax.annotation.Nullable + public OffsetDateTime getRegisteredAt() { + return registeredAt; + } + + public void setRegisteredAt(@javax.annotation.Nullable OffsetDateTime registeredAt) { + this.registeredAt = registeredAt; + } + + + public AgentClaim status(@javax.annotation.Nullable AgentClaimStatus status) { + this.status = status; + return this; + } + + /** + * Get status + * @return status + */ + @javax.annotation.Nullable + public AgentClaimStatus getStatus() { + return status; + } + + public void setStatus(@javax.annotation.Nullable AgentClaimStatus status) { + this.status = status; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AgentClaim agentClaim = (AgentClaim) o; + return Objects.equals(this.email, agentClaim.email) && + Objects.equals(this.expiresAt, agentClaim.expiresAt) && + Objects.equals(this.postClaimScopes, agentClaim.postClaimScopes) && + Objects.equals(this.registeredAt, agentClaim.registeredAt) && + Objects.equals(this.status, agentClaim.status); + } + + @Override + public int hashCode() { + return Objects.hash(email, expiresAt, postClaimScopes, registeredAt, status); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AgentClaim {\n"); + sb.append(" email: ").append(toIndentedString(email)).append("\n"); + sb.append(" expiresAt: ").append(toIndentedString(expiresAt)).append("\n"); + sb.append(" postClaimScopes: ").append(toIndentedString(postClaimScopes)).append("\n"); + sb.append(" registeredAt: ").append(toIndentedString(registeredAt)).append("\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + return o == null ? "null" : o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(Arrays.asList("email", "expiresAt", "postClaimScopes", "registeredAt", "status")); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(0); + } + + /** + * Validates the JSON Element and throws an exception if issues found + * + * @param jsonElement JSON Element + * @throws IOException if the JSON Element is invalid with respect to AgentClaim + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!AgentClaim.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format(java.util.Locale.ROOT, "The required field(s) %s in AgentClaim is not found in the empty JSON string", AgentClaim.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!AgentClaim.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format(java.util.Locale.ROOT, "The field `%s` in the JSON string is not defined in the `AgentClaim` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("email") != null && !jsonObj.get("email").isJsonNull()) && !jsonObj.get("email").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format(java.util.Locale.ROOT, "Expected the field `email` to be a primitive type in the JSON string but got `%s`", jsonObj.get("email").toString())); + } + // ensure the optional json data is an array if present + if (jsonObj.get("postClaimScopes") != null && !jsonObj.get("postClaimScopes").isJsonNull() && !jsonObj.get("postClaimScopes").isJsonArray()) { + throw new IllegalArgumentException(String.format(java.util.Locale.ROOT, "Expected the field `postClaimScopes` to be an array in the JSON string but got `%s`", jsonObj.get("postClaimScopes").toString())); + } + // validate the optional field `status` + if (jsonObj.get("status") != null && !jsonObj.get("status").isJsonNull()) { + AgentClaimStatus.validateJsonElement(jsonObj.get("status")); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!AgentClaim.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'AgentClaim' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(AgentClaim.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, AgentClaim value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public AgentClaim read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of AgentClaim given an JSON string + * + * @param jsonString JSON string + * @return An instance of AgentClaim + * @throws IOException if the JSON string is invalid with respect to AgentClaim + */ + public static AgentClaim fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, AgentClaim.class); + } + + /** + * Convert an instance of AgentClaim to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/src/main/java/com/linkbreakers/model/AgentClaimStatus.java b/src/main/java/com/linkbreakers/model/AgentClaimStatus.java new file mode 100644 index 000000000..7e7c02eed --- /dev/null +++ b/src/main/java/com/linkbreakers/model/AgentClaimStatus.java @@ -0,0 +1,82 @@ +/* + * Linkbreakers API + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. + * + * The version of the OpenAPI document: 1.158.2 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.linkbreakers.model; + +import java.util.Objects; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.JsonElement; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * Where a claim link stands. - AGENT_CLAIM_STATUS_PENDING: The link is live: enter the code to claim the workspace - AGENT_CLAIM_STATUS_CLAIMED: The workspace has been claimed - AGENT_CLAIM_STATUS_EXPIRED: The link or the registration expired, or the agent started a newer claim + */ +@JsonAdapter(AgentClaimStatus.Adapter.class) +public enum AgentClaimStatus { + + AGENT_CLAIM_STATUS_UNSPECIFIED("AGENT_CLAIM_STATUS_UNSPECIFIED"), + + AGENT_CLAIM_STATUS_PENDING("AGENT_CLAIM_STATUS_PENDING"), + + AGENT_CLAIM_STATUS_CLAIMED("AGENT_CLAIM_STATUS_CLAIMED"), + + AGENT_CLAIM_STATUS_EXPIRED("AGENT_CLAIM_STATUS_EXPIRED"); + + private String value; + + AgentClaimStatus(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static AgentClaimStatus fromValue(String value) { + for (AgentClaimStatus b : AgentClaimStatus.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final AgentClaimStatus enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public AgentClaimStatus read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return AgentClaimStatus.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + AgentClaimStatus.fromValue(value); + } +} + diff --git a/src/main/java/com/linkbreakers/model/AnalyticsDashboard.java b/src/main/java/com/linkbreakers/model/AnalyticsDashboard.java index dbd615654..ab132b582 100644 --- a/src/main/java/com/linkbreakers/model/AnalyticsDashboard.java +++ b/src/main/java/com/linkbreakers/model/AnalyticsDashboard.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/AnalyticsDashboardServiceGenerateWidgetSummaryBody.java b/src/main/java/com/linkbreakers/model/AnalyticsDashboardServiceGenerateWidgetSummaryBody.java index b36a9ae1f..961a91514 100644 --- a/src/main/java/com/linkbreakers/model/AnalyticsDashboardServiceGenerateWidgetSummaryBody.java +++ b/src/main/java/com/linkbreakers/model/AnalyticsDashboardServiceGenerateWidgetSummaryBody.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/AnalyticsDashboardServiceUpdateDashboardBody.java b/src/main/java/com/linkbreakers/model/AnalyticsDashboardServiceUpdateDashboardBody.java index cd294bb7b..a7bda1990 100644 --- a/src/main/java/com/linkbreakers/model/AnalyticsDashboardServiceUpdateDashboardBody.java +++ b/src/main/java/com/linkbreakers/model/AnalyticsDashboardServiceUpdateDashboardBody.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/AnalyticsWidgetResult.java b/src/main/java/com/linkbreakers/model/AnalyticsWidgetResult.java index bcaca46a4..cfc86729a 100644 --- a/src/main/java/com/linkbreakers/model/AnalyticsWidgetResult.java +++ b/src/main/java/com/linkbreakers/model/AnalyticsWidgetResult.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/ApiScope.java b/src/main/java/com/linkbreakers/model/ApiScope.java new file mode 100644 index 000000000..b7f568c45 --- /dev/null +++ b/src/main/java/com/linkbreakers/model/ApiScope.java @@ -0,0 +1,134 @@ +/* + * Linkbreakers API + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. + * + * The version of the OpenAPI document: 1.158.2 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.linkbreakers.model; + +import java.util.Objects; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.JsonElement; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * ApiScope is one permission an API token or OAuth grant can hold. A write scope also grants the read scope of the same resource. - API_SCOPE_UNSPECIFIED: Not a scope. Rejected wherever a scope is expected. - API_SCOPE_LINKS_READ: Read links, their QR code images, tags, folders and link settings. - API_SCOPE_LINKS_WRITE: Create, update and delete links, tags, folders and link settings. - API_SCOPE_WORKFLOWS_READ: Read the workflow steps behind a link and validate them. - API_SCOPE_WORKFLOWS_WRITE: Create, connect, update, lay out and delete workflow steps. - API_SCOPE_QRCODES_READ: Read QR code designs and QR code templates. - API_SCOPE_QRCODES_WRITE: Change QR code designs and create, publish and delete QR code templates. - API_SCOPE_PAGE_THEMES_READ: Read page themes and page theme templates. - API_SCOPE_PAGE_THEMES_WRITE: Change page themes and create, publish and delete page theme templates. - API_SCOPE_MEDIA_READ: Read uploaded media. - API_SCOPE_MEDIA_WRITE: Upload and delete media. - API_SCOPE_DOMAINS_READ: Read custom domains and their DNS instructions. - API_SCOPE_DOMAINS_WRITE: Add, verify, update and delete custom domains. - API_SCOPE_VISITORS_READ: Read and search visitors and their attributes. - API_SCOPE_VISITORS_WRITE: Identify, update and delete visitors and their attributes. - API_SCOPE_ANALYTICS_READ: Read events, metrics, time series, analytics data and dashboards. - API_SCOPE_ANALYTICS_WRITE: Create, update and delete analytics dashboards and generate widget summaries. - API_SCOPE_WEBHOOKS_READ: Read webhooks. - API_SCOPE_WEBHOOKS_WRITE: Create, update and delete webhooks. - API_SCOPE_INTEGRATIONS_READ: Read the Slack and Google Forms integrations. - API_SCOPE_INTEGRATIONS_WRITE: Connect, configure, test, sync and disconnect the Slack and Google Forms integrations. - API_SCOPE_WORKSPACE_READ: Read the workspace and its settings. - API_SCOPE_WORKSPACE_WRITE: Update the workspace, request enrollment and delete the workspace. - API_SCOPE_MEMBERS_READ: Read workspace members. - API_SCOPE_MEMBERS_WRITE: Update, revoke, sign out and remove members. Inviting a member or changing a sign-in email or password needs full access. - API_SCOPE_TOKENS_READ: Read API tokens and their scopes, never their secrets. - API_SCOPE_TOKENS_WRITE: Create, update and delete API tokens, limited to the scopes the calling token holds. - API_SCOPE_BILLING_WRITE: Open checkout, credit top-up and billing portal sessions. - API_SCOPE_ASSISTANT_READ: Read the Assistant conversation. - API_SCOPE_ASSISTANT_WRITE: Send files to the Assistant, clear the conversation and contact support. + */ +@JsonAdapter(ApiScope.Adapter.class) +public enum ApiScope { + + API_SCOPE_UNSPECIFIED("API_SCOPE_UNSPECIFIED"), + + API_SCOPE_LINKS_READ("API_SCOPE_LINKS_READ"), + + API_SCOPE_LINKS_WRITE("API_SCOPE_LINKS_WRITE"), + + API_SCOPE_WORKFLOWS_READ("API_SCOPE_WORKFLOWS_READ"), + + API_SCOPE_WORKFLOWS_WRITE("API_SCOPE_WORKFLOWS_WRITE"), + + API_SCOPE_QRCODES_READ("API_SCOPE_QRCODES_READ"), + + API_SCOPE_QRCODES_WRITE("API_SCOPE_QRCODES_WRITE"), + + API_SCOPE_PAGE_THEMES_READ("API_SCOPE_PAGE_THEMES_READ"), + + API_SCOPE_PAGE_THEMES_WRITE("API_SCOPE_PAGE_THEMES_WRITE"), + + API_SCOPE_MEDIA_READ("API_SCOPE_MEDIA_READ"), + + API_SCOPE_MEDIA_WRITE("API_SCOPE_MEDIA_WRITE"), + + API_SCOPE_DOMAINS_READ("API_SCOPE_DOMAINS_READ"), + + API_SCOPE_DOMAINS_WRITE("API_SCOPE_DOMAINS_WRITE"), + + API_SCOPE_VISITORS_READ("API_SCOPE_VISITORS_READ"), + + API_SCOPE_VISITORS_WRITE("API_SCOPE_VISITORS_WRITE"), + + API_SCOPE_ANALYTICS_READ("API_SCOPE_ANALYTICS_READ"), + + API_SCOPE_ANALYTICS_WRITE("API_SCOPE_ANALYTICS_WRITE"), + + API_SCOPE_WEBHOOKS_READ("API_SCOPE_WEBHOOKS_READ"), + + API_SCOPE_WEBHOOKS_WRITE("API_SCOPE_WEBHOOKS_WRITE"), + + API_SCOPE_INTEGRATIONS_READ("API_SCOPE_INTEGRATIONS_READ"), + + API_SCOPE_INTEGRATIONS_WRITE("API_SCOPE_INTEGRATIONS_WRITE"), + + API_SCOPE_WORKSPACE_READ("API_SCOPE_WORKSPACE_READ"), + + API_SCOPE_WORKSPACE_WRITE("API_SCOPE_WORKSPACE_WRITE"), + + API_SCOPE_MEMBERS_READ("API_SCOPE_MEMBERS_READ"), + + API_SCOPE_MEMBERS_WRITE("API_SCOPE_MEMBERS_WRITE"), + + API_SCOPE_TOKENS_READ("API_SCOPE_TOKENS_READ"), + + API_SCOPE_TOKENS_WRITE("API_SCOPE_TOKENS_WRITE"), + + API_SCOPE_BILLING_WRITE("API_SCOPE_BILLING_WRITE"), + + API_SCOPE_ASSISTANT_READ("API_SCOPE_ASSISTANT_READ"), + + API_SCOPE_ASSISTANT_WRITE("API_SCOPE_ASSISTANT_WRITE"); + + private String value; + + ApiScope(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static ApiScope fromValue(String value) { + for (ApiScope b : ApiScope.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final ApiScope enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public ApiScope read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return ApiScope.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + ApiScope.fromValue(value); + } +} + diff --git a/src/main/java/com/linkbreakers/model/ApiScopeAccess.java b/src/main/java/com/linkbreakers/model/ApiScopeAccess.java new file mode 100644 index 000000000..b553a8196 --- /dev/null +++ b/src/main/java/com/linkbreakers/model/ApiScopeAccess.java @@ -0,0 +1,80 @@ +/* + * Linkbreakers API + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. + * + * The version of the OpenAPI document: 1.158.2 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.linkbreakers.model; + +import java.util.Objects; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.JsonElement; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * ApiScopeAccess is what a scope allows on its resource. - API_SCOPE_ACCESS_UNSPECIFIED: Not set. - API_SCOPE_ACCESS_READ: Reads only. - API_SCOPE_ACCESS_WRITE: Reads and writes. + */ +@JsonAdapter(ApiScopeAccess.Adapter.class) +public enum ApiScopeAccess { + + API_SCOPE_ACCESS_UNSPECIFIED("API_SCOPE_ACCESS_UNSPECIFIED"), + + API_SCOPE_ACCESS_READ("API_SCOPE_ACCESS_READ"), + + API_SCOPE_ACCESS_WRITE("API_SCOPE_ACCESS_WRITE"); + + private String value; + + ApiScopeAccess(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static ApiScopeAccess fromValue(String value) { + for (ApiScopeAccess b : ApiScopeAccess.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final ApiScopeAccess enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public ApiScopeAccess read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return ApiScopeAccess.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + ApiScopeAccess.fromValue(value); + } +} + diff --git a/src/main/java/com/linkbreakers/model/ApiScopeInfo.java b/src/main/java/com/linkbreakers/model/ApiScopeInfo.java new file mode 100644 index 000000000..b6d808ee3 --- /dev/null +++ b/src/main/java/com/linkbreakers/model/ApiScopeInfo.java @@ -0,0 +1,432 @@ +/* + * Linkbreakers API + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. + * + * The version of the OpenAPI document: 1.158.2 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.linkbreakers.model; + +import java.util.Objects; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.linkbreakers.model.ApiScopeAccess; +import java.io.IOException; +import java.util.Arrays; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; +import com.google.gson.TypeAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import com.linkbreakers.JSON; + +/** + * ApiScopeInfo describes one scope for people and agents choosing scopes. + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.21.0") +public class ApiScopeInfo { + public static final String SERIALIZED_NAME_ACCESS = "access"; + @SerializedName(SERIALIZED_NAME_ACCESS) + @javax.annotation.Nullable + private ApiScopeAccess access; + + public static final String SERIALIZED_NAME_DESCRIPTION = "description"; + @SerializedName(SERIALIZED_NAME_DESCRIPTION) + @javax.annotation.Nullable + private String description; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + @javax.annotation.Nullable + private String name; + + public static final String SERIALIZED_NAME_RESOURCE = "resource"; + @SerializedName(SERIALIZED_NAME_RESOURCE) + @javax.annotation.Nullable + private String resource; + + /** + * ApiScope is one permission an API token or OAuth grant can hold. A write scope also grants the read scope of the same resource. - API_SCOPE_UNSPECIFIED: Not a scope. Rejected wherever a scope is expected. - API_SCOPE_LINKS_READ: Read links, their QR code images, tags, folders and link settings. - API_SCOPE_LINKS_WRITE: Create, update and delete links, tags, folders and link settings. - API_SCOPE_WORKFLOWS_READ: Read the workflow steps behind a link and validate them. - API_SCOPE_WORKFLOWS_WRITE: Create, connect, update, lay out and delete workflow steps. - API_SCOPE_QRCODES_READ: Read QR code designs and QR code templates. - API_SCOPE_QRCODES_WRITE: Change QR code designs and create, publish and delete QR code templates. - API_SCOPE_PAGE_THEMES_READ: Read page themes and page theme templates. - API_SCOPE_PAGE_THEMES_WRITE: Change page themes and create, publish and delete page theme templates. - API_SCOPE_MEDIA_READ: Read uploaded media. - API_SCOPE_MEDIA_WRITE: Upload and delete media. - API_SCOPE_DOMAINS_READ: Read custom domains and their DNS instructions. - API_SCOPE_DOMAINS_WRITE: Add, verify, update and delete custom domains. - API_SCOPE_VISITORS_READ: Read and search visitors and their attributes. - API_SCOPE_VISITORS_WRITE: Identify, update and delete visitors and their attributes. - API_SCOPE_ANALYTICS_READ: Read events, metrics, time series, analytics data and dashboards. - API_SCOPE_ANALYTICS_WRITE: Create, update and delete analytics dashboards and generate widget summaries. - API_SCOPE_WEBHOOKS_READ: Read webhooks. - API_SCOPE_WEBHOOKS_WRITE: Create, update and delete webhooks. - API_SCOPE_INTEGRATIONS_READ: Read the Slack and Google Forms integrations. - API_SCOPE_INTEGRATIONS_WRITE: Connect, configure, test, sync and disconnect the Slack and Google Forms integrations. - API_SCOPE_WORKSPACE_READ: Read the workspace and its settings. - API_SCOPE_WORKSPACE_WRITE: Update the workspace, request enrollment and delete the workspace. - API_SCOPE_MEMBERS_READ: Read workspace members. - API_SCOPE_MEMBERS_WRITE: Update, revoke, sign out and remove members. Inviting a member or changing a sign-in email or password needs full access. - API_SCOPE_TOKENS_READ: Read API tokens and their scopes, never their secrets. - API_SCOPE_TOKENS_WRITE: Create, update and delete API tokens, limited to the scopes the calling token holds. - API_SCOPE_BILLING_WRITE: Open checkout, credit top-up and billing portal sessions. - API_SCOPE_ASSISTANT_READ: Read the Assistant conversation. - API_SCOPE_ASSISTANT_WRITE: Send files to the Assistant, clear the conversation and contact support. + */ + @JsonAdapter(ScopeEnum.Adapter.class) + public enum ScopeEnum { + API_SCOPE_UNSPECIFIED("API_SCOPE_UNSPECIFIED"), + + API_SCOPE_LINKS_READ("API_SCOPE_LINKS_READ"), + + API_SCOPE_LINKS_WRITE("API_SCOPE_LINKS_WRITE"), + + API_SCOPE_WORKFLOWS_READ("API_SCOPE_WORKFLOWS_READ"), + + API_SCOPE_WORKFLOWS_WRITE("API_SCOPE_WORKFLOWS_WRITE"), + + API_SCOPE_QRCODES_READ("API_SCOPE_QRCODES_READ"), + + API_SCOPE_QRCODES_WRITE("API_SCOPE_QRCODES_WRITE"), + + API_SCOPE_PAGE_THEMES_READ("API_SCOPE_PAGE_THEMES_READ"), + + API_SCOPE_PAGE_THEMES_WRITE("API_SCOPE_PAGE_THEMES_WRITE"), + + API_SCOPE_MEDIA_READ("API_SCOPE_MEDIA_READ"), + + API_SCOPE_MEDIA_WRITE("API_SCOPE_MEDIA_WRITE"), + + API_SCOPE_DOMAINS_READ("API_SCOPE_DOMAINS_READ"), + + API_SCOPE_DOMAINS_WRITE("API_SCOPE_DOMAINS_WRITE"), + + API_SCOPE_VISITORS_READ("API_SCOPE_VISITORS_READ"), + + API_SCOPE_VISITORS_WRITE("API_SCOPE_VISITORS_WRITE"), + + API_SCOPE_ANALYTICS_READ("API_SCOPE_ANALYTICS_READ"), + + API_SCOPE_ANALYTICS_WRITE("API_SCOPE_ANALYTICS_WRITE"), + + API_SCOPE_WEBHOOKS_READ("API_SCOPE_WEBHOOKS_READ"), + + API_SCOPE_WEBHOOKS_WRITE("API_SCOPE_WEBHOOKS_WRITE"), + + API_SCOPE_INTEGRATIONS_READ("API_SCOPE_INTEGRATIONS_READ"), + + API_SCOPE_INTEGRATIONS_WRITE("API_SCOPE_INTEGRATIONS_WRITE"), + + API_SCOPE_WORKSPACE_READ("API_SCOPE_WORKSPACE_READ"), + + API_SCOPE_WORKSPACE_WRITE("API_SCOPE_WORKSPACE_WRITE"), + + API_SCOPE_MEMBERS_READ("API_SCOPE_MEMBERS_READ"), + + API_SCOPE_MEMBERS_WRITE("API_SCOPE_MEMBERS_WRITE"), + + API_SCOPE_TOKENS_READ("API_SCOPE_TOKENS_READ"), + + API_SCOPE_TOKENS_WRITE("API_SCOPE_TOKENS_WRITE"), + + API_SCOPE_BILLING_WRITE("API_SCOPE_BILLING_WRITE"), + + API_SCOPE_ASSISTANT_READ("API_SCOPE_ASSISTANT_READ"), + + API_SCOPE_ASSISTANT_WRITE("API_SCOPE_ASSISTANT_WRITE"); + + private String value; + + ScopeEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static ScopeEnum fromValue(String value) { + for (ScopeEnum b : ScopeEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final ScopeEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public ScopeEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return ScopeEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + ScopeEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_SCOPE = "scope"; + @SerializedName(SERIALIZED_NAME_SCOPE) + @javax.annotation.Nullable + private ScopeEnum scope; + + public ApiScopeInfo() { + } + + public ApiScopeInfo access(@javax.annotation.Nullable ApiScopeAccess access) { + this.access = access; + return this; + } + + /** + * Whether the scope reads or writes the resource. + * @return access + */ + @javax.annotation.Nullable + public ApiScopeAccess getAccess() { + return access; + } + + public void setAccess(@javax.annotation.Nullable ApiScopeAccess access) { + this.access = access; + } + + + public ApiScopeInfo description(@javax.annotation.Nullable String description) { + this.description = description; + return this; + } + + /** + * What the scope allows. + * @return description + */ + @javax.annotation.Nullable + public String getDescription() { + return description; + } + + public void setDescription(@javax.annotation.Nullable String description) { + this.description = description; + } + + + public ApiScopeInfo name(@javax.annotation.Nullable String name) { + this.name = name; + return this; + } + + /** + * The scope string as it appears in OAuth grants and error messages (e.g. links:read). + * @return name + */ + @javax.annotation.Nullable + public String getName() { + return name; + } + + public void setName(@javax.annotation.Nullable String name) { + this.name = name; + } + + + public ApiScopeInfo resource(@javax.annotation.Nullable String resource) { + this.resource = resource; + return this; + } + + /** + * The resource the scope covers (e.g. links). + * @return resource + */ + @javax.annotation.Nullable + public String getResource() { + return resource; + } + + public void setResource(@javax.annotation.Nullable String resource) { + this.resource = resource; + } + + + public ApiScopeInfo scope(@javax.annotation.Nullable ScopeEnum scope) { + this.scope = scope; + return this; + } + + /** + * ApiScope is one permission an API token or OAuth grant can hold. A write scope also grants the read scope of the same resource. - API_SCOPE_UNSPECIFIED: Not a scope. Rejected wherever a scope is expected. - API_SCOPE_LINKS_READ: Read links, their QR code images, tags, folders and link settings. - API_SCOPE_LINKS_WRITE: Create, update and delete links, tags, folders and link settings. - API_SCOPE_WORKFLOWS_READ: Read the workflow steps behind a link and validate them. - API_SCOPE_WORKFLOWS_WRITE: Create, connect, update, lay out and delete workflow steps. - API_SCOPE_QRCODES_READ: Read QR code designs and QR code templates. - API_SCOPE_QRCODES_WRITE: Change QR code designs and create, publish and delete QR code templates. - API_SCOPE_PAGE_THEMES_READ: Read page themes and page theme templates. - API_SCOPE_PAGE_THEMES_WRITE: Change page themes and create, publish and delete page theme templates. - API_SCOPE_MEDIA_READ: Read uploaded media. - API_SCOPE_MEDIA_WRITE: Upload and delete media. - API_SCOPE_DOMAINS_READ: Read custom domains and their DNS instructions. - API_SCOPE_DOMAINS_WRITE: Add, verify, update and delete custom domains. - API_SCOPE_VISITORS_READ: Read and search visitors and their attributes. - API_SCOPE_VISITORS_WRITE: Identify, update and delete visitors and their attributes. - API_SCOPE_ANALYTICS_READ: Read events, metrics, time series, analytics data and dashboards. - API_SCOPE_ANALYTICS_WRITE: Create, update and delete analytics dashboards and generate widget summaries. - API_SCOPE_WEBHOOKS_READ: Read webhooks. - API_SCOPE_WEBHOOKS_WRITE: Create, update and delete webhooks. - API_SCOPE_INTEGRATIONS_READ: Read the Slack and Google Forms integrations. - API_SCOPE_INTEGRATIONS_WRITE: Connect, configure, test, sync and disconnect the Slack and Google Forms integrations. - API_SCOPE_WORKSPACE_READ: Read the workspace and its settings. - API_SCOPE_WORKSPACE_WRITE: Update the workspace, request enrollment and delete the workspace. - API_SCOPE_MEMBERS_READ: Read workspace members. - API_SCOPE_MEMBERS_WRITE: Update, revoke, sign out and remove members. Inviting a member or changing a sign-in email or password needs full access. - API_SCOPE_TOKENS_READ: Read API tokens and their scopes, never their secrets. - API_SCOPE_TOKENS_WRITE: Create, update and delete API tokens, limited to the scopes the calling token holds. - API_SCOPE_BILLING_WRITE: Open checkout, credit top-up and billing portal sessions. - API_SCOPE_ASSISTANT_READ: Read the Assistant conversation. - API_SCOPE_ASSISTANT_WRITE: Send files to the Assistant, clear the conversation and contact support. + * @return scope + */ + @javax.annotation.Nullable + public ScopeEnum getScope() { + return scope; + } + + public void setScope(@javax.annotation.Nullable ScopeEnum scope) { + this.scope = scope; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ApiScopeInfo apiScopeInfo = (ApiScopeInfo) o; + return Objects.equals(this.access, apiScopeInfo.access) && + Objects.equals(this.description, apiScopeInfo.description) && + Objects.equals(this.name, apiScopeInfo.name) && + Objects.equals(this.resource, apiScopeInfo.resource) && + Objects.equals(this.scope, apiScopeInfo.scope); + } + + @Override + public int hashCode() { + return Objects.hash(access, description, name, resource, scope); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ApiScopeInfo {\n"); + sb.append(" access: ").append(toIndentedString(access)).append("\n"); + sb.append(" description: ").append(toIndentedString(description)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" resource: ").append(toIndentedString(resource)).append("\n"); + sb.append(" scope: ").append(toIndentedString(scope)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + return o == null ? "null" : o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(Arrays.asList("access", "description", "name", "resource", "scope")); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(0); + } + + /** + * Validates the JSON Element and throws an exception if issues found + * + * @param jsonElement JSON Element + * @throws IOException if the JSON Element is invalid with respect to ApiScopeInfo + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!ApiScopeInfo.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format(java.util.Locale.ROOT, "The required field(s) %s in ApiScopeInfo is not found in the empty JSON string", ApiScopeInfo.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!ApiScopeInfo.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format(java.util.Locale.ROOT, "The field `%s` in the JSON string is not defined in the `ApiScopeInfo` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + // validate the optional field `access` + if (jsonObj.get("access") != null && !jsonObj.get("access").isJsonNull()) { + ApiScopeAccess.validateJsonElement(jsonObj.get("access")); + } + if ((jsonObj.get("description") != null && !jsonObj.get("description").isJsonNull()) && !jsonObj.get("description").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format(java.util.Locale.ROOT, "Expected the field `description` to be a primitive type in the JSON string but got `%s`", jsonObj.get("description").toString())); + } + if ((jsonObj.get("name") != null && !jsonObj.get("name").isJsonNull()) && !jsonObj.get("name").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format(java.util.Locale.ROOT, "Expected the field `name` to be a primitive type in the JSON string but got `%s`", jsonObj.get("name").toString())); + } + if ((jsonObj.get("resource") != null && !jsonObj.get("resource").isJsonNull()) && !jsonObj.get("resource").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format(java.util.Locale.ROOT, "Expected the field `resource` to be a primitive type in the JSON string but got `%s`", jsonObj.get("resource").toString())); + } + if ((jsonObj.get("scope") != null && !jsonObj.get("scope").isJsonNull()) && !jsonObj.get("scope").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format(java.util.Locale.ROOT, "Expected the field `scope` to be a primitive type in the JSON string but got `%s`", jsonObj.get("scope").toString())); + } + // validate the optional field `scope` + if (jsonObj.get("scope") != null && !jsonObj.get("scope").isJsonNull()) { + ScopeEnum.validateJsonElement(jsonObj.get("scope")); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!ApiScopeInfo.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'ApiScopeInfo' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(ApiScopeInfo.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, ApiScopeInfo value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public ApiScopeInfo read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of ApiScopeInfo given an JSON string + * + * @param jsonString JSON string + * @return An instance of ApiScopeInfo + * @throws IOException if the JSON string is invalid with respect to ApiScopeInfo + */ + public static ApiScopeInfo fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, ApiScopeInfo.class); + } + + /** + * Convert an instance of ApiScopeInfo to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/src/main/java/com/linkbreakers/model/ApiTag.java b/src/main/java/com/linkbreakers/model/ApiTag.java index 404548766..d209adbab 100644 --- a/src/main/java/com/linkbreakers/model/ApiTag.java +++ b/src/main/java/com/linkbreakers/model/ApiTag.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/ApplyPageThemeTemplateRequest.java b/src/main/java/com/linkbreakers/model/ApplyPageThemeTemplateRequest.java index 9cef6895f..e745ac668 100644 --- a/src/main/java/com/linkbreakers/model/ApplyPageThemeTemplateRequest.java +++ b/src/main/java/com/linkbreakers/model/ApplyPageThemeTemplateRequest.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/ApplyPageThemeTemplateResponse.java b/src/main/java/com/linkbreakers/model/ApplyPageThemeTemplateResponse.java index 9f0957e88..2e6dc54cf 100644 --- a/src/main/java/com/linkbreakers/model/ApplyPageThemeTemplateResponse.java +++ b/src/main/java/com/linkbreakers/model/ApplyPageThemeTemplateResponse.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/ApplyQrcodeTemplateRequest.java b/src/main/java/com/linkbreakers/model/ApplyQrcodeTemplateRequest.java index 4012e5ea0..53722fbac 100644 --- a/src/main/java/com/linkbreakers/model/ApplyQrcodeTemplateRequest.java +++ b/src/main/java/com/linkbreakers/model/ApplyQrcodeTemplateRequest.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/ApplyQrcodeTemplateResponse.java b/src/main/java/com/linkbreakers/model/ApplyQrcodeTemplateResponse.java index f7f8d22d6..993207a6c 100644 --- a/src/main/java/com/linkbreakers/model/ApplyQrcodeTemplateResponse.java +++ b/src/main/java/com/linkbreakers/model/ApplyQrcodeTemplateResponse.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/AssistantContextType.java b/src/main/java/com/linkbreakers/model/AssistantContextType.java index 6817f8cd7..602231eb9 100644 --- a/src/main/java/com/linkbreakers/model/AssistantContextType.java +++ b/src/main/java/com/linkbreakers/model/AssistantContextType.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/AssistantDisplayMessage.java b/src/main/java/com/linkbreakers/model/AssistantDisplayMessage.java index 9a7087e1a..5b65c02b1 100644 --- a/src/main/java/com/linkbreakers/model/AssistantDisplayMessage.java +++ b/src/main/java/com/linkbreakers/model/AssistantDisplayMessage.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/AssistantDisplayMessageAttachment.java b/src/main/java/com/linkbreakers/model/AssistantDisplayMessageAttachment.java index 0a06d0bc3..997411a99 100644 --- a/src/main/java/com/linkbreakers/model/AssistantDisplayMessageAttachment.java +++ b/src/main/java/com/linkbreakers/model/AssistantDisplayMessageAttachment.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/AssistantGetConversationResponse.java b/src/main/java/com/linkbreakers/model/AssistantGetConversationResponse.java index 079631dd5..3915c3e25 100644 --- a/src/main/java/com/linkbreakers/model/AssistantGetConversationResponse.java +++ b/src/main/java/com/linkbreakers/model/AssistantGetConversationResponse.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/AssistantMarkConversationReadRequest.java b/src/main/java/com/linkbreakers/model/AssistantMarkConversationReadRequest.java index adf7da515..2caecaabd 100644 --- a/src/main/java/com/linkbreakers/model/AssistantMarkConversationReadRequest.java +++ b/src/main/java/com/linkbreakers/model/AssistantMarkConversationReadRequest.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/AssistantMarkConversationReadResponse.java b/src/main/java/com/linkbreakers/model/AssistantMarkConversationReadResponse.java index 3dd7826e4..97de3fbb3 100644 --- a/src/main/java/com/linkbreakers/model/AssistantMarkConversationReadResponse.java +++ b/src/main/java/com/linkbreakers/model/AssistantMarkConversationReadResponse.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/AssistantUploadFileRequest.java b/src/main/java/com/linkbreakers/model/AssistantUploadFileRequest.java index f6fd6971f..847161515 100644 --- a/src/main/java/com/linkbreakers/model/AssistantUploadFileRequest.java +++ b/src/main/java/com/linkbreakers/model/AssistantUploadFileRequest.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/AssistantUploadFileResponse.java b/src/main/java/com/linkbreakers/model/AssistantUploadFileResponse.java index fd1ab424b..c07fcf374 100644 --- a/src/main/java/com/linkbreakers/model/AssistantUploadFileResponse.java +++ b/src/main/java/com/linkbreakers/model/AssistantUploadFileResponse.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/AttributeCapture.java b/src/main/java/com/linkbreakers/model/AttributeCapture.java index 6bfed1875..100822bdb 100644 --- a/src/main/java/com/linkbreakers/model/AttributeCapture.java +++ b/src/main/java/com/linkbreakers/model/AttributeCapture.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/AttributeValueDataPoint.java b/src/main/java/com/linkbreakers/model/AttributeValueDataPoint.java index 21dfe3b09..c23897e86 100644 --- a/src/main/java/com/linkbreakers/model/AttributeValueDataPoint.java +++ b/src/main/java/com/linkbreakers/model/AttributeValueDataPoint.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/AttributeValueEntry.java b/src/main/java/com/linkbreakers/model/AttributeValueEntry.java index e09a7a1c2..92764b778 100644 --- a/src/main/java/com/linkbreakers/model/AttributeValueEntry.java +++ b/src/main/java/com/linkbreakers/model/AttributeValueEntry.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/AttributeWrite.java b/src/main/java/com/linkbreakers/model/AttributeWrite.java index 57ca3a94c..fa116fd3d 100644 --- a/src/main/java/com/linkbreakers/model/AttributeWrite.java +++ b/src/main/java/com/linkbreakers/model/AttributeWrite.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/AttributeWriteMode.java b/src/main/java/com/linkbreakers/model/AttributeWriteMode.java index 8c1be2b4c..bc66221a3 100644 --- a/src/main/java/com/linkbreakers/model/AttributeWriteMode.java +++ b/src/main/java/com/linkbreakers/model/AttributeWriteMode.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/AutoLayoutWorkflowResponse.java b/src/main/java/com/linkbreakers/model/AutoLayoutWorkflowResponse.java index 118844643..dfe53c84b 100644 --- a/src/main/java/com/linkbreakers/model/AutoLayoutWorkflowResponse.java +++ b/src/main/java/com/linkbreakers/model/AutoLayoutWorkflowResponse.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/BackgroundOptions.java b/src/main/java/com/linkbreakers/model/BackgroundOptions.java index 4d2cf6a79..727bd6f88 100644 --- a/src/main/java/com/linkbreakers/model/BackgroundOptions.java +++ b/src/main/java/com/linkbreakers/model/BackgroundOptions.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/BillingInterval.java b/src/main/java/com/linkbreakers/model/BillingInterval.java new file mode 100644 index 000000000..0b98b2538 --- /dev/null +++ b/src/main/java/com/linkbreakers/model/BillingInterval.java @@ -0,0 +1,82 @@ +/* + * Linkbreakers API + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. + * + * The version of the OpenAPI document: 1.158.2 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.linkbreakers.model; + +import java.util.Objects; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.JsonElement; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * - BILLING_INTERVAL_UNSPECIFIED: Not set - BILLING_INTERVAL_MONTH: Charged every month - BILLING_INTERVAL_YEAR: Charged every year - BILLING_INTERVAL_ONE_TIME: Charged once + */ +@JsonAdapter(BillingInterval.Adapter.class) +public enum BillingInterval { + + BILLING_INTERVAL_UNSPECIFIED("BILLING_INTERVAL_UNSPECIFIED"), + + BILLING_INTERVAL_MONTH("BILLING_INTERVAL_MONTH"), + + BILLING_INTERVAL_YEAR("BILLING_INTERVAL_YEAR"), + + BILLING_INTERVAL_ONE_TIME("BILLING_INTERVAL_ONE_TIME"); + + private String value; + + BillingInterval(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static BillingInterval fromValue(String value) { + for (BillingInterval b : BillingInterval.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final BillingInterval enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public BillingInterval read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return BillingInterval.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + BillingInterval.fromValue(value); + } +} + diff --git a/src/main/java/com/linkbreakers/model/BreakdownDataPoint.java b/src/main/java/com/linkbreakers/model/BreakdownDataPoint.java index d9dc1ed51..a1a16633b 100644 --- a/src/main/java/com/linkbreakers/model/BreakdownDataPoint.java +++ b/src/main/java/com/linkbreakers/model/BreakdownDataPoint.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/CanvasPosition.java b/src/main/java/com/linkbreakers/model/CanvasPosition.java index bc78adbfd..00299a469 100644 --- a/src/main/java/com/linkbreakers/model/CanvasPosition.java +++ b/src/main/java/com/linkbreakers/model/CanvasPosition.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/ChatDisplayMessage.java b/src/main/java/com/linkbreakers/model/ChatDisplayMessage.java index 27fb44fed..b7d67ad21 100644 --- a/src/main/java/com/linkbreakers/model/ChatDisplayMessage.java +++ b/src/main/java/com/linkbreakers/model/ChatDisplayMessage.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/ChatUIAction.java b/src/main/java/com/linkbreakers/model/ChatUIAction.java index f68151282..12631aa83 100644 --- a/src/main/java/com/linkbreakers/model/ChatUIAction.java +++ b/src/main/java/com/linkbreakers/model/ChatUIAction.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/ChatUIOption.java b/src/main/java/com/linkbreakers/model/ChatUIOption.java index c9262ce5e..29db5b388 100644 --- a/src/main/java/com/linkbreakers/model/ChatUIOption.java +++ b/src/main/java/com/linkbreakers/model/ChatUIOption.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/CheckCustomDomainResponse.java b/src/main/java/com/linkbreakers/model/CheckCustomDomainResponse.java index da6c70d0c..ef31608d6 100644 --- a/src/main/java/com/linkbreakers/model/CheckCustomDomainResponse.java +++ b/src/main/java/com/linkbreakers/model/CheckCustomDomainResponse.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/ClaimAgentWorkspaceRequest.java b/src/main/java/com/linkbreakers/model/ClaimAgentWorkspaceRequest.java new file mode 100644 index 000000000..b11c28ecd --- /dev/null +++ b/src/main/java/com/linkbreakers/model/ClaimAgentWorkspaceRequest.java @@ -0,0 +1,289 @@ +/* + * Linkbreakers API + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. + * + * The version of the OpenAPI document: 1.158.2 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.linkbreakers.model; + +import java.util.Objects; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.util.Arrays; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; +import com.google.gson.TypeAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import com.linkbreakers.JSON; + +/** + * ClaimAgentWorkspaceRequest + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.21.0") +public class ClaimAgentWorkspaceRequest { + public static final String SERIALIZED_NAME_CLAIM_ATTEMPT_TOKEN = "claimAttemptToken"; + @SerializedName(SERIALIZED_NAME_CLAIM_ATTEMPT_TOKEN) + @javax.annotation.Nullable + private String claimAttemptToken; + + public static final String SERIALIZED_NAME_FIREBASE_TOKEN = "firebaseToken"; + @SerializedName(SERIALIZED_NAME_FIREBASE_TOKEN) + @javax.annotation.Nullable + private String firebaseToken; + + public static final String SERIALIZED_NAME_PASSWORD = "password"; + @SerializedName(SERIALIZED_NAME_PASSWORD) + @javax.annotation.Nullable + private String password; + + public static final String SERIALIZED_NAME_USER_CODE = "userCode"; + @SerializedName(SERIALIZED_NAME_USER_CODE) + @javax.annotation.Nullable + private String userCode; + + public ClaimAgentWorkspaceRequest() { + } + + public ClaimAgentWorkspaceRequest claimAttemptToken(@javax.annotation.Nullable String claimAttemptToken) { + this.claimAttemptToken = claimAttemptToken; + return this; + } + + /** + * Get claimAttemptToken + * @return claimAttemptToken + */ + @javax.annotation.Nullable + public String getClaimAttemptToken() { + return claimAttemptToken; + } + + public void setClaimAttemptToken(@javax.annotation.Nullable String claimAttemptToken) { + this.claimAttemptToken = claimAttemptToken; + } + + + public ClaimAgentWorkspaceRequest firebaseToken(@javax.annotation.Nullable String firebaseToken) { + this.firebaseToken = firebaseToken; + return this; + } + + /** + * A Firebase ID token from Google or Microsoft sign-in, for the claim email. Set this or password. + * @return firebaseToken + */ + @javax.annotation.Nullable + public String getFirebaseToken() { + return firebaseToken; + } + + public void setFirebaseToken(@javax.annotation.Nullable String firebaseToken) { + this.firebaseToken = firebaseToken; + } + + + public ClaimAgentWorkspaceRequest password(@javax.annotation.Nullable String password) { + this.password = password; + return this; + } + + /** + * A password for the claim email. Set this or firebase_token. + * @return password + */ + @javax.annotation.Nullable + public String getPassword() { + return password; + } + + public void setPassword(@javax.annotation.Nullable String password) { + this.password = password; + } + + + public ClaimAgentWorkspaceRequest userCode(@javax.annotation.Nullable String userCode) { + this.userCode = userCode; + return this; + } + + /** + * Get userCode + * @return userCode + */ + @javax.annotation.Nullable + public String getUserCode() { + return userCode; + } + + public void setUserCode(@javax.annotation.Nullable String userCode) { + this.userCode = userCode; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ClaimAgentWorkspaceRequest claimAgentWorkspaceRequest = (ClaimAgentWorkspaceRequest) o; + return Objects.equals(this.claimAttemptToken, claimAgentWorkspaceRequest.claimAttemptToken) && + Objects.equals(this.firebaseToken, claimAgentWorkspaceRequest.firebaseToken) && + Objects.equals(this.password, claimAgentWorkspaceRequest.password) && + Objects.equals(this.userCode, claimAgentWorkspaceRequest.userCode); + } + + @Override + public int hashCode() { + return Objects.hash(claimAttemptToken, firebaseToken, password, userCode); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ClaimAgentWorkspaceRequest {\n"); + sb.append(" claimAttemptToken: ").append(toIndentedString(claimAttemptToken)).append("\n"); + sb.append(" firebaseToken: ").append(toIndentedString(firebaseToken)).append("\n"); + sb.append(" password: ").append(toIndentedString(password)).append("\n"); + sb.append(" userCode: ").append(toIndentedString(userCode)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + return o == null ? "null" : o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(Arrays.asList("claimAttemptToken", "firebaseToken", "password", "userCode")); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(0); + } + + /** + * Validates the JSON Element and throws an exception if issues found + * + * @param jsonElement JSON Element + * @throws IOException if the JSON Element is invalid with respect to ClaimAgentWorkspaceRequest + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!ClaimAgentWorkspaceRequest.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format(java.util.Locale.ROOT, "The required field(s) %s in ClaimAgentWorkspaceRequest is not found in the empty JSON string", ClaimAgentWorkspaceRequest.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!ClaimAgentWorkspaceRequest.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format(java.util.Locale.ROOT, "The field `%s` in the JSON string is not defined in the `ClaimAgentWorkspaceRequest` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("claimAttemptToken") != null && !jsonObj.get("claimAttemptToken").isJsonNull()) && !jsonObj.get("claimAttemptToken").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format(java.util.Locale.ROOT, "Expected the field `claimAttemptToken` to be a primitive type in the JSON string but got `%s`", jsonObj.get("claimAttemptToken").toString())); + } + if ((jsonObj.get("firebaseToken") != null && !jsonObj.get("firebaseToken").isJsonNull()) && !jsonObj.get("firebaseToken").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format(java.util.Locale.ROOT, "Expected the field `firebaseToken` to be a primitive type in the JSON string but got `%s`", jsonObj.get("firebaseToken").toString())); + } + if ((jsonObj.get("password") != null && !jsonObj.get("password").isJsonNull()) && !jsonObj.get("password").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format(java.util.Locale.ROOT, "Expected the field `password` to be a primitive type in the JSON string but got `%s`", jsonObj.get("password").toString())); + } + if ((jsonObj.get("userCode") != null && !jsonObj.get("userCode").isJsonNull()) && !jsonObj.get("userCode").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format(java.util.Locale.ROOT, "Expected the field `userCode` to be a primitive type in the JSON string but got `%s`", jsonObj.get("userCode").toString())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!ClaimAgentWorkspaceRequest.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'ClaimAgentWorkspaceRequest' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(ClaimAgentWorkspaceRequest.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, ClaimAgentWorkspaceRequest value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public ClaimAgentWorkspaceRequest read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of ClaimAgentWorkspaceRequest given an JSON string + * + * @param jsonString JSON string + * @return An instance of ClaimAgentWorkspaceRequest + * @throws IOException if the JSON string is invalid with respect to ClaimAgentWorkspaceRequest + */ + public static ClaimAgentWorkspaceRequest fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, ClaimAgentWorkspaceRequest.class); + } + + /** + * Convert an instance of ClaimAgentWorkspaceRequest to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/src/main/java/com/linkbreakers/model/ClientRedirectPayload.java b/src/main/java/com/linkbreakers/model/ClientRedirectPayload.java index e17961abf..f39748eb6 100644 --- a/src/main/java/com/linkbreakers/model/ClientRedirectPayload.java +++ b/src/main/java/com/linkbreakers/model/ClientRedirectPayload.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/CompleteGoogleFormsOAuthRequest.java b/src/main/java/com/linkbreakers/model/CompleteGoogleFormsOAuthRequest.java index 1abfe583c..5abc85073 100644 --- a/src/main/java/com/linkbreakers/model/CompleteGoogleFormsOAuthRequest.java +++ b/src/main/java/com/linkbreakers/model/CompleteGoogleFormsOAuthRequest.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/CompleteGoogleFormsOAuthResponse.java b/src/main/java/com/linkbreakers/model/CompleteGoogleFormsOAuthResponse.java index d4adb7cdb..17045dcf0 100644 --- a/src/main/java/com/linkbreakers/model/CompleteGoogleFormsOAuthResponse.java +++ b/src/main/java/com/linkbreakers/model/CompleteGoogleFormsOAuthResponse.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/CompleteSlackOAuthRequest.java b/src/main/java/com/linkbreakers/model/CompleteSlackOAuthRequest.java index a6963cb53..10b18beda 100644 --- a/src/main/java/com/linkbreakers/model/CompleteSlackOAuthRequest.java +++ b/src/main/java/com/linkbreakers/model/CompleteSlackOAuthRequest.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/CompleteSlackOAuthResponse.java b/src/main/java/com/linkbreakers/model/CompleteSlackOAuthResponse.java index c5d1a0cf9..939f402cb 100644 --- a/src/main/java/com/linkbreakers/model/CompleteSlackOAuthResponse.java +++ b/src/main/java/com/linkbreakers/model/CompleteSlackOAuthResponse.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/ConnectWorkflowStepResponse.java b/src/main/java/com/linkbreakers/model/ConnectWorkflowStepResponse.java index 2f6e49aad..c5bf91bc8 100644 --- a/src/main/java/com/linkbreakers/model/ConnectWorkflowStepResponse.java +++ b/src/main/java/com/linkbreakers/model/ConnectWorkflowStepResponse.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/ContactCardTraceCard.java b/src/main/java/com/linkbreakers/model/ContactCardTraceCard.java index f2340f609..581df21a0 100644 --- a/src/main/java/com/linkbreakers/model/ContactCardTraceCard.java +++ b/src/main/java/com/linkbreakers/model/ContactCardTraceCard.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/ContactCardTraceData.java b/src/main/java/com/linkbreakers/model/ContactCardTraceData.java index 1a259928b..4ce5997d4 100644 --- a/src/main/java/com/linkbreakers/model/ContactCardTraceData.java +++ b/src/main/java/com/linkbreakers/model/ContactCardTraceData.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/ContainerConfig.java b/src/main/java/com/linkbreakers/model/ContainerConfig.java index 71e21a3f7..9d415863c 100644 --- a/src/main/java/com/linkbreakers/model/ContainerConfig.java +++ b/src/main/java/com/linkbreakers/model/ContainerConfig.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/CornersDotOptions.java b/src/main/java/com/linkbreakers/model/CornersDotOptions.java index 95af6a868..dcfd8fda6 100644 --- a/src/main/java/com/linkbreakers/model/CornersDotOptions.java +++ b/src/main/java/com/linkbreakers/model/CornersDotOptions.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/CornersDotType.java b/src/main/java/com/linkbreakers/model/CornersDotType.java index d649f1f0b..341f6aa0e 100644 --- a/src/main/java/com/linkbreakers/model/CornersDotType.java +++ b/src/main/java/com/linkbreakers/model/CornersDotType.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/CornersSquareOptions.java b/src/main/java/com/linkbreakers/model/CornersSquareOptions.java index 6915fb45c..f66b475dd 100644 --- a/src/main/java/com/linkbreakers/model/CornersSquareOptions.java +++ b/src/main/java/com/linkbreakers/model/CornersSquareOptions.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/CornersSquareType.java b/src/main/java/com/linkbreakers/model/CornersSquareType.java index 68ec85d92..74e07435e 100644 --- a/src/main/java/com/linkbreakers/model/CornersSquareType.java +++ b/src/main/java/com/linkbreakers/model/CornersSquareType.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/CountryConditionOutcome.java b/src/main/java/com/linkbreakers/model/CountryConditionOutcome.java index d8767278d..b6287b26f 100644 --- a/src/main/java/com/linkbreakers/model/CountryConditionOutcome.java +++ b/src/main/java/com/linkbreakers/model/CountryConditionOutcome.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/CountryConditionPayload.java b/src/main/java/com/linkbreakers/model/CountryConditionPayload.java index 35a7316b6..def388f70 100644 --- a/src/main/java/com/linkbreakers/model/CountryConditionPayload.java +++ b/src/main/java/com/linkbreakers/model/CountryConditionPayload.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/CountryConditionTraceData.java b/src/main/java/com/linkbreakers/model/CountryConditionTraceData.java index 815ba6e62..c86a8b11f 100644 --- a/src/main/java/com/linkbreakers/model/CountryConditionTraceData.java +++ b/src/main/java/com/linkbreakers/model/CountryConditionTraceData.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/CountryConditionTraceOption.java b/src/main/java/com/linkbreakers/model/CountryConditionTraceOption.java index c0c601144..2ac271229 100644 --- a/src/main/java/com/linkbreakers/model/CountryConditionTraceOption.java +++ b/src/main/java/com/linkbreakers/model/CountryConditionTraceOption.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/CreateBulkLinksRequest.java b/src/main/java/com/linkbreakers/model/CreateBulkLinksRequest.java index 1648bc15b..9cae1968b 100644 --- a/src/main/java/com/linkbreakers/model/CreateBulkLinksRequest.java +++ b/src/main/java/com/linkbreakers/model/CreateBulkLinksRequest.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/CreateBulkLinksResponse.java b/src/main/java/com/linkbreakers/model/CreateBulkLinksResponse.java index f03eb9775..2ba1a201b 100644 --- a/src/main/java/com/linkbreakers/model/CreateBulkLinksResponse.java +++ b/src/main/java/com/linkbreakers/model/CreateBulkLinksResponse.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/CreateContactLinkRequest.java b/src/main/java/com/linkbreakers/model/CreateContactLinkRequest.java index 6b13537e7..b3609f88a 100644 --- a/src/main/java/com/linkbreakers/model/CreateContactLinkRequest.java +++ b/src/main/java/com/linkbreakers/model/CreateContactLinkRequest.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/CreateContactLinkResponse.java b/src/main/java/com/linkbreakers/model/CreateContactLinkResponse.java index 2d3df81d3..81d7d8f03 100644 --- a/src/main/java/com/linkbreakers/model/CreateContactLinkResponse.java +++ b/src/main/java/com/linkbreakers/model/CreateContactLinkResponse.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/CreateCustomDomainRequest.java b/src/main/java/com/linkbreakers/model/CreateCustomDomainRequest.java index 281bce1c3..9bb07e260 100644 --- a/src/main/java/com/linkbreakers/model/CreateCustomDomainRequest.java +++ b/src/main/java/com/linkbreakers/model/CreateCustomDomainRequest.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/CreateCustomDomainResponse.java b/src/main/java/com/linkbreakers/model/CreateCustomDomainResponse.java index 3eb94cb4a..4cb91709c 100644 --- a/src/main/java/com/linkbreakers/model/CreateCustomDomainResponse.java +++ b/src/main/java/com/linkbreakers/model/CreateCustomDomainResponse.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/CreateDashboardRequest.java b/src/main/java/com/linkbreakers/model/CreateDashboardRequest.java index 322fb4eec..75f03ffc1 100644 --- a/src/main/java/com/linkbreakers/model/CreateDashboardRequest.java +++ b/src/main/java/com/linkbreakers/model/CreateDashboardRequest.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/CreateDashboardResponse.java b/src/main/java/com/linkbreakers/model/CreateDashboardResponse.java index 89895bb50..6572fc90d 100644 --- a/src/main/java/com/linkbreakers/model/CreateDashboardResponse.java +++ b/src/main/java/com/linkbreakers/model/CreateDashboardResponse.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/CreateDirectoryRequest.java b/src/main/java/com/linkbreakers/model/CreateDirectoryRequest.java index f6e1e2abd..853e55961 100644 --- a/src/main/java/com/linkbreakers/model/CreateDirectoryRequest.java +++ b/src/main/java/com/linkbreakers/model/CreateDirectoryRequest.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/CreateDirectoryResponse.java b/src/main/java/com/linkbreakers/model/CreateDirectoryResponse.java index 59507d7d7..5e340ccac 100644 --- a/src/main/java/com/linkbreakers/model/CreateDirectoryResponse.java +++ b/src/main/java/com/linkbreakers/model/CreateDirectoryResponse.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/CreateEventTraceResponse.java b/src/main/java/com/linkbreakers/model/CreateEventTraceResponse.java index ce24fe8c8..3c34843a9 100644 --- a/src/main/java/com/linkbreakers/model/CreateEventTraceResponse.java +++ b/src/main/java/com/linkbreakers/model/CreateEventTraceResponse.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/CreateLinkRequest.java b/src/main/java/com/linkbreakers/model/CreateLinkRequest.java index 219ac564d..e124fe560 100644 --- a/src/main/java/com/linkbreakers/model/CreateLinkRequest.java +++ b/src/main/java/com/linkbreakers/model/CreateLinkRequest.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/CreateLinkResponse.java b/src/main/java/com/linkbreakers/model/CreateLinkResponse.java index fb90d7a8a..e9ef97f77 100644 --- a/src/main/java/com/linkbreakers/model/CreateLinkResponse.java +++ b/src/main/java/com/linkbreakers/model/CreateLinkResponse.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/CreateMediaRequest.java b/src/main/java/com/linkbreakers/model/CreateMediaRequest.java index d8d729d66..4e11d5c70 100644 --- a/src/main/java/com/linkbreakers/model/CreateMediaRequest.java +++ b/src/main/java/com/linkbreakers/model/CreateMediaRequest.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/CreateMediaResponse.java b/src/main/java/com/linkbreakers/model/CreateMediaResponse.java index cef2f111a..fb572f0e7 100644 --- a/src/main/java/com/linkbreakers/model/CreateMediaResponse.java +++ b/src/main/java/com/linkbreakers/model/CreateMediaResponse.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/CreatePageThemeTemplateRequest.java b/src/main/java/com/linkbreakers/model/CreatePageThemeTemplateRequest.java index 4d2dc80d1..4f8a81c2a 100644 --- a/src/main/java/com/linkbreakers/model/CreatePageThemeTemplateRequest.java +++ b/src/main/java/com/linkbreakers/model/CreatePageThemeTemplateRequest.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/CreatePageThemeTemplateResponse.java b/src/main/java/com/linkbreakers/model/CreatePageThemeTemplateResponse.java index 72b027956..112b92b18 100644 --- a/src/main/java/com/linkbreakers/model/CreatePageThemeTemplateResponse.java +++ b/src/main/java/com/linkbreakers/model/CreatePageThemeTemplateResponse.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/CreateQrcodeTemplateRequest.java b/src/main/java/com/linkbreakers/model/CreateQrcodeTemplateRequest.java index a45bb7ae6..dbff5f240 100644 --- a/src/main/java/com/linkbreakers/model/CreateQrcodeTemplateRequest.java +++ b/src/main/java/com/linkbreakers/model/CreateQrcodeTemplateRequest.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/CreateQrcodeTemplateResponse.java b/src/main/java/com/linkbreakers/model/CreateQrcodeTemplateResponse.java index d2b8fe026..a148d2f05 100644 --- a/src/main/java/com/linkbreakers/model/CreateQrcodeTemplateResponse.java +++ b/src/main/java/com/linkbreakers/model/CreateQrcodeTemplateResponse.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/CreateSandboxRequest.java b/src/main/java/com/linkbreakers/model/CreateSandboxRequest.java new file mode 100644 index 000000000..9c8a88713 --- /dev/null +++ b/src/main/java/com/linkbreakers/model/CreateSandboxRequest.java @@ -0,0 +1,202 @@ +/* + * Linkbreakers API + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. + * + * The version of the OpenAPI document: 1.158.2 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.linkbreakers.model; + +import java.util.Objects; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.util.Arrays; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; +import com.google.gson.TypeAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import com.linkbreakers.JSON; + +/** + * CreateSandboxRequest + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.21.0") +public class CreateSandboxRequest { + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + @javax.annotation.Nullable + private String name; + + public CreateSandboxRequest() { + } + + public CreateSandboxRequest name(@javax.annotation.Nullable String name) { + this.name = name; + return this; + } + + /** + * Optional name, at most 80 characters. Defaults to \"Sandbox\" and the creation time. + * @return name + */ + @javax.annotation.Nullable + public String getName() { + return name; + } + + public void setName(@javax.annotation.Nullable String name) { + this.name = name; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreateSandboxRequest createSandboxRequest = (CreateSandboxRequest) o; + return Objects.equals(this.name, createSandboxRequest.name); + } + + @Override + public int hashCode() { + return Objects.hash(name); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreateSandboxRequest {\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + return o == null ? "null" : o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(Arrays.asList("name")); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(0); + } + + /** + * Validates the JSON Element and throws an exception if issues found + * + * @param jsonElement JSON Element + * @throws IOException if the JSON Element is invalid with respect to CreateSandboxRequest + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!CreateSandboxRequest.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format(java.util.Locale.ROOT, "The required field(s) %s in CreateSandboxRequest is not found in the empty JSON string", CreateSandboxRequest.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!CreateSandboxRequest.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format(java.util.Locale.ROOT, "The field `%s` in the JSON string is not defined in the `CreateSandboxRequest` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("name") != null && !jsonObj.get("name").isJsonNull()) && !jsonObj.get("name").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format(java.util.Locale.ROOT, "Expected the field `name` to be a primitive type in the JSON string but got `%s`", jsonObj.get("name").toString())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!CreateSandboxRequest.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'CreateSandboxRequest' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(CreateSandboxRequest.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, CreateSandboxRequest value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public CreateSandboxRequest read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of CreateSandboxRequest given an JSON string + * + * @param jsonString JSON string + * @return An instance of CreateSandboxRequest + * @throws IOException if the JSON string is invalid with respect to CreateSandboxRequest + */ + public static CreateSandboxRequest fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, CreateSandboxRequest.class); + } + + /** + * Convert an instance of CreateSandboxRequest to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/src/main/java/com/linkbreakers/model/CreateSandboxResponse.java b/src/main/java/com/linkbreakers/model/CreateSandboxResponse.java new file mode 100644 index 000000000..c81d71984 --- /dev/null +++ b/src/main/java/com/linkbreakers/model/CreateSandboxResponse.java @@ -0,0 +1,264 @@ +/* + * Linkbreakers API + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. + * + * The version of the OpenAPI document: 1.158.2 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.linkbreakers.model; + +import java.util.Objects; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.linkbreakers.model.Sandbox; +import com.linkbreakers.model.WorkspaceToken; +import java.io.IOException; +import java.util.Arrays; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; +import com.google.gson.TypeAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import com.linkbreakers.JSON; + +/** + * CreateSandboxResponse + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.21.0") +public class CreateSandboxResponse { + public static final String SERIALIZED_NAME_ACCESS_TOKEN = "accessToken"; + @SerializedName(SERIALIZED_NAME_ACCESS_TOKEN) + @javax.annotation.Nullable + private String accessToken; + + public static final String SERIALIZED_NAME_SANDBOX = "sandbox"; + @SerializedName(SERIALIZED_NAME_SANDBOX) + @javax.annotation.Nullable + private Sandbox sandbox; + + public static final String SERIALIZED_NAME_TOKEN = "token"; + @SerializedName(SERIALIZED_NAME_TOKEN) + @javax.annotation.Nullable + private WorkspaceToken token; + + public CreateSandboxResponse() { + } + + public CreateSandboxResponse accessToken(@javax.annotation.Nullable String accessToken) { + this.accessToken = accessToken; + return this; + } + + /** + * The secret, starting with lb_test_. Returned only once. + * @return accessToken + */ + @javax.annotation.Nullable + public String getAccessToken() { + return accessToken; + } + + public void setAccessToken(@javax.annotation.Nullable String accessToken) { + this.accessToken = accessToken; + } + + + public CreateSandboxResponse sandbox(@javax.annotation.Nullable Sandbox sandbox) { + this.sandbox = sandbox; + return this; + } + + /** + * Get sandbox + * @return sandbox + */ + @javax.annotation.Nullable + public Sandbox getSandbox() { + return sandbox; + } + + public void setSandbox(@javax.annotation.Nullable Sandbox sandbox) { + this.sandbox = sandbox; + } + + + public CreateSandboxResponse token(@javax.annotation.Nullable WorkspaceToken token) { + this.token = token; + return this; + } + + /** + * The sandbox's first API token, with the same scopes as the credential that created the sandbox. + * @return token + */ + @javax.annotation.Nullable + public WorkspaceToken getToken() { + return token; + } + + public void setToken(@javax.annotation.Nullable WorkspaceToken token) { + this.token = token; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreateSandboxResponse createSandboxResponse = (CreateSandboxResponse) o; + return Objects.equals(this.accessToken, createSandboxResponse.accessToken) && + Objects.equals(this.sandbox, createSandboxResponse.sandbox) && + Objects.equals(this.token, createSandboxResponse.token); + } + + @Override + public int hashCode() { + return Objects.hash(accessToken, sandbox, token); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreateSandboxResponse {\n"); + sb.append(" accessToken: ").append(toIndentedString(accessToken)).append("\n"); + sb.append(" sandbox: ").append(toIndentedString(sandbox)).append("\n"); + sb.append(" token: ").append(toIndentedString(token)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + return o == null ? "null" : o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(Arrays.asList("accessToken", "sandbox", "token")); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(0); + } + + /** + * Validates the JSON Element and throws an exception if issues found + * + * @param jsonElement JSON Element + * @throws IOException if the JSON Element is invalid with respect to CreateSandboxResponse + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!CreateSandboxResponse.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format(java.util.Locale.ROOT, "The required field(s) %s in CreateSandboxResponse is not found in the empty JSON string", CreateSandboxResponse.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!CreateSandboxResponse.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format(java.util.Locale.ROOT, "The field `%s` in the JSON string is not defined in the `CreateSandboxResponse` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("accessToken") != null && !jsonObj.get("accessToken").isJsonNull()) && !jsonObj.get("accessToken").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format(java.util.Locale.ROOT, "Expected the field `accessToken` to be a primitive type in the JSON string but got `%s`", jsonObj.get("accessToken").toString())); + } + // validate the optional field `sandbox` + if (jsonObj.get("sandbox") != null && !jsonObj.get("sandbox").isJsonNull()) { + Sandbox.validateJsonElement(jsonObj.get("sandbox")); + } + // validate the optional field `token` + if (jsonObj.get("token") != null && !jsonObj.get("token").isJsonNull()) { + WorkspaceToken.validateJsonElement(jsonObj.get("token")); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!CreateSandboxResponse.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'CreateSandboxResponse' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(CreateSandboxResponse.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, CreateSandboxResponse value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public CreateSandboxResponse read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of CreateSandboxResponse given an JSON string + * + * @param jsonString JSON string + * @return An instance of CreateSandboxResponse + * @throws IOException if the JSON string is invalid with respect to CreateSandboxResponse + */ + public static CreateSandboxResponse fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, CreateSandboxResponse.class); + } + + /** + * Convert an instance of CreateSandboxResponse to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/src/main/java/com/linkbreakers/model/CreateThankYouLinkRequest.java b/src/main/java/com/linkbreakers/model/CreateThankYouLinkRequest.java index 404c028e1..c06ed7923 100644 --- a/src/main/java/com/linkbreakers/model/CreateThankYouLinkRequest.java +++ b/src/main/java/com/linkbreakers/model/CreateThankYouLinkRequest.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/CreateThankYouLinkResponse.java b/src/main/java/com/linkbreakers/model/CreateThankYouLinkResponse.java index 07e5337b7..ab0d9462a 100644 --- a/src/main/java/com/linkbreakers/model/CreateThankYouLinkResponse.java +++ b/src/main/java/com/linkbreakers/model/CreateThankYouLinkResponse.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/CreateWebhookRequest.java b/src/main/java/com/linkbreakers/model/CreateWebhookRequest.java index d336b4586..b42442046 100644 --- a/src/main/java/com/linkbreakers/model/CreateWebhookRequest.java +++ b/src/main/java/com/linkbreakers/model/CreateWebhookRequest.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/CreateWebhookResponse.java b/src/main/java/com/linkbreakers/model/CreateWebhookResponse.java index d3337b40e..3e6fedd41 100644 --- a/src/main/java/com/linkbreakers/model/CreateWebhookResponse.java +++ b/src/main/java/com/linkbreakers/model/CreateWebhookResponse.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/CreateWorkflowStepResponse.java b/src/main/java/com/linkbreakers/model/CreateWorkflowStepResponse.java index 570bff0cf..a5cc41029 100644 --- a/src/main/java/com/linkbreakers/model/CreateWorkflowStepResponse.java +++ b/src/main/java/com/linkbreakers/model/CreateWorkflowStepResponse.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/CreateWorkspaceTokenRequest.java b/src/main/java/com/linkbreakers/model/CreateWorkspaceTokenRequest.java index e639a4bc7..3a4256893 100644 --- a/src/main/java/com/linkbreakers/model/CreateWorkspaceTokenRequest.java +++ b/src/main/java/com/linkbreakers/model/CreateWorkspaceTokenRequest.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -19,9 +19,10 @@ import com.google.gson.annotations.SerializedName; import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; -import com.linkbreakers.model.WorkspaceTokenKeyType; import java.io.IOException; +import java.util.ArrayList; import java.util.Arrays; +import java.util.List; import com.google.gson.Gson; import com.google.gson.GsonBuilder; @@ -51,34 +52,201 @@ */ @javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.21.0") public class CreateWorkspaceTokenRequest { + /** + * - WORKSPACE_TOKEN_KEY_TYPE_UNSPECIFIED: Default value (should not be used) - WORKSPACE_TOKEN_KEY_TYPE_SECRET: Secret key with full API access - WORKSPACE_TOKEN_KEY_TYPE_PUBLISHABLE: Publishable key with limited access + */ + @JsonAdapter(KeyTypeEnum.Adapter.class) + public enum KeyTypeEnum { + WORKSPACE_TOKEN_KEY_TYPE_UNSPECIFIED("WORKSPACE_TOKEN_KEY_TYPE_UNSPECIFIED"), + + WORKSPACE_TOKEN_KEY_TYPE_SECRET("WORKSPACE_TOKEN_KEY_TYPE_SECRET"), + + WORKSPACE_TOKEN_KEY_TYPE_PUBLISHABLE("WORKSPACE_TOKEN_KEY_TYPE_PUBLISHABLE"); + + private String value; + + KeyTypeEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static KeyTypeEnum fromValue(String value) { + for (KeyTypeEnum b : KeyTypeEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final KeyTypeEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public KeyTypeEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return KeyTypeEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + KeyTypeEnum.fromValue(value); + } + } + public static final String SERIALIZED_NAME_KEY_TYPE = "keyType"; @SerializedName(SERIALIZED_NAME_KEY_TYPE) @javax.annotation.Nonnull - private WorkspaceTokenKeyType keyType; + private KeyTypeEnum keyType; public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) @javax.annotation.Nullable private String name; + /** + * ApiScope is one permission an API token or OAuth grant can hold. A write scope also grants the read scope of the same resource. - API_SCOPE_UNSPECIFIED: Not a scope. Rejected wherever a scope is expected. - API_SCOPE_LINKS_READ: Read links, their QR code images, tags, folders and link settings. - API_SCOPE_LINKS_WRITE: Create, update and delete links, tags, folders and link settings. - API_SCOPE_WORKFLOWS_READ: Read the workflow steps behind a link and validate them. - API_SCOPE_WORKFLOWS_WRITE: Create, connect, update, lay out and delete workflow steps. - API_SCOPE_QRCODES_READ: Read QR code designs and QR code templates. - API_SCOPE_QRCODES_WRITE: Change QR code designs and create, publish and delete QR code templates. - API_SCOPE_PAGE_THEMES_READ: Read page themes and page theme templates. - API_SCOPE_PAGE_THEMES_WRITE: Change page themes and create, publish and delete page theme templates. - API_SCOPE_MEDIA_READ: Read uploaded media. - API_SCOPE_MEDIA_WRITE: Upload and delete media. - API_SCOPE_DOMAINS_READ: Read custom domains and their DNS instructions. - API_SCOPE_DOMAINS_WRITE: Add, verify, update and delete custom domains. - API_SCOPE_VISITORS_READ: Read and search visitors and their attributes. - API_SCOPE_VISITORS_WRITE: Identify, update and delete visitors and their attributes. - API_SCOPE_ANALYTICS_READ: Read events, metrics, time series, analytics data and dashboards. - API_SCOPE_ANALYTICS_WRITE: Create, update and delete analytics dashboards and generate widget summaries. - API_SCOPE_WEBHOOKS_READ: Read webhooks. - API_SCOPE_WEBHOOKS_WRITE: Create, update and delete webhooks. - API_SCOPE_INTEGRATIONS_READ: Read the Slack and Google Forms integrations. - API_SCOPE_INTEGRATIONS_WRITE: Connect, configure, test, sync and disconnect the Slack and Google Forms integrations. - API_SCOPE_WORKSPACE_READ: Read the workspace and its settings. - API_SCOPE_WORKSPACE_WRITE: Update the workspace, request enrollment and delete the workspace. - API_SCOPE_MEMBERS_READ: Read workspace members. - API_SCOPE_MEMBERS_WRITE: Update, revoke, sign out and remove members. Inviting a member or changing a sign-in email or password needs full access. - API_SCOPE_TOKENS_READ: Read API tokens and their scopes, never their secrets. - API_SCOPE_TOKENS_WRITE: Create, update and delete API tokens, limited to the scopes the calling token holds. - API_SCOPE_BILLING_WRITE: Open checkout, credit top-up and billing portal sessions. - API_SCOPE_ASSISTANT_READ: Read the Assistant conversation. - API_SCOPE_ASSISTANT_WRITE: Send files to the Assistant, clear the conversation and contact support. + */ + @JsonAdapter(ScopesEnum.Adapter.class) + public enum ScopesEnum { + API_SCOPE_UNSPECIFIED("API_SCOPE_UNSPECIFIED"), + + API_SCOPE_LINKS_READ("API_SCOPE_LINKS_READ"), + + API_SCOPE_LINKS_WRITE("API_SCOPE_LINKS_WRITE"), + + API_SCOPE_WORKFLOWS_READ("API_SCOPE_WORKFLOWS_READ"), + + API_SCOPE_WORKFLOWS_WRITE("API_SCOPE_WORKFLOWS_WRITE"), + + API_SCOPE_QRCODES_READ("API_SCOPE_QRCODES_READ"), + + API_SCOPE_QRCODES_WRITE("API_SCOPE_QRCODES_WRITE"), + + API_SCOPE_PAGE_THEMES_READ("API_SCOPE_PAGE_THEMES_READ"), + + API_SCOPE_PAGE_THEMES_WRITE("API_SCOPE_PAGE_THEMES_WRITE"), + + API_SCOPE_MEDIA_READ("API_SCOPE_MEDIA_READ"), + + API_SCOPE_MEDIA_WRITE("API_SCOPE_MEDIA_WRITE"), + + API_SCOPE_DOMAINS_READ("API_SCOPE_DOMAINS_READ"), + + API_SCOPE_DOMAINS_WRITE("API_SCOPE_DOMAINS_WRITE"), + + API_SCOPE_VISITORS_READ("API_SCOPE_VISITORS_READ"), + + API_SCOPE_VISITORS_WRITE("API_SCOPE_VISITORS_WRITE"), + + API_SCOPE_ANALYTICS_READ("API_SCOPE_ANALYTICS_READ"), + + API_SCOPE_ANALYTICS_WRITE("API_SCOPE_ANALYTICS_WRITE"), + + API_SCOPE_WEBHOOKS_READ("API_SCOPE_WEBHOOKS_READ"), + + API_SCOPE_WEBHOOKS_WRITE("API_SCOPE_WEBHOOKS_WRITE"), + + API_SCOPE_INTEGRATIONS_READ("API_SCOPE_INTEGRATIONS_READ"), + + API_SCOPE_INTEGRATIONS_WRITE("API_SCOPE_INTEGRATIONS_WRITE"), + + API_SCOPE_WORKSPACE_READ("API_SCOPE_WORKSPACE_READ"), + + API_SCOPE_WORKSPACE_WRITE("API_SCOPE_WORKSPACE_WRITE"), + + API_SCOPE_MEMBERS_READ("API_SCOPE_MEMBERS_READ"), + + API_SCOPE_MEMBERS_WRITE("API_SCOPE_MEMBERS_WRITE"), + + API_SCOPE_TOKENS_READ("API_SCOPE_TOKENS_READ"), + + API_SCOPE_TOKENS_WRITE("API_SCOPE_TOKENS_WRITE"), + + API_SCOPE_BILLING_WRITE("API_SCOPE_BILLING_WRITE"), + + API_SCOPE_ASSISTANT_READ("API_SCOPE_ASSISTANT_READ"), + + API_SCOPE_ASSISTANT_WRITE("API_SCOPE_ASSISTANT_WRITE"); + + private String value; + + ScopesEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static ScopesEnum fromValue(String value) { + for (ScopesEnum b : ScopesEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final ScopesEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public ScopesEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return ScopesEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + ScopesEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_SCOPES = "scopes"; + @SerializedName(SERIALIZED_NAME_SCOPES) + @javax.annotation.Nullable + private List scopes = new ArrayList<>(); + public CreateWorkspaceTokenRequest() { } - public CreateWorkspaceTokenRequest keyType(@javax.annotation.Nonnull WorkspaceTokenKeyType keyType) { + public CreateWorkspaceTokenRequest keyType(@javax.annotation.Nonnull KeyTypeEnum keyType) { this.keyType = keyType; return this; } /** - * Get keyType + * - WORKSPACE_TOKEN_KEY_TYPE_UNSPECIFIED: Default value (should not be used) - WORKSPACE_TOKEN_KEY_TYPE_SECRET: Secret key with full API access - WORKSPACE_TOKEN_KEY_TYPE_PUBLISHABLE: Publishable key with limited access * @return keyType */ @javax.annotation.Nonnull - public WorkspaceTokenKeyType getKeyType() { + public KeyTypeEnum getKeyType() { return keyType; } - public void setKeyType(@javax.annotation.Nonnull WorkspaceTokenKeyType keyType) { + public void setKeyType(@javax.annotation.Nonnull KeyTypeEnum keyType) { this.keyType = keyType; } @@ -102,6 +270,33 @@ public void setName(@javax.annotation.Nullable String name) { } + public CreateWorkspaceTokenRequest scopes(@javax.annotation.Nullable List scopes) { + this.scopes = scopes; + return this; + } + + public CreateWorkspaceTokenRequest addScopesItem(ScopesEnum scopesItem) { + if (this.scopes == null) { + this.scopes = new ArrayList<>(); + } + this.scopes.add(scopesItem); + return this; + } + + /** + * The scopes the token may use. Leave empty for full access. A write scope also grants the read scope of the same resource. Publishable keys take no scopes. A token can only grant scopes it holds itself. + * @return scopes + */ + @javax.annotation.Nullable + public List getScopes() { + return scopes; + } + + public void setScopes(@javax.annotation.Nullable List scopes) { + this.scopes = scopes; + } + + @Override public boolean equals(Object o) { @@ -113,12 +308,13 @@ public boolean equals(Object o) { } CreateWorkspaceTokenRequest createWorkspaceTokenRequest = (CreateWorkspaceTokenRequest) o; return Objects.equals(this.keyType, createWorkspaceTokenRequest.keyType) && - Objects.equals(this.name, createWorkspaceTokenRequest.name); + Objects.equals(this.name, createWorkspaceTokenRequest.name) && + Objects.equals(this.scopes, createWorkspaceTokenRequest.scopes); } @Override public int hashCode() { - return Objects.hash(keyType, name); + return Objects.hash(keyType, name, scopes); } @Override @@ -127,6 +323,7 @@ public String toString() { sb.append("class CreateWorkspaceTokenRequest {\n"); sb.append(" keyType: ").append(toIndentedString(keyType)).append("\n"); sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" scopes: ").append(toIndentedString(scopes)).append("\n"); sb.append("}"); return sb.toString(); } @@ -145,7 +342,7 @@ private String toIndentedString(Object o) { static { // a set of all properties/fields (JSON key names) - openapiFields = new HashSet(Arrays.asList("keyType", "name")); + openapiFields = new HashSet(Arrays.asList("keyType", "name", "scopes")); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(Arrays.asList("keyType")); @@ -179,11 +376,18 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti } } JsonObject jsonObj = jsonElement.getAsJsonObject(); + if (!jsonObj.get("keyType").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format(java.util.Locale.ROOT, "Expected the field `keyType` to be a primitive type in the JSON string but got `%s`", jsonObj.get("keyType").toString())); + } // validate the required field `keyType` - WorkspaceTokenKeyType.validateJsonElement(jsonObj.get("keyType")); + KeyTypeEnum.validateJsonElement(jsonObj.get("keyType")); if ((jsonObj.get("name") != null && !jsonObj.get("name").isJsonNull()) && !jsonObj.get("name").isJsonPrimitive()) { throw new IllegalArgumentException(String.format(java.util.Locale.ROOT, "Expected the field `name` to be a primitive type in the JSON string but got `%s`", jsonObj.get("name").toString())); } + // ensure the optional json data is an array if present + if (jsonObj.get("scopes") != null && !jsonObj.get("scopes").isJsonNull() && !jsonObj.get("scopes").isJsonArray()) { + throw new IllegalArgumentException(String.format(java.util.Locale.ROOT, "Expected the field `scopes` to be an array in the JSON string but got `%s`", jsonObj.get("scopes").toString())); + } } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/linkbreakers/model/CreateWorkspaceTokenResponse.java b/src/main/java/com/linkbreakers/model/CreateWorkspaceTokenResponse.java index a7b54f7d5..271ef3abc 100644 --- a/src/main/java/com/linkbreakers/model/CreateWorkspaceTokenResponse.java +++ b/src/main/java/com/linkbreakers/model/CreateWorkspaceTokenResponse.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/CreditTopup.java b/src/main/java/com/linkbreakers/model/CreditTopup.java new file mode 100644 index 000000000..ba6f20cd9 --- /dev/null +++ b/src/main/java/com/linkbreakers/model/CreditTopup.java @@ -0,0 +1,250 @@ +/* + * Linkbreakers API + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. + * + * The version of the OpenAPI document: 1.158.2 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.linkbreakers.model; + +import java.util.Objects; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.linkbreakers.model.Money; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; +import com.google.gson.TypeAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import com.linkbreakers.JSON; + +/** + * CreditTopup + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.21.0") +public class CreditTopup { + public static final String SERIALIZED_NAME_AMOUNTS = "amounts"; + @SerializedName(SERIALIZED_NAME_AMOUNTS) + @javax.annotation.Nullable + private List amounts = new ArrayList<>(); + + public static final String SERIALIZED_NAME_CREDITS_PER_UNIT = "creditsPerUnit"; + @SerializedName(SERIALIZED_NAME_CREDITS_PER_UNIT) + @javax.annotation.Nullable + private Integer creditsPerUnit; + + public CreditTopup() { + } + + public CreditTopup amounts(@javax.annotation.Nullable List amounts) { + this.amounts = amounts; + return this; + } + + public CreditTopup addAmountsItem(Money amountsItem) { + if (this.amounts == null) { + this.amounts = new ArrayList<>(); + } + this.amounts.add(amountsItem); + return this; + } + + /** + * Get amounts + * @return amounts + */ + @javax.annotation.Nullable + public List getAmounts() { + return amounts; + } + + public void setAmounts(@javax.annotation.Nullable List amounts) { + this.amounts = amounts; + } + + + public CreditTopup creditsPerUnit(@javax.annotation.Nullable Integer creditsPerUnit) { + this.creditsPerUnit = creditsPerUnit; + return this; + } + + /** + * Get creditsPerUnit + * @return creditsPerUnit + */ + @javax.annotation.Nullable + public Integer getCreditsPerUnit() { + return creditsPerUnit; + } + + public void setCreditsPerUnit(@javax.annotation.Nullable Integer creditsPerUnit) { + this.creditsPerUnit = creditsPerUnit; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreditTopup creditTopup = (CreditTopup) o; + return Objects.equals(this.amounts, creditTopup.amounts) && + Objects.equals(this.creditsPerUnit, creditTopup.creditsPerUnit); + } + + @Override + public int hashCode() { + return Objects.hash(amounts, creditsPerUnit); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreditTopup {\n"); + sb.append(" amounts: ").append(toIndentedString(amounts)).append("\n"); + sb.append(" creditsPerUnit: ").append(toIndentedString(creditsPerUnit)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + return o == null ? "null" : o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(Arrays.asList("amounts", "creditsPerUnit")); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(0); + } + + /** + * Validates the JSON Element and throws an exception if issues found + * + * @param jsonElement JSON Element + * @throws IOException if the JSON Element is invalid with respect to CreditTopup + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!CreditTopup.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format(java.util.Locale.ROOT, "The required field(s) %s in CreditTopup is not found in the empty JSON string", CreditTopup.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!CreditTopup.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format(java.util.Locale.ROOT, "The field `%s` in the JSON string is not defined in the `CreditTopup` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + if (jsonObj.get("amounts") != null && !jsonObj.get("amounts").isJsonNull()) { + JsonArray jsonArrayamounts = jsonObj.getAsJsonArray("amounts"); + if (jsonArrayamounts != null) { + // ensure the json data is an array + if (!jsonObj.get("amounts").isJsonArray()) { + throw new IllegalArgumentException(String.format(java.util.Locale.ROOT, "Expected the field `amounts` to be an array in the JSON string but got `%s`", jsonObj.get("amounts").toString())); + } + + // validate the optional field `amounts` (array) + for (int i = 0; i < jsonArrayamounts.size(); i++) { + Money.validateJsonElement(jsonArrayamounts.get(i)); + }; + } + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!CreditTopup.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'CreditTopup' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(CreditTopup.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, CreditTopup value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public CreditTopup read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of CreditTopup given an JSON string + * + * @param jsonString JSON string + * @return An instance of CreditTopup + * @throws IOException if the JSON string is invalid with respect to CreditTopup + */ + public static CreditTopup fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, CreditTopup.class); + } + + /** + * Convert an instance of CreditTopup to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/src/main/java/com/linkbreakers/model/CustomDomain.java b/src/main/java/com/linkbreakers/model/CustomDomain.java index e821f230d..a41adf51a 100644 --- a/src/main/java/com/linkbreakers/model/CustomDomain.java +++ b/src/main/java/com/linkbreakers/model/CustomDomain.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/CustomDomainDnsRecord.java b/src/main/java/com/linkbreakers/model/CustomDomainDnsRecord.java index 27cd08201..ed1ddf952 100644 --- a/src/main/java/com/linkbreakers/model/CustomDomainDnsRecord.java +++ b/src/main/java/com/linkbreakers/model/CustomDomainDnsRecord.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -52,6 +52,11 @@ */ @javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.21.0") public class CustomDomainDnsRecord { + public static final String SERIALIZED_NAME_DETECTED = "detected"; + @SerializedName(SERIALIZED_NAME_DETECTED) + @javax.annotation.Nullable + private Boolean detected; + public static final String SERIALIZED_NAME_HOST = "host"; @SerializedName(SERIALIZED_NAME_HOST) @javax.annotation.Nullable @@ -85,6 +90,25 @@ public class CustomDomainDnsRecord { public CustomDomainDnsRecord() { } + public CustomDomainDnsRecord detected(@javax.annotation.Nullable Boolean detected) { + this.detected = detected; + return this; + } + + /** + * Get detected + * @return detected + */ + @javax.annotation.Nullable + public Boolean getDetected() { + return detected; + } + + public void setDetected(@javax.annotation.Nullable Boolean detected) { + this.detected = detected; + } + + public CustomDomainDnsRecord host(@javax.annotation.Nullable String host) { this.host = host; return this; @@ -148,7 +172,7 @@ public CustomDomainDnsRecord required(@javax.annotation.Nullable Boolean require } /** - * Whether the domain cannot work without it. Optional records make setup smoother, such as certificates renewing on their own. + * Whether setup is incomplete without it. The routing record and the certificate delegation record (which keeps HTTPS renewing on its own) are both required. * @return required */ @javax.annotation.Nullable @@ -209,7 +233,8 @@ public boolean equals(Object o) { return false; } CustomDomainDnsRecord customDomainDnsRecord = (CustomDomainDnsRecord) o; - return Objects.equals(this.host, customDomainDnsRecord.host) && + return Objects.equals(this.detected, customDomainDnsRecord.detected) && + Objects.equals(this.host, customDomainDnsRecord.host) && Objects.equals(this.name, customDomainDnsRecord.name) && Objects.equals(this.purpose, customDomainDnsRecord.purpose) && Objects.equals(this.required, customDomainDnsRecord.required) && @@ -219,13 +244,14 @@ public boolean equals(Object o) { @Override public int hashCode() { - return Objects.hash(host, name, purpose, required, type, value); + return Objects.hash(detected, host, name, purpose, required, type, value); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class CustomDomainDnsRecord {\n"); + sb.append(" detected: ").append(toIndentedString(detected)).append("\n"); sb.append(" host: ").append(toIndentedString(host)).append("\n"); sb.append(" name: ").append(toIndentedString(name)).append("\n"); sb.append(" purpose: ").append(toIndentedString(purpose)).append("\n"); @@ -250,7 +276,7 @@ private String toIndentedString(Object o) { static { // a set of all properties/fields (JSON key names) - openapiFields = new HashSet(Arrays.asList("host", "name", "purpose", "required", "type", "value")); + openapiFields = new HashSet(Arrays.asList("detected", "host", "name", "purpose", "required", "type", "value")); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(0); diff --git a/src/main/java/com/linkbreakers/model/CustomDomainOneClickSetup.java b/src/main/java/com/linkbreakers/model/CustomDomainOneClickSetup.java index d4bf36530..6ea36e10a 100644 --- a/src/main/java/com/linkbreakers/model/CustomDomainOneClickSetup.java +++ b/src/main/java/com/linkbreakers/model/CustomDomainOneClickSetup.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/CustomDomainSetupGuide.java b/src/main/java/com/linkbreakers/model/CustomDomainSetupGuide.java index 5fee9b2d4..070ed99ab 100644 --- a/src/main/java/com/linkbreakers/model/CustomDomainSetupGuide.java +++ b/src/main/java/com/linkbreakers/model/CustomDomainSetupGuide.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/CustomDomainSetupHint.java b/src/main/java/com/linkbreakers/model/CustomDomainSetupHint.java index 049191ac1..454d22571 100644 --- a/src/main/java/com/linkbreakers/model/CustomDomainSetupHint.java +++ b/src/main/java/com/linkbreakers/model/CustomDomainSetupHint.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/CustomDomainStatus.java b/src/main/java/com/linkbreakers/model/CustomDomainStatus.java index 0e42e85b8..01a26470e 100644 --- a/src/main/java/com/linkbreakers/model/CustomDomainStatus.java +++ b/src/main/java/com/linkbreakers/model/CustomDomainStatus.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/CustomDomainsServiceUpdateBody.java b/src/main/java/com/linkbreakers/model/CustomDomainsServiceUpdateBody.java index 02544134f..f4e78a4d1 100644 --- a/src/main/java/com/linkbreakers/model/CustomDomainsServiceUpdateBody.java +++ b/src/main/java/com/linkbreakers/model/CustomDomainsServiceUpdateBody.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/DashboardConfig.java b/src/main/java/com/linkbreakers/model/DashboardConfig.java index 5ba5830a8..eb91a7650 100644 --- a/src/main/java/com/linkbreakers/model/DashboardConfig.java +++ b/src/main/java/com/linkbreakers/model/DashboardConfig.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/DashboardScope.java b/src/main/java/com/linkbreakers/model/DashboardScope.java index 4b61d6dcc..e3e45f954 100644 --- a/src/main/java/com/linkbreakers/model/DashboardScope.java +++ b/src/main/java/com/linkbreakers/model/DashboardScope.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/DashboardWidget.java b/src/main/java/com/linkbreakers/model/DashboardWidget.java index 7486bd580..4791f326d 100644 --- a/src/main/java/com/linkbreakers/model/DashboardWidget.java +++ b/src/main/java/com/linkbreakers/model/DashboardWidget.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/DataCollection.java b/src/main/java/com/linkbreakers/model/DataCollection.java index 5680038dd..e3d627141 100644 --- a/src/main/java/com/linkbreakers/model/DataCollection.java +++ b/src/main/java/com/linkbreakers/model/DataCollection.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/DayOfMonthConditionPayload.java b/src/main/java/com/linkbreakers/model/DayOfMonthConditionPayload.java index fc28ff5ca..0e31055c2 100644 --- a/src/main/java/com/linkbreakers/model/DayOfMonthConditionPayload.java +++ b/src/main/java/com/linkbreakers/model/DayOfMonthConditionPayload.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/DayOfMonthConditionTraceData.java b/src/main/java/com/linkbreakers/model/DayOfMonthConditionTraceData.java index e0dd7c37d..73c8c5bd8 100644 --- a/src/main/java/com/linkbreakers/model/DayOfMonthConditionTraceData.java +++ b/src/main/java/com/linkbreakers/model/DayOfMonthConditionTraceData.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/DayOfMonthConditionTraceOption.java b/src/main/java/com/linkbreakers/model/DayOfMonthConditionTraceOption.java index 0a698027a..1705b147a 100644 --- a/src/main/java/com/linkbreakers/model/DayOfMonthConditionTraceOption.java +++ b/src/main/java/com/linkbreakers/model/DayOfMonthConditionTraceOption.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/DayOfMonthOption.java b/src/main/java/com/linkbreakers/model/DayOfMonthOption.java index 713981429..89cb2867f 100644 --- a/src/main/java/com/linkbreakers/model/DayOfMonthOption.java +++ b/src/main/java/com/linkbreakers/model/DayOfMonthOption.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/DayOfWeekConditionPayload.java b/src/main/java/com/linkbreakers/model/DayOfWeekConditionPayload.java index 6f0948536..a1af68791 100644 --- a/src/main/java/com/linkbreakers/model/DayOfWeekConditionPayload.java +++ b/src/main/java/com/linkbreakers/model/DayOfWeekConditionPayload.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/DayOfWeekConditionTraceData.java b/src/main/java/com/linkbreakers/model/DayOfWeekConditionTraceData.java index e74effbeb..ccb08cb4f 100644 --- a/src/main/java/com/linkbreakers/model/DayOfWeekConditionTraceData.java +++ b/src/main/java/com/linkbreakers/model/DayOfWeekConditionTraceData.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/DayOfWeekConditionTraceOption.java b/src/main/java/com/linkbreakers/model/DayOfWeekConditionTraceOption.java index dd95edfbc..e6f44e9aa 100644 --- a/src/main/java/com/linkbreakers/model/DayOfWeekConditionTraceOption.java +++ b/src/main/java/com/linkbreakers/model/DayOfWeekConditionTraceOption.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/DayOfWeekOption.java b/src/main/java/com/linkbreakers/model/DayOfWeekOption.java index 90272f2b4..e19947575 100644 --- a/src/main/java/com/linkbreakers/model/DayOfWeekOption.java +++ b/src/main/java/com/linkbreakers/model/DayOfWeekOption.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/DeleteAttributeResponse.java b/src/main/java/com/linkbreakers/model/DeleteAttributeResponse.java index 2628808dc..a2bc29df8 100644 --- a/src/main/java/com/linkbreakers/model/DeleteAttributeResponse.java +++ b/src/main/java/com/linkbreakers/model/DeleteAttributeResponse.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/DeleteVisitorResponse.java b/src/main/java/com/linkbreakers/model/DeleteVisitorResponse.java index 8b3a0c0c5..85eaa4b95 100644 --- a/src/main/java/com/linkbreakers/model/DeleteVisitorResponse.java +++ b/src/main/java/com/linkbreakers/model/DeleteVisitorResponse.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/DetectedGoogleForm.java b/src/main/java/com/linkbreakers/model/DetectedGoogleForm.java index 1ff204ced..2395b388f 100644 --- a/src/main/java/com/linkbreakers/model/DetectedGoogleForm.java +++ b/src/main/java/com/linkbreakers/model/DetectedGoogleForm.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/Device.java b/src/main/java/com/linkbreakers/model/Device.java index 93dc35e16..5257862b8 100644 --- a/src/main/java/com/linkbreakers/model/Device.java +++ b/src/main/java/com/linkbreakers/model/Device.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/DeviceActor.java b/src/main/java/com/linkbreakers/model/DeviceActor.java index c1faea26f..21f37f262 100644 --- a/src/main/java/com/linkbreakers/model/DeviceActor.java +++ b/src/main/java/com/linkbreakers/model/DeviceActor.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/DeviceActorConditionOption.java b/src/main/java/com/linkbreakers/model/DeviceActorConditionOption.java index 55dd3db7e..7440fdb10 100644 --- a/src/main/java/com/linkbreakers/model/DeviceActorConditionOption.java +++ b/src/main/java/com/linkbreakers/model/DeviceActorConditionOption.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/DeviceActorConditionPayload.java b/src/main/java/com/linkbreakers/model/DeviceActorConditionPayload.java index bd659b96f..f1797edec 100644 --- a/src/main/java/com/linkbreakers/model/DeviceActorConditionPayload.java +++ b/src/main/java/com/linkbreakers/model/DeviceActorConditionPayload.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/DeviceActorConditionTraceData.java b/src/main/java/com/linkbreakers/model/DeviceActorConditionTraceData.java index 155ef208d..60c748da7 100644 --- a/src/main/java/com/linkbreakers/model/DeviceActorConditionTraceData.java +++ b/src/main/java/com/linkbreakers/model/DeviceActorConditionTraceData.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/DeviceActorConditionTraceOption.java b/src/main/java/com/linkbreakers/model/DeviceActorConditionTraceOption.java index e6072d458..502f80cf7 100644 --- a/src/main/java/com/linkbreakers/model/DeviceActorConditionTraceOption.java +++ b/src/main/java/com/linkbreakers/model/DeviceActorConditionTraceOption.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/DeviceActorConditionValue.java b/src/main/java/com/linkbreakers/model/DeviceActorConditionValue.java index 6462c5f3c..f23d28be3 100644 --- a/src/main/java/com/linkbreakers/model/DeviceActorConditionValue.java +++ b/src/main/java/com/linkbreakers/model/DeviceActorConditionValue.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/DeviceBrandConditionOption.java b/src/main/java/com/linkbreakers/model/DeviceBrandConditionOption.java index 50a5640a4..96b1af424 100644 --- a/src/main/java/com/linkbreakers/model/DeviceBrandConditionOption.java +++ b/src/main/java/com/linkbreakers/model/DeviceBrandConditionOption.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/DeviceBrandConditionPayload.java b/src/main/java/com/linkbreakers/model/DeviceBrandConditionPayload.java index f78e38ece..26faae893 100644 --- a/src/main/java/com/linkbreakers/model/DeviceBrandConditionPayload.java +++ b/src/main/java/com/linkbreakers/model/DeviceBrandConditionPayload.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/DeviceBrandConditionTraceData.java b/src/main/java/com/linkbreakers/model/DeviceBrandConditionTraceData.java index 3e14c22e4..3a9523fd7 100644 --- a/src/main/java/com/linkbreakers/model/DeviceBrandConditionTraceData.java +++ b/src/main/java/com/linkbreakers/model/DeviceBrandConditionTraceData.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/DeviceBrandConditionTraceOption.java b/src/main/java/com/linkbreakers/model/DeviceBrandConditionTraceOption.java index f5795d5e4..d83c42a96 100644 --- a/src/main/java/com/linkbreakers/model/DeviceBrandConditionTraceOption.java +++ b/src/main/java/com/linkbreakers/model/DeviceBrandConditionTraceOption.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/DeviceBrandConditionValue.java b/src/main/java/com/linkbreakers/model/DeviceBrandConditionValue.java index ba40c1c40..f2acaf4c9 100644 --- a/src/main/java/com/linkbreakers/model/DeviceBrandConditionValue.java +++ b/src/main/java/com/linkbreakers/model/DeviceBrandConditionValue.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/DeviceBrowserConditionOption.java b/src/main/java/com/linkbreakers/model/DeviceBrowserConditionOption.java index 2904ef7eb..ca19f9c86 100644 --- a/src/main/java/com/linkbreakers/model/DeviceBrowserConditionOption.java +++ b/src/main/java/com/linkbreakers/model/DeviceBrowserConditionOption.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/DeviceBrowserConditionPayload.java b/src/main/java/com/linkbreakers/model/DeviceBrowserConditionPayload.java index a25118794..619d74116 100644 --- a/src/main/java/com/linkbreakers/model/DeviceBrowserConditionPayload.java +++ b/src/main/java/com/linkbreakers/model/DeviceBrowserConditionPayload.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/DeviceBrowserConditionTraceData.java b/src/main/java/com/linkbreakers/model/DeviceBrowserConditionTraceData.java index e8576aadc..72474c79d 100644 --- a/src/main/java/com/linkbreakers/model/DeviceBrowserConditionTraceData.java +++ b/src/main/java/com/linkbreakers/model/DeviceBrowserConditionTraceData.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/DeviceBrowserConditionTraceOption.java b/src/main/java/com/linkbreakers/model/DeviceBrowserConditionTraceOption.java index a5d93ea40..aba5d4ea7 100644 --- a/src/main/java/com/linkbreakers/model/DeviceBrowserConditionTraceOption.java +++ b/src/main/java/com/linkbreakers/model/DeviceBrowserConditionTraceOption.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/DeviceBrowserConditionValue.java b/src/main/java/com/linkbreakers/model/DeviceBrowserConditionValue.java index ea62825d0..8b3acc7f2 100644 --- a/src/main/java/com/linkbreakers/model/DeviceBrowserConditionValue.java +++ b/src/main/java/com/linkbreakers/model/DeviceBrowserConditionValue.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/DeviceDataPoint.java b/src/main/java/com/linkbreakers/model/DeviceDataPoint.java index 554b745e3..043bcbc94 100644 --- a/src/main/java/com/linkbreakers/model/DeviceDataPoint.java +++ b/src/main/java/com/linkbreakers/model/DeviceDataPoint.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/DeviceInput.java b/src/main/java/com/linkbreakers/model/DeviceInput.java index 5c3c23850..58d999cf9 100644 --- a/src/main/java/com/linkbreakers/model/DeviceInput.java +++ b/src/main/java/com/linkbreakers/model/DeviceInput.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/DevicePlatformConditionOption.java b/src/main/java/com/linkbreakers/model/DevicePlatformConditionOption.java index b24914d69..d64e021c9 100644 --- a/src/main/java/com/linkbreakers/model/DevicePlatformConditionOption.java +++ b/src/main/java/com/linkbreakers/model/DevicePlatformConditionOption.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/DevicePlatformConditionPayload.java b/src/main/java/com/linkbreakers/model/DevicePlatformConditionPayload.java index dbec29093..c7413973a 100644 --- a/src/main/java/com/linkbreakers/model/DevicePlatformConditionPayload.java +++ b/src/main/java/com/linkbreakers/model/DevicePlatformConditionPayload.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/DevicePlatformConditionTraceData.java b/src/main/java/com/linkbreakers/model/DevicePlatformConditionTraceData.java index bc8b0ce97..483ecb0f0 100644 --- a/src/main/java/com/linkbreakers/model/DevicePlatformConditionTraceData.java +++ b/src/main/java/com/linkbreakers/model/DevicePlatformConditionTraceData.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/DevicePlatformConditionTraceOption.java b/src/main/java/com/linkbreakers/model/DevicePlatformConditionTraceOption.java index f6c4fc628..7f072a7b4 100644 --- a/src/main/java/com/linkbreakers/model/DevicePlatformConditionTraceOption.java +++ b/src/main/java/com/linkbreakers/model/DevicePlatformConditionTraceOption.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/DevicePlatformConditionValue.java b/src/main/java/com/linkbreakers/model/DevicePlatformConditionValue.java index 5023543cc..98b22a61b 100644 --- a/src/main/java/com/linkbreakers/model/DevicePlatformConditionValue.java +++ b/src/main/java/com/linkbreakers/model/DevicePlatformConditionValue.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/DeviceType.java b/src/main/java/com/linkbreakers/model/DeviceType.java index eacfb98c4..cee57482a 100644 --- a/src/main/java/com/linkbreakers/model/DeviceType.java +++ b/src/main/java/com/linkbreakers/model/DeviceType.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/DeviceTypeConditionOption.java b/src/main/java/com/linkbreakers/model/DeviceTypeConditionOption.java index a646b0d32..65fa7b9d0 100644 --- a/src/main/java/com/linkbreakers/model/DeviceTypeConditionOption.java +++ b/src/main/java/com/linkbreakers/model/DeviceTypeConditionOption.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/DeviceTypeConditionPayload.java b/src/main/java/com/linkbreakers/model/DeviceTypeConditionPayload.java index 64ee8ff4d..ac21e7a28 100644 --- a/src/main/java/com/linkbreakers/model/DeviceTypeConditionPayload.java +++ b/src/main/java/com/linkbreakers/model/DeviceTypeConditionPayload.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/DeviceTypeConditionTraceData.java b/src/main/java/com/linkbreakers/model/DeviceTypeConditionTraceData.java index e449e0693..dd8229766 100644 --- a/src/main/java/com/linkbreakers/model/DeviceTypeConditionTraceData.java +++ b/src/main/java/com/linkbreakers/model/DeviceTypeConditionTraceData.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/DeviceTypeConditionTraceOption.java b/src/main/java/com/linkbreakers/model/DeviceTypeConditionTraceOption.java index c5a286e73..68eaa1239 100644 --- a/src/main/java/com/linkbreakers/model/DeviceTypeConditionTraceOption.java +++ b/src/main/java/com/linkbreakers/model/DeviceTypeConditionTraceOption.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/DeviceTypeConditionValue.java b/src/main/java/com/linkbreakers/model/DeviceTypeConditionValue.java index 57092dfa2..f07487f5a 100644 --- a/src/main/java/com/linkbreakers/model/DeviceTypeConditionValue.java +++ b/src/main/java/com/linkbreakers/model/DeviceTypeConditionValue.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/DigestFrequency.java b/src/main/java/com/linkbreakers/model/DigestFrequency.java index 6a46d35eb..019cfd48d 100644 --- a/src/main/java/com/linkbreakers/model/DigestFrequency.java +++ b/src/main/java/com/linkbreakers/model/DigestFrequency.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/DirectoriesServiceUpdateBody.java b/src/main/java/com/linkbreakers/model/DirectoriesServiceUpdateBody.java index d3ba826d5..af5110df7 100644 --- a/src/main/java/com/linkbreakers/model/DirectoriesServiceUpdateBody.java +++ b/src/main/java/com/linkbreakers/model/DirectoriesServiceUpdateBody.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/Directory.java b/src/main/java/com/linkbreakers/model/Directory.java index 0a782e48f..b093103cf 100644 --- a/src/main/java/com/linkbreakers/model/Directory.java +++ b/src/main/java/com/linkbreakers/model/Directory.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/DisconnectWorkflowStepResponse.java b/src/main/java/com/linkbreakers/model/DisconnectWorkflowStepResponse.java index 3a827c1dc..39ff94d19 100644 --- a/src/main/java/com/linkbreakers/model/DisconnectWorkflowStepResponse.java +++ b/src/main/java/com/linkbreakers/model/DisconnectWorkflowStepResponse.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/DismissAllowanceNoticeRequest.java b/src/main/java/com/linkbreakers/model/DismissAllowanceNoticeRequest.java new file mode 100644 index 000000000..07a3418fd --- /dev/null +++ b/src/main/java/com/linkbreakers/model/DismissAllowanceNoticeRequest.java @@ -0,0 +1,204 @@ +/* + * Linkbreakers API + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. + * + * The version of the OpenAPI document: 1.158.2 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.linkbreakers.model; + +import java.util.Objects; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.linkbreakers.model.PlanLimitKey; +import java.io.IOException; +import java.util.Arrays; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; +import com.google.gson.TypeAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import com.linkbreakers.JSON; + +/** + * DismissAllowanceNoticeRequest + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.21.0") +public class DismissAllowanceNoticeRequest { + public static final String SERIALIZED_NAME_KEY = "key"; + @SerializedName(SERIALIZED_NAME_KEY) + @javax.annotation.Nullable + private PlanLimitKey key; + + public DismissAllowanceNoticeRequest() { + } + + public DismissAllowanceNoticeRequest key(@javax.annotation.Nullable PlanLimitKey key) { + this.key = key; + return this; + } + + /** + * Get key + * @return key + */ + @javax.annotation.Nullable + public PlanLimitKey getKey() { + return key; + } + + public void setKey(@javax.annotation.Nullable PlanLimitKey key) { + this.key = key; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DismissAllowanceNoticeRequest dismissAllowanceNoticeRequest = (DismissAllowanceNoticeRequest) o; + return Objects.equals(this.key, dismissAllowanceNoticeRequest.key); + } + + @Override + public int hashCode() { + return Objects.hash(key); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class DismissAllowanceNoticeRequest {\n"); + sb.append(" key: ").append(toIndentedString(key)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + return o == null ? "null" : o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(Arrays.asList("key")); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(0); + } + + /** + * Validates the JSON Element and throws an exception if issues found + * + * @param jsonElement JSON Element + * @throws IOException if the JSON Element is invalid with respect to DismissAllowanceNoticeRequest + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!DismissAllowanceNoticeRequest.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format(java.util.Locale.ROOT, "The required field(s) %s in DismissAllowanceNoticeRequest is not found in the empty JSON string", DismissAllowanceNoticeRequest.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!DismissAllowanceNoticeRequest.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format(java.util.Locale.ROOT, "The field `%s` in the JSON string is not defined in the `DismissAllowanceNoticeRequest` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + // validate the optional field `key` + if (jsonObj.get("key") != null && !jsonObj.get("key").isJsonNull()) { + PlanLimitKey.validateJsonElement(jsonObj.get("key")); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!DismissAllowanceNoticeRequest.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'DismissAllowanceNoticeRequest' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(DismissAllowanceNoticeRequest.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, DismissAllowanceNoticeRequest value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public DismissAllowanceNoticeRequest read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of DismissAllowanceNoticeRequest given an JSON string + * + * @param jsonString JSON string + * @return An instance of DismissAllowanceNoticeRequest + * @throws IOException if the JSON string is invalid with respect to DismissAllowanceNoticeRequest + */ + public static DismissAllowanceNoticeRequest fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, DismissAllowanceNoticeRequest.class); + } + + /** + * Convert an instance of DismissAllowanceNoticeRequest to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/src/main/java/com/linkbreakers/model/DnsProvider.java b/src/main/java/com/linkbreakers/model/DnsProvider.java index 505c8fb8d..a3a5f1bd0 100644 --- a/src/main/java/com/linkbreakers/model/DnsProvider.java +++ b/src/main/java/com/linkbreakers/model/DnsProvider.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/DnsRecordPurpose.java b/src/main/java/com/linkbreakers/model/DnsRecordPurpose.java index e0034c0ef..275fc7ae8 100644 --- a/src/main/java/com/linkbreakers/model/DnsRecordPurpose.java +++ b/src/main/java/com/linkbreakers/model/DnsRecordPurpose.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/DnsRecordType.java b/src/main/java/com/linkbreakers/model/DnsRecordType.java index ec7f4b1ce..3c39c3e80 100644 --- a/src/main/java/com/linkbreakers/model/DnsRecordType.java +++ b/src/main/java/com/linkbreakers/model/DnsRecordType.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/DotsOptions.java b/src/main/java/com/linkbreakers/model/DotsOptions.java index a836d3467..97eebc1de 100644 --- a/src/main/java/com/linkbreakers/model/DotsOptions.java +++ b/src/main/java/com/linkbreakers/model/DotsOptions.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/DotsType.java b/src/main/java/com/linkbreakers/model/DotsType.java index 8b6df46cf..61e26a228 100644 --- a/src/main/java/com/linkbreakers/model/DotsType.java +++ b/src/main/java/com/linkbreakers/model/DotsType.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/EntryAccessTraceData.java b/src/main/java/com/linkbreakers/model/EntryAccessTraceData.java index 3c2bd1e7c..cbd0b9551 100644 --- a/src/main/java/com/linkbreakers/model/EntryAccessTraceData.java +++ b/src/main/java/com/linkbreakers/model/EntryAccessTraceData.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/ErrorResponse.java b/src/main/java/com/linkbreakers/model/ErrorResponse.java index de7963715..e1e8cea74 100644 --- a/src/main/java/com/linkbreakers/model/ErrorResponse.java +++ b/src/main/java/com/linkbreakers/model/ErrorResponse.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/Event.java b/src/main/java/com/linkbreakers/model/Event.java index dca41349a..f203d9c14 100644 --- a/src/main/java/com/linkbreakers/model/Event.java +++ b/src/main/java/com/linkbreakers/model/Event.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/EventAction.java b/src/main/java/com/linkbreakers/model/EventAction.java index 3877fae8d..122f76a0c 100644 --- a/src/main/java/com/linkbreakers/model/EventAction.java +++ b/src/main/java/com/linkbreakers/model/EventAction.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/EventTrace.java b/src/main/java/com/linkbreakers/model/EventTrace.java index 43d4b8c14..4e07fa546 100644 --- a/src/main/java/com/linkbreakers/model/EventTrace.java +++ b/src/main/java/com/linkbreakers/model/EventTrace.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/EventTraceData.java b/src/main/java/com/linkbreakers/model/EventTraceData.java index 83a408327..0b03e947d 100644 --- a/src/main/java/com/linkbreakers/model/EventTraceData.java +++ b/src/main/java/com/linkbreakers/model/EventTraceData.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/EventsMetric.java b/src/main/java/com/linkbreakers/model/EventsMetric.java index 9e07b6157..28649b1b0 100644 --- a/src/main/java/com/linkbreakers/model/EventsMetric.java +++ b/src/main/java/com/linkbreakers/model/EventsMetric.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/EventsServiceCreateEventTraceBody.java b/src/main/java/com/linkbreakers/model/EventsServiceCreateEventTraceBody.java index d9bcec8c3..302595211 100644 --- a/src/main/java/com/linkbreakers/model/EventsServiceCreateEventTraceBody.java +++ b/src/main/java/com/linkbreakers/model/EventsServiceCreateEventTraceBody.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/EventsServiceUpdateDeviceBody.java b/src/main/java/com/linkbreakers/model/EventsServiceUpdateDeviceBody.java index b0959698f..c08746993 100644 --- a/src/main/java/com/linkbreakers/model/EventsServiceUpdateDeviceBody.java +++ b/src/main/java/com/linkbreakers/model/EventsServiceUpdateDeviceBody.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/EventsTimeSeries.java b/src/main/java/com/linkbreakers/model/EventsTimeSeries.java index 4eca07d8f..a5bd011a1 100644 --- a/src/main/java/com/linkbreakers/model/EventsTimeSeries.java +++ b/src/main/java/com/linkbreakers/model/EventsTimeSeries.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/EventsTimeSeriesData.java b/src/main/java/com/linkbreakers/model/EventsTimeSeriesData.java index b5e27ad46..40ab1d569 100644 --- a/src/main/java/com/linkbreakers/model/EventsTimeSeriesData.java +++ b/src/main/java/com/linkbreakers/model/EventsTimeSeriesData.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/FindMatchingPageThemeTemplateResponse.java b/src/main/java/com/linkbreakers/model/FindMatchingPageThemeTemplateResponse.java index fa25934ae..dc3a0b78c 100644 --- a/src/main/java/com/linkbreakers/model/FindMatchingPageThemeTemplateResponse.java +++ b/src/main/java/com/linkbreakers/model/FindMatchingPageThemeTemplateResponse.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/FontConfig.java b/src/main/java/com/linkbreakers/model/FontConfig.java index 25b842853..0dd48b060 100644 --- a/src/main/java/com/linkbreakers/model/FontConfig.java +++ b/src/main/java/com/linkbreakers/model/FontConfig.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/FormField.java b/src/main/java/com/linkbreakers/model/FormField.java index 92ef55385..9214acdf2 100644 --- a/src/main/java/com/linkbreakers/model/FormField.java +++ b/src/main/java/com/linkbreakers/model/FormField.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/FormFieldOption.java b/src/main/java/com/linkbreakers/model/FormFieldOption.java index f96de1a53..2aeae21da 100644 --- a/src/main/java/com/linkbreakers/model/FormFieldOption.java +++ b/src/main/java/com/linkbreakers/model/FormFieldOption.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/FormFieldType.java b/src/main/java/com/linkbreakers/model/FormFieldType.java index ad8a8ebba..5ff4590b8 100644 --- a/src/main/java/com/linkbreakers/model/FormFieldType.java +++ b/src/main/java/com/linkbreakers/model/FormFieldType.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/FormPayload.java b/src/main/java/com/linkbreakers/model/FormPayload.java index 1a4755c73..db0da8ac6 100644 --- a/src/main/java/com/linkbreakers/model/FormPayload.java +++ b/src/main/java/com/linkbreakers/model/FormPayload.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/FormTraceData.java b/src/main/java/com/linkbreakers/model/FormTraceData.java index 70016560b..21db6aa29 100644 --- a/src/main/java/com/linkbreakers/model/FormTraceData.java +++ b/src/main/java/com/linkbreakers/model/FormTraceData.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/FormTraceDataField.java b/src/main/java/com/linkbreakers/model/FormTraceDataField.java index 3fa553e43..85981310f 100644 --- a/src/main/java/com/linkbreakers/model/FormTraceDataField.java +++ b/src/main/java/com/linkbreakers/model/FormTraceDataField.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/FunnelBranch.java b/src/main/java/com/linkbreakers/model/FunnelBranch.java index 0d638cd05..75955d944 100644 --- a/src/main/java/com/linkbreakers/model/FunnelBranch.java +++ b/src/main/java/com/linkbreakers/model/FunnelBranch.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/FunnelStep.java b/src/main/java/com/linkbreakers/model/FunnelStep.java index d88cc8ce2..4369ee2d4 100644 --- a/src/main/java/com/linkbreakers/model/FunnelStep.java +++ b/src/main/java/com/linkbreakers/model/FunnelStep.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/GenerateWidgetSummaryResponse.java b/src/main/java/com/linkbreakers/model/GenerateWidgetSummaryResponse.java index cc5776eb6..500785f93 100644 --- a/src/main/java/com/linkbreakers/model/GenerateWidgetSummaryResponse.java +++ b/src/main/java/com/linkbreakers/model/GenerateWidgetSummaryResponse.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/GeoDataPoint.java b/src/main/java/com/linkbreakers/model/GeoDataPoint.java index cf517917f..23c24765a 100644 --- a/src/main/java/com/linkbreakers/model/GeoDataPoint.java +++ b/src/main/java/com/linkbreakers/model/GeoDataPoint.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/GetAgentClaimRequest.java b/src/main/java/com/linkbreakers/model/GetAgentClaimRequest.java new file mode 100644 index 000000000..9a72ff4b2 --- /dev/null +++ b/src/main/java/com/linkbreakers/model/GetAgentClaimRequest.java @@ -0,0 +1,202 @@ +/* + * Linkbreakers API + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. + * + * The version of the OpenAPI document: 1.158.2 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.linkbreakers.model; + +import java.util.Objects; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.util.Arrays; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; +import com.google.gson.TypeAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import com.linkbreakers.JSON; + +/** + * GetAgentClaimRequest + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.21.0") +public class GetAgentClaimRequest { + public static final String SERIALIZED_NAME_CLAIM_ATTEMPT_TOKEN = "claimAttemptToken"; + @SerializedName(SERIALIZED_NAME_CLAIM_ATTEMPT_TOKEN) + @javax.annotation.Nullable + private String claimAttemptToken; + + public GetAgentClaimRequest() { + } + + public GetAgentClaimRequest claimAttemptToken(@javax.annotation.Nullable String claimAttemptToken) { + this.claimAttemptToken = claimAttemptToken; + return this; + } + + /** + * Get claimAttemptToken + * @return claimAttemptToken + */ + @javax.annotation.Nullable + public String getClaimAttemptToken() { + return claimAttemptToken; + } + + public void setClaimAttemptToken(@javax.annotation.Nullable String claimAttemptToken) { + this.claimAttemptToken = claimAttemptToken; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + GetAgentClaimRequest getAgentClaimRequest = (GetAgentClaimRequest) o; + return Objects.equals(this.claimAttemptToken, getAgentClaimRequest.claimAttemptToken); + } + + @Override + public int hashCode() { + return Objects.hash(claimAttemptToken); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class GetAgentClaimRequest {\n"); + sb.append(" claimAttemptToken: ").append(toIndentedString(claimAttemptToken)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + return o == null ? "null" : o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(Arrays.asList("claimAttemptToken")); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(0); + } + + /** + * Validates the JSON Element and throws an exception if issues found + * + * @param jsonElement JSON Element + * @throws IOException if the JSON Element is invalid with respect to GetAgentClaimRequest + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!GetAgentClaimRequest.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format(java.util.Locale.ROOT, "The required field(s) %s in GetAgentClaimRequest is not found in the empty JSON string", GetAgentClaimRequest.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!GetAgentClaimRequest.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format(java.util.Locale.ROOT, "The field `%s` in the JSON string is not defined in the `GetAgentClaimRequest` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("claimAttemptToken") != null && !jsonObj.get("claimAttemptToken").isJsonNull()) && !jsonObj.get("claimAttemptToken").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format(java.util.Locale.ROOT, "Expected the field `claimAttemptToken` to be a primitive type in the JSON string but got `%s`", jsonObj.get("claimAttemptToken").toString())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!GetAgentClaimRequest.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'GetAgentClaimRequest' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(GetAgentClaimRequest.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, GetAgentClaimRequest value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public GetAgentClaimRequest read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of GetAgentClaimRequest given an JSON string + * + * @param jsonString JSON string + * @return An instance of GetAgentClaimRequest + * @throws IOException if the JSON string is invalid with respect to GetAgentClaimRequest + */ + public static GetAgentClaimRequest fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, GetAgentClaimRequest.class); + } + + /** + * Convert an instance of GetAgentClaimRequest to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/src/main/java/com/linkbreakers/model/GetAttributeDistributionRequest.java b/src/main/java/com/linkbreakers/model/GetAttributeDistributionRequest.java index 658a346eb..6600846b8 100644 --- a/src/main/java/com/linkbreakers/model/GetAttributeDistributionRequest.java +++ b/src/main/java/com/linkbreakers/model/GetAttributeDistributionRequest.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/GetAttributeDistributionResponse.java b/src/main/java/com/linkbreakers/model/GetAttributeDistributionResponse.java index 4b2658afa..32668a552 100644 --- a/src/main/java/com/linkbreakers/model/GetAttributeDistributionResponse.java +++ b/src/main/java/com/linkbreakers/model/GetAttributeDistributionResponse.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/GetAttributeMetricRequest.java b/src/main/java/com/linkbreakers/model/GetAttributeMetricRequest.java index 8cea930ba..7e15b8f10 100644 --- a/src/main/java/com/linkbreakers/model/GetAttributeMetricRequest.java +++ b/src/main/java/com/linkbreakers/model/GetAttributeMetricRequest.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/GetAttributeMetricResponse.java b/src/main/java/com/linkbreakers/model/GetAttributeMetricResponse.java index d7f6b75b6..9e7ad4371 100644 --- a/src/main/java/com/linkbreakers/model/GetAttributeMetricResponse.java +++ b/src/main/java/com/linkbreakers/model/GetAttributeMetricResponse.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/GetAttributeValuesRequest.java b/src/main/java/com/linkbreakers/model/GetAttributeValuesRequest.java index 51ddd1891..5613a4c23 100644 --- a/src/main/java/com/linkbreakers/model/GetAttributeValuesRequest.java +++ b/src/main/java/com/linkbreakers/model/GetAttributeValuesRequest.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/GetAttributeValuesResponse.java b/src/main/java/com/linkbreakers/model/GetAttributeValuesResponse.java index 2771576a6..003663ebf 100644 --- a/src/main/java/com/linkbreakers/model/GetAttributeValuesResponse.java +++ b/src/main/java/com/linkbreakers/model/GetAttributeValuesResponse.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/GetBreakdownRequest.java b/src/main/java/com/linkbreakers/model/GetBreakdownRequest.java index 45834ba2d..7b71f779d 100644 --- a/src/main/java/com/linkbreakers/model/GetBreakdownRequest.java +++ b/src/main/java/com/linkbreakers/model/GetBreakdownRequest.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/GetBreakdownResponse.java b/src/main/java/com/linkbreakers/model/GetBreakdownResponse.java index 1826ef0b1..846288ed9 100644 --- a/src/main/java/com/linkbreakers/model/GetBreakdownResponse.java +++ b/src/main/java/com/linkbreakers/model/GetBreakdownResponse.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/GetCustomDomainResponse.java b/src/main/java/com/linkbreakers/model/GetCustomDomainResponse.java index 5b551af62..6c72e7c23 100644 --- a/src/main/java/com/linkbreakers/model/GetCustomDomainResponse.java +++ b/src/main/java/com/linkbreakers/model/GetCustomDomainResponse.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/GetCustomDomainSetupGuideResponse.java b/src/main/java/com/linkbreakers/model/GetCustomDomainSetupGuideResponse.java index 3f37c82b6..1d67c4534 100644 --- a/src/main/java/com/linkbreakers/model/GetCustomDomainSetupGuideResponse.java +++ b/src/main/java/com/linkbreakers/model/GetCustomDomainSetupGuideResponse.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/GetDeviceDistributionRequest.java b/src/main/java/com/linkbreakers/model/GetDeviceDistributionRequest.java index 85d15c394..6aff0298a 100644 --- a/src/main/java/com/linkbreakers/model/GetDeviceDistributionRequest.java +++ b/src/main/java/com/linkbreakers/model/GetDeviceDistributionRequest.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/GetDeviceDistributionResponse.java b/src/main/java/com/linkbreakers/model/GetDeviceDistributionResponse.java index 84cf2dbd9..2c1797d52 100644 --- a/src/main/java/com/linkbreakers/model/GetDeviceDistributionResponse.java +++ b/src/main/java/com/linkbreakers/model/GetDeviceDistributionResponse.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/GetDirectoryResponse.java b/src/main/java/com/linkbreakers/model/GetDirectoryResponse.java index aa279fbce..612053b58 100644 --- a/src/main/java/com/linkbreakers/model/GetDirectoryResponse.java +++ b/src/main/java/com/linkbreakers/model/GetDirectoryResponse.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/GetEventsTimeSeriesRequest.java b/src/main/java/com/linkbreakers/model/GetEventsTimeSeriesRequest.java index 2743ef422..d466962a8 100644 --- a/src/main/java/com/linkbreakers/model/GetEventsTimeSeriesRequest.java +++ b/src/main/java/com/linkbreakers/model/GetEventsTimeSeriesRequest.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/GetEventsTimeSeriesResponse.java b/src/main/java/com/linkbreakers/model/GetEventsTimeSeriesResponse.java index d2f64b3fe..9dff18d4e 100644 --- a/src/main/java/com/linkbreakers/model/GetEventsTimeSeriesResponse.java +++ b/src/main/java/com/linkbreakers/model/GetEventsTimeSeriesResponse.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/GetGeoBreakdownRequest.java b/src/main/java/com/linkbreakers/model/GetGeoBreakdownRequest.java index 6b9f37f15..a8eab6c23 100644 --- a/src/main/java/com/linkbreakers/model/GetGeoBreakdownRequest.java +++ b/src/main/java/com/linkbreakers/model/GetGeoBreakdownRequest.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/GetGeoBreakdownResponse.java b/src/main/java/com/linkbreakers/model/GetGeoBreakdownResponse.java index a0647033c..e252e87a4 100644 --- a/src/main/java/com/linkbreakers/model/GetGeoBreakdownResponse.java +++ b/src/main/java/com/linkbreakers/model/GetGeoBreakdownResponse.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/GetGoogleFormsIntegrationResponse.java b/src/main/java/com/linkbreakers/model/GetGoogleFormsIntegrationResponse.java index 33738394a..5e22bcdc1 100644 --- a/src/main/java/com/linkbreakers/model/GetGoogleFormsIntegrationResponse.java +++ b/src/main/java/com/linkbreakers/model/GetGoogleFormsIntegrationResponse.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/GetGoogleFormsOAuthURLResponse.java b/src/main/java/com/linkbreakers/model/GetGoogleFormsOAuthURLResponse.java index a8d185e8a..ecac4fbb1 100644 --- a/src/main/java/com/linkbreakers/model/GetGoogleFormsOAuthURLResponse.java +++ b/src/main/java/com/linkbreakers/model/GetGoogleFormsOAuthURLResponse.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/GetGroupedTimeSeriesRequest.java b/src/main/java/com/linkbreakers/model/GetGroupedTimeSeriesRequest.java index 8b8e882ef..5be4a8770 100644 --- a/src/main/java/com/linkbreakers/model/GetGroupedTimeSeriesRequest.java +++ b/src/main/java/com/linkbreakers/model/GetGroupedTimeSeriesRequest.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/GetGroupedTimeSeriesResponse.java b/src/main/java/com/linkbreakers/model/GetGroupedTimeSeriesResponse.java index 6840cf0c8..e724c827c 100644 --- a/src/main/java/com/linkbreakers/model/GetGroupedTimeSeriesResponse.java +++ b/src/main/java/com/linkbreakers/model/GetGroupedTimeSeriesResponse.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/GetHourOfDayDistributionRequest.java b/src/main/java/com/linkbreakers/model/GetHourOfDayDistributionRequest.java index c0d3699c8..d9176a225 100644 --- a/src/main/java/com/linkbreakers/model/GetHourOfDayDistributionRequest.java +++ b/src/main/java/com/linkbreakers/model/GetHourOfDayDistributionRequest.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/GetHourOfDayDistributionResponse.java b/src/main/java/com/linkbreakers/model/GetHourOfDayDistributionResponse.java index db18ba318..b706902ef 100644 --- a/src/main/java/com/linkbreakers/model/GetHourOfDayDistributionResponse.java +++ b/src/main/java/com/linkbreakers/model/GetHourOfDayDistributionResponse.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/GetLinkResponse.java b/src/main/java/com/linkbreakers/model/GetLinkResponse.java index fc1af9545..f82456441 100644 --- a/src/main/java/com/linkbreakers/model/GetLinkResponse.java +++ b/src/main/java/com/linkbreakers/model/GetLinkResponse.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/GetLinkSettingResponse.java b/src/main/java/com/linkbreakers/model/GetLinkSettingResponse.java index d1f26c3ff..5e199dc35 100644 --- a/src/main/java/com/linkbreakers/model/GetLinkSettingResponse.java +++ b/src/main/java/com/linkbreakers/model/GetLinkSettingResponse.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/GetMediaResponse.java b/src/main/java/com/linkbreakers/model/GetMediaResponse.java index c0a14ce81..4ea7f8b15 100644 --- a/src/main/java/com/linkbreakers/model/GetMediaResponse.java +++ b/src/main/java/com/linkbreakers/model/GetMediaResponse.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/GetPageThemeResponse.java b/src/main/java/com/linkbreakers/model/GetPageThemeResponse.java index b7bc8da6e..0ef38d081 100644 --- a/src/main/java/com/linkbreakers/model/GetPageThemeResponse.java +++ b/src/main/java/com/linkbreakers/model/GetPageThemeResponse.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/GetQrcodeDesignResponse.java b/src/main/java/com/linkbreakers/model/GetQrcodeDesignResponse.java index 6e1636ed9..ffc9ff03c 100644 --- a/src/main/java/com/linkbreakers/model/GetQrcodeDesignResponse.java +++ b/src/main/java/com/linkbreakers/model/GetQrcodeDesignResponse.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/GetSlackIntegrationResponse.java b/src/main/java/com/linkbreakers/model/GetSlackIntegrationResponse.java index d659cfd5e..14f306618 100644 --- a/src/main/java/com/linkbreakers/model/GetSlackIntegrationResponse.java +++ b/src/main/java/com/linkbreakers/model/GetSlackIntegrationResponse.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/GetSlackOAuthURLResponse.java b/src/main/java/com/linkbreakers/model/GetSlackOAuthURLResponse.java index 2b891c990..c5eb3cb93 100644 --- a/src/main/java/com/linkbreakers/model/GetSlackOAuthURLResponse.java +++ b/src/main/java/com/linkbreakers/model/GetSlackOAuthURLResponse.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/GetStepFunnelRequest.java b/src/main/java/com/linkbreakers/model/GetStepFunnelRequest.java index 39d6c4309..9c9c9e9b3 100644 --- a/src/main/java/com/linkbreakers/model/GetStepFunnelRequest.java +++ b/src/main/java/com/linkbreakers/model/GetStepFunnelRequest.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/GetStepFunnelResponse.java b/src/main/java/com/linkbreakers/model/GetStepFunnelResponse.java index c4cca58e7..e134801c0 100644 --- a/src/main/java/com/linkbreakers/model/GetStepFunnelResponse.java +++ b/src/main/java/com/linkbreakers/model/GetStepFunnelResponse.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/GetTopLinksRequest.java b/src/main/java/com/linkbreakers/model/GetTopLinksRequest.java index 7e7b7c4c8..0436d4aca 100644 --- a/src/main/java/com/linkbreakers/model/GetTopLinksRequest.java +++ b/src/main/java/com/linkbreakers/model/GetTopLinksRequest.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/GetTopLinksResponse.java b/src/main/java/com/linkbreakers/model/GetTopLinksResponse.java index f633ed3d7..122d0ad8e 100644 --- a/src/main/java/com/linkbreakers/model/GetTopLinksResponse.java +++ b/src/main/java/com/linkbreakers/model/GetTopLinksResponse.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/GetVisitorTrendsRequest.java b/src/main/java/com/linkbreakers/model/GetVisitorTrendsRequest.java index bbc6b2e8c..789ac7e55 100644 --- a/src/main/java/com/linkbreakers/model/GetVisitorTrendsRequest.java +++ b/src/main/java/com/linkbreakers/model/GetVisitorTrendsRequest.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/GetVisitorTrendsResponse.java b/src/main/java/com/linkbreakers/model/GetVisitorTrendsResponse.java index 0ed2530bc..19f0b1825 100644 --- a/src/main/java/com/linkbreakers/model/GetVisitorTrendsResponse.java +++ b/src/main/java/com/linkbreakers/model/GetVisitorTrendsResponse.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/GetWebhookResponse.java b/src/main/java/com/linkbreakers/model/GetWebhookResponse.java index 3c7fc6b88..848f75a92 100644 --- a/src/main/java/com/linkbreakers/model/GetWebhookResponse.java +++ b/src/main/java/com/linkbreakers/model/GetWebhookResponse.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/GetWidgetSummaryResponse.java b/src/main/java/com/linkbreakers/model/GetWidgetSummaryResponse.java index a1fc812fc..69d6beab9 100644 --- a/src/main/java/com/linkbreakers/model/GetWidgetSummaryResponse.java +++ b/src/main/java/com/linkbreakers/model/GetWidgetSummaryResponse.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/GetWorkflowStepResponse.java b/src/main/java/com/linkbreakers/model/GetWorkflowStepResponse.java index 7c8f0d65d..4d6aa017b 100644 --- a/src/main/java/com/linkbreakers/model/GetWorkflowStepResponse.java +++ b/src/main/java/com/linkbreakers/model/GetWorkflowStepResponse.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/GetWorkspaceTokenResponse.java b/src/main/java/com/linkbreakers/model/GetWorkspaceTokenResponse.java index 71ab7c5f1..a52382874 100644 --- a/src/main/java/com/linkbreakers/model/GetWorkspaceTokenResponse.java +++ b/src/main/java/com/linkbreakers/model/GetWorkspaceTokenResponse.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/GoogleFormsIntegration.java b/src/main/java/com/linkbreakers/model/GoogleFormsIntegration.java index 877a48a67..fa3ce1d7f 100644 --- a/src/main/java/com/linkbreakers/model/GoogleFormsIntegration.java +++ b/src/main/java/com/linkbreakers/model/GoogleFormsIntegration.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/GoogleFormsIntegrationStatus.java b/src/main/java/com/linkbreakers/model/GoogleFormsIntegrationStatus.java index 38d78ab25..a82e847f4 100644 --- a/src/main/java/com/linkbreakers/model/GoogleFormsIntegrationStatus.java +++ b/src/main/java/com/linkbreakers/model/GoogleFormsIntegrationStatus.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/GooglerpcStatus.java b/src/main/java/com/linkbreakers/model/GooglerpcStatus.java index 5901dd3d0..0bfb6df77 100644 --- a/src/main/java/com/linkbreakers/model/GooglerpcStatus.java +++ b/src/main/java/com/linkbreakers/model/GooglerpcStatus.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/GroupByDimension.java b/src/main/java/com/linkbreakers/model/GroupByDimension.java index 74da77520..825430f8c 100644 --- a/src/main/java/com/linkbreakers/model/GroupByDimension.java +++ b/src/main/java/com/linkbreakers/model/GroupByDimension.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/HTTPMethod.java b/src/main/java/com/linkbreakers/model/HTTPMethod.java index d39c282db..8ddc1fb43 100644 --- a/src/main/java/com/linkbreakers/model/HTTPMethod.java +++ b/src/main/java/com/linkbreakers/model/HTTPMethod.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/HourOfDayDataPoint.java b/src/main/java/com/linkbreakers/model/HourOfDayDataPoint.java index 94eee12df..401d3dc58 100644 --- a/src/main/java/com/linkbreakers/model/HourOfDayDataPoint.java +++ b/src/main/java/com/linkbreakers/model/HourOfDayDataPoint.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/IdentifyRequest.java b/src/main/java/com/linkbreakers/model/IdentifyRequest.java index a1562f262..76fd32f55 100644 --- a/src/main/java/com/linkbreakers/model/IdentifyRequest.java +++ b/src/main/java/com/linkbreakers/model/IdentifyRequest.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/IdentifyResponse.java b/src/main/java/com/linkbreakers/model/IdentifyResponse.java index a779d3d86..85518c6cc 100644 --- a/src/main/java/com/linkbreakers/model/IdentifyResponse.java +++ b/src/main/java/com/linkbreakers/model/IdentifyResponse.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/IdentifyVisitorTraceData.java b/src/main/java/com/linkbreakers/model/IdentifyVisitorTraceData.java index 94523573d..b75db556e 100644 --- a/src/main/java/com/linkbreakers/model/IdentifyVisitorTraceData.java +++ b/src/main/java/com/linkbreakers/model/IdentifyVisitorTraceData.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/ImportPageThemeTemplateRequest.java b/src/main/java/com/linkbreakers/model/ImportPageThemeTemplateRequest.java index eb8d57b94..104ae4a88 100644 --- a/src/main/java/com/linkbreakers/model/ImportPageThemeTemplateRequest.java +++ b/src/main/java/com/linkbreakers/model/ImportPageThemeTemplateRequest.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/ImportPageThemeTemplateResponse.java b/src/main/java/com/linkbreakers/model/ImportPageThemeTemplateResponse.java index e90d30aa4..e87fc9583 100644 --- a/src/main/java/com/linkbreakers/model/ImportPageThemeTemplateResponse.java +++ b/src/main/java/com/linkbreakers/model/ImportPageThemeTemplateResponse.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/ImportQrcodeTemplateRequest.java b/src/main/java/com/linkbreakers/model/ImportQrcodeTemplateRequest.java index a651ec328..518499cb1 100644 --- a/src/main/java/com/linkbreakers/model/ImportQrcodeTemplateRequest.java +++ b/src/main/java/com/linkbreakers/model/ImportQrcodeTemplateRequest.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/ImportQrcodeTemplateResponse.java b/src/main/java/com/linkbreakers/model/ImportQrcodeTemplateResponse.java index 9c1f75971..9e58d928a 100644 --- a/src/main/java/com/linkbreakers/model/ImportQrcodeTemplateResponse.java +++ b/src/main/java/com/linkbreakers/model/ImportQrcodeTemplateResponse.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/InviteMemberRequest.java b/src/main/java/com/linkbreakers/model/InviteMemberRequest.java index 430b5d646..2986ed14f 100644 --- a/src/main/java/com/linkbreakers/model/InviteMemberRequest.java +++ b/src/main/java/com/linkbreakers/model/InviteMemberRequest.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/Job.java b/src/main/java/com/linkbreakers/model/Job.java new file mode 100644 index 000000000..6574b288d --- /dev/null +++ b/src/main/java/com/linkbreakers/model/Job.java @@ -0,0 +1,548 @@ +/* + * Linkbreakers API + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. + * + * The version of the OpenAPI document: 1.158.2 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.linkbreakers.model; + +import java.util.Objects; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.linkbreakers.model.JobError; +import com.linkbreakers.model.LinksBulkCreateResult; +import java.io.IOException; +import java.time.OffsetDateTime; +import java.util.Arrays; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; +import com.google.gson.TypeAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import com.linkbreakers.JSON; + +/** + * A long-running operation. + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.21.0") +public class Job { + public static final String SERIALIZED_NAME_COMPLETED_AT = "completedAt"; + @SerializedName(SERIALIZED_NAME_COMPLETED_AT) + @javax.annotation.Nullable + private OffsetDateTime completedAt; + + public static final String SERIALIZED_NAME_CREATED_AT = "createdAt"; + @SerializedName(SERIALIZED_NAME_CREATED_AT) + @javax.annotation.Nullable + private OffsetDateTime createdAt; + + public static final String SERIALIZED_NAME_ERROR = "error"; + @SerializedName(SERIALIZED_NAME_ERROR) + @javax.annotation.Nullable + private JobError error; + + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @javax.annotation.Nullable + private String id; + + public static final String SERIALIZED_NAME_ITEM_COUNT = "itemCount"; + @SerializedName(SERIALIZED_NAME_ITEM_COUNT) + @javax.annotation.Nullable + private Integer itemCount; + + public static final String SERIALIZED_NAME_LINKS_BULK_CREATE = "linksBulkCreate"; + @SerializedName(SERIALIZED_NAME_LINKS_BULK_CREATE) + @javax.annotation.Nullable + private LinksBulkCreateResult linksBulkCreate; + + /** + * Where a job stands. - JOB_STATUS_UNSPECIFIED: Not set. - JOB_STATUS_PENDING: Accepted and waiting to run. - JOB_STATUS_RUNNING: Running now. - JOB_STATUS_SUCCEEDED: Finished; the result is set. - JOB_STATUS_FAILED: Finished without doing its work; error says why. Nothing was created. + */ + @JsonAdapter(StatusEnum.Adapter.class) + public enum StatusEnum { + JOB_STATUS_UNSPECIFIED("JOB_STATUS_UNSPECIFIED"), + + JOB_STATUS_PENDING("JOB_STATUS_PENDING"), + + JOB_STATUS_RUNNING("JOB_STATUS_RUNNING"), + + JOB_STATUS_SUCCEEDED("JOB_STATUS_SUCCEEDED"), + + JOB_STATUS_FAILED("JOB_STATUS_FAILED"); + + private String value; + + StatusEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static StatusEnum fromValue(String value) { + for (StatusEnum b : StatusEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final StatusEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public StatusEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return StatusEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + StatusEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_STATUS = "status"; + @SerializedName(SERIALIZED_NAME_STATUS) + @javax.annotation.Nullable + private StatusEnum status; + + public static final String SERIALIZED_NAME_STATUS_URL = "statusUrl"; + @SerializedName(SERIALIZED_NAME_STATUS_URL) + @javax.annotation.Nullable + private String statusUrl; + + /** + * What a job does. - JOB_TYPE_UNSPECIFIED: Not set. - JOB_TYPE_LINKS_BULK_CREATE: Creates a batch of links (POST /v1/links/bulk/jobs). + */ + @JsonAdapter(TypeEnum.Adapter.class) + public enum TypeEnum { + JOB_TYPE_UNSPECIFIED("JOB_TYPE_UNSPECIFIED"), + + JOB_TYPE_LINKS_BULK_CREATE("JOB_TYPE_LINKS_BULK_CREATE"); + + private String value; + + TypeEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static TypeEnum fromValue(String value) { + for (TypeEnum b : TypeEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final TypeEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public TypeEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return TypeEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + TypeEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_TYPE = "type"; + @SerializedName(SERIALIZED_NAME_TYPE) + @javax.annotation.Nullable + private TypeEnum type; + + public Job() { + } + + public Job completedAt(@javax.annotation.Nullable OffsetDateTime completedAt) { + this.completedAt = completedAt; + return this; + } + + /** + * When the job finished, once it has. + * @return completedAt + */ + @javax.annotation.Nullable + public OffsetDateTime getCompletedAt() { + return completedAt; + } + + public void setCompletedAt(@javax.annotation.Nullable OffsetDateTime completedAt) { + this.completedAt = completedAt; + } + + + public Job createdAt(@javax.annotation.Nullable OffsetDateTime createdAt) { + this.createdAt = createdAt; + return this; + } + + /** + * When the job was accepted. + * @return createdAt + */ + @javax.annotation.Nullable + public OffsetDateTime getCreatedAt() { + return createdAt; + } + + public void setCreatedAt(@javax.annotation.Nullable OffsetDateTime createdAt) { + this.createdAt = createdAt; + } + + + public Job error(@javax.annotation.Nullable JobError error) { + this.error = error; + return this; + } + + /** + * Set when status is JOB_STATUS_FAILED. + * @return error + */ + @javax.annotation.Nullable + public JobError getError() { + return error; + } + + public void setError(@javax.annotation.Nullable JobError error) { + this.error = error; + } + + + public Job id(@javax.annotation.Nullable String id) { + this.id = id; + return this; + } + + /** + * Job ID (UUID). + * @return id + */ + @javax.annotation.Nullable + public String getId() { + return id; + } + + public void setId(@javax.annotation.Nullable String id) { + this.id = id; + } + + + public Job itemCount(@javax.annotation.Nullable Integer itemCount) { + this.itemCount = itemCount; + return this; + } + + /** + * How many items the job was submitted with. + * @return itemCount + */ + @javax.annotation.Nullable + public Integer getItemCount() { + return itemCount; + } + + public void setItemCount(@javax.annotation.Nullable Integer itemCount) { + this.itemCount = itemCount; + } + + + public Job linksBulkCreate(@javax.annotation.Nullable LinksBulkCreateResult linksBulkCreate) { + this.linksBulkCreate = linksBulkCreate; + return this; + } + + /** + * Set when a JOB_TYPE_LINKS_BULK_CREATE job succeeded. + * @return linksBulkCreate + */ + @javax.annotation.Nullable + public LinksBulkCreateResult getLinksBulkCreate() { + return linksBulkCreate; + } + + public void setLinksBulkCreate(@javax.annotation.Nullable LinksBulkCreateResult linksBulkCreate) { + this.linksBulkCreate = linksBulkCreate; + } + + + public Job status(@javax.annotation.Nullable StatusEnum status) { + this.status = status; + return this; + } + + /** + * Where a job stands. - JOB_STATUS_UNSPECIFIED: Not set. - JOB_STATUS_PENDING: Accepted and waiting to run. - JOB_STATUS_RUNNING: Running now. - JOB_STATUS_SUCCEEDED: Finished; the result is set. - JOB_STATUS_FAILED: Finished without doing its work; error says why. Nothing was created. + * @return status + */ + @javax.annotation.Nullable + public StatusEnum getStatus() { + return status; + } + + public void setStatus(@javax.annotation.Nullable StatusEnum status) { + this.status = status; + } + + + public Job statusUrl(@javax.annotation.Nullable String statusUrl) { + this.statusUrl = statusUrl; + return this; + } + + /** + * Path to poll for this job's status. + * @return statusUrl + */ + @javax.annotation.Nullable + public String getStatusUrl() { + return statusUrl; + } + + public void setStatusUrl(@javax.annotation.Nullable String statusUrl) { + this.statusUrl = statusUrl; + } + + + public Job type(@javax.annotation.Nullable TypeEnum type) { + this.type = type; + return this; + } + + /** + * What a job does. - JOB_TYPE_UNSPECIFIED: Not set. - JOB_TYPE_LINKS_BULK_CREATE: Creates a batch of links (POST /v1/links/bulk/jobs). + * @return type + */ + @javax.annotation.Nullable + public TypeEnum getType() { + return type; + } + + public void setType(@javax.annotation.Nullable TypeEnum type) { + this.type = type; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Job job = (Job) o; + return Objects.equals(this.completedAt, job.completedAt) && + Objects.equals(this.createdAt, job.createdAt) && + Objects.equals(this.error, job.error) && + Objects.equals(this.id, job.id) && + Objects.equals(this.itemCount, job.itemCount) && + Objects.equals(this.linksBulkCreate, job.linksBulkCreate) && + Objects.equals(this.status, job.status) && + Objects.equals(this.statusUrl, job.statusUrl) && + Objects.equals(this.type, job.type); + } + + @Override + public int hashCode() { + return Objects.hash(completedAt, createdAt, error, id, itemCount, linksBulkCreate, status, statusUrl, type); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class Job {\n"); + sb.append(" completedAt: ").append(toIndentedString(completedAt)).append("\n"); + sb.append(" createdAt: ").append(toIndentedString(createdAt)).append("\n"); + sb.append(" error: ").append(toIndentedString(error)).append("\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" itemCount: ").append(toIndentedString(itemCount)).append("\n"); + sb.append(" linksBulkCreate: ").append(toIndentedString(linksBulkCreate)).append("\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append(" statusUrl: ").append(toIndentedString(statusUrl)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + return o == null ? "null" : o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(Arrays.asList("completedAt", "createdAt", "error", "id", "itemCount", "linksBulkCreate", "status", "statusUrl", "type")); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(0); + } + + /** + * Validates the JSON Element and throws an exception if issues found + * + * @param jsonElement JSON Element + * @throws IOException if the JSON Element is invalid with respect to Job + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!Job.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format(java.util.Locale.ROOT, "The required field(s) %s in Job is not found in the empty JSON string", Job.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!Job.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format(java.util.Locale.ROOT, "The field `%s` in the JSON string is not defined in the `Job` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + // validate the optional field `error` + if (jsonObj.get("error") != null && !jsonObj.get("error").isJsonNull()) { + JobError.validateJsonElement(jsonObj.get("error")); + } + if ((jsonObj.get("id") != null && !jsonObj.get("id").isJsonNull()) && !jsonObj.get("id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format(java.util.Locale.ROOT, "Expected the field `id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("id").toString())); + } + // validate the optional field `linksBulkCreate` + if (jsonObj.get("linksBulkCreate") != null && !jsonObj.get("linksBulkCreate").isJsonNull()) { + LinksBulkCreateResult.validateJsonElement(jsonObj.get("linksBulkCreate")); + } + if ((jsonObj.get("status") != null && !jsonObj.get("status").isJsonNull()) && !jsonObj.get("status").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format(java.util.Locale.ROOT, "Expected the field `status` to be a primitive type in the JSON string but got `%s`", jsonObj.get("status").toString())); + } + // validate the optional field `status` + if (jsonObj.get("status") != null && !jsonObj.get("status").isJsonNull()) { + StatusEnum.validateJsonElement(jsonObj.get("status")); + } + if ((jsonObj.get("statusUrl") != null && !jsonObj.get("statusUrl").isJsonNull()) && !jsonObj.get("statusUrl").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format(java.util.Locale.ROOT, "Expected the field `statusUrl` to be a primitive type in the JSON string but got `%s`", jsonObj.get("statusUrl").toString())); + } + if ((jsonObj.get("type") != null && !jsonObj.get("type").isJsonNull()) && !jsonObj.get("type").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format(java.util.Locale.ROOT, "Expected the field `type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("type").toString())); + } + // validate the optional field `type` + if (jsonObj.get("type") != null && !jsonObj.get("type").isJsonNull()) { + TypeEnum.validateJsonElement(jsonObj.get("type")); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!Job.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'Job' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(Job.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, Job value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public Job read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of Job given an JSON string + * + * @param jsonString JSON string + * @return An instance of Job + * @throws IOException if the JSON string is invalid with respect to Job + */ + public static Job fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, Job.class); + } + + /** + * Convert an instance of Job to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/src/main/java/com/linkbreakers/model/JobError.java b/src/main/java/com/linkbreakers/model/JobError.java new file mode 100644 index 000000000..a861f4856 --- /dev/null +++ b/src/main/java/com/linkbreakers/model/JobError.java @@ -0,0 +1,231 @@ +/* + * Linkbreakers API + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. + * + * The version of the OpenAPI document: 1.158.2 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.linkbreakers.model; + +import java.util.Objects; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.util.Arrays; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; +import com.google.gson.TypeAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import com.linkbreakers.JSON; + +/** + * Why a job failed. + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.21.0") +public class JobError { + public static final String SERIALIZED_NAME_CODE_TYPE = "codeType"; + @SerializedName(SERIALIZED_NAME_CODE_TYPE) + @javax.annotation.Nullable + private String codeType; + + public static final String SERIALIZED_NAME_MESSAGE = "message"; + @SerializedName(SERIALIZED_NAME_MESSAGE) + @javax.annotation.Nullable + private String message; + + public JobError() { + } + + public JobError codeType(@javax.annotation.Nullable String codeType) { + this.codeType = codeType; + return this; + } + + /** + * Stable error code, the same codeType a synchronous call would return. + * @return codeType + */ + @javax.annotation.Nullable + public String getCodeType() { + return codeType; + } + + public void setCodeType(@javax.annotation.Nullable String codeType) { + this.codeType = codeType; + } + + + public JobError message(@javax.annotation.Nullable String message) { + this.message = message; + return this; + } + + /** + * Human-readable explanation. + * @return message + */ + @javax.annotation.Nullable + public String getMessage() { + return message; + } + + public void setMessage(@javax.annotation.Nullable String message) { + this.message = message; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + JobError jobError = (JobError) o; + return Objects.equals(this.codeType, jobError.codeType) && + Objects.equals(this.message, jobError.message); + } + + @Override + public int hashCode() { + return Objects.hash(codeType, message); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class JobError {\n"); + sb.append(" codeType: ").append(toIndentedString(codeType)).append("\n"); + sb.append(" message: ").append(toIndentedString(message)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + return o == null ? "null" : o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(Arrays.asList("codeType", "message")); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(0); + } + + /** + * Validates the JSON Element and throws an exception if issues found + * + * @param jsonElement JSON Element + * @throws IOException if the JSON Element is invalid with respect to JobError + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!JobError.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format(java.util.Locale.ROOT, "The required field(s) %s in JobError is not found in the empty JSON string", JobError.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!JobError.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format(java.util.Locale.ROOT, "The field `%s` in the JSON string is not defined in the `JobError` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("codeType") != null && !jsonObj.get("codeType").isJsonNull()) && !jsonObj.get("codeType").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format(java.util.Locale.ROOT, "Expected the field `codeType` to be a primitive type in the JSON string but got `%s`", jsonObj.get("codeType").toString())); + } + if ((jsonObj.get("message") != null && !jsonObj.get("message").isJsonNull()) && !jsonObj.get("message").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format(java.util.Locale.ROOT, "Expected the field `message` to be a primitive type in the JSON string but got `%s`", jsonObj.get("message").toString())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!JobError.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'JobError' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(JobError.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, JobError value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public JobError read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of JobError given an JSON string + * + * @param jsonString JSON string + * @return An instance of JobError + * @throws IOException if the JSON string is invalid with respect to JobError + */ + public static JobError fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, JobError.class); + } + + /** + * Convert an instance of JobError to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/src/main/java/com/linkbreakers/model/JobStatus.java b/src/main/java/com/linkbreakers/model/JobStatus.java new file mode 100644 index 000000000..395c7a04a --- /dev/null +++ b/src/main/java/com/linkbreakers/model/JobStatus.java @@ -0,0 +1,84 @@ +/* + * Linkbreakers API + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. + * + * The version of the OpenAPI document: 1.158.2 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.linkbreakers.model; + +import java.util.Objects; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.JsonElement; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * Where a job stands. - JOB_STATUS_UNSPECIFIED: Not set. - JOB_STATUS_PENDING: Accepted and waiting to run. - JOB_STATUS_RUNNING: Running now. - JOB_STATUS_SUCCEEDED: Finished; the result is set. - JOB_STATUS_FAILED: Finished without doing its work; error says why. Nothing was created. + */ +@JsonAdapter(JobStatus.Adapter.class) +public enum JobStatus { + + JOB_STATUS_UNSPECIFIED("JOB_STATUS_UNSPECIFIED"), + + JOB_STATUS_PENDING("JOB_STATUS_PENDING"), + + JOB_STATUS_RUNNING("JOB_STATUS_RUNNING"), + + JOB_STATUS_SUCCEEDED("JOB_STATUS_SUCCEEDED"), + + JOB_STATUS_FAILED("JOB_STATUS_FAILED"); + + private String value; + + JobStatus(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static JobStatus fromValue(String value) { + for (JobStatus b : JobStatus.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final JobStatus enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public JobStatus read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return JobStatus.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + JobStatus.fromValue(value); + } +} + diff --git a/src/main/java/com/linkbreakers/model/JobType.java b/src/main/java/com/linkbreakers/model/JobType.java new file mode 100644 index 000000000..35e38b0fd --- /dev/null +++ b/src/main/java/com/linkbreakers/model/JobType.java @@ -0,0 +1,78 @@ +/* + * Linkbreakers API + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. + * + * The version of the OpenAPI document: 1.158.2 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.linkbreakers.model; + +import java.util.Objects; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.JsonElement; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * What a job does. - JOB_TYPE_UNSPECIFIED: Not set. - JOB_TYPE_LINKS_BULK_CREATE: Creates a batch of links (POST /v1/links/bulk/jobs). + */ +@JsonAdapter(JobType.Adapter.class) +public enum JobType { + + JOB_TYPE_UNSPECIFIED("JOB_TYPE_UNSPECIFIED"), + + JOB_TYPE_LINKS_BULK_CREATE("JOB_TYPE_LINKS_BULK_CREATE"); + + private String value; + + JobType(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static JobType fromValue(String value) { + for (JobType b : JobType.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final JobType enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public JobType read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return JobType.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + JobType.fromValue(value); + } +} + diff --git a/src/main/java/com/linkbreakers/model/JourneyProgress.java b/src/main/java/com/linkbreakers/model/JourneyProgress.java index eab012be9..4ef417245 100644 --- a/src/main/java/com/linkbreakers/model/JourneyProgress.java +++ b/src/main/java/com/linkbreakers/model/JourneyProgress.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/Link.java b/src/main/java/com/linkbreakers/model/Link.java index b011a5167..13288ceb4 100644 --- a/src/main/java/com/linkbreakers/model/Link.java +++ b/src/main/java/com/linkbreakers/model/Link.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/LinkSetting.java b/src/main/java/com/linkbreakers/model/LinkSetting.java index 00cb6a8e3..8aabdb0e2 100644 --- a/src/main/java/com/linkbreakers/model/LinkSetting.java +++ b/src/main/java/com/linkbreakers/model/LinkSetting.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/LinkSortField.java b/src/main/java/com/linkbreakers/model/LinkSortField.java index 7cd172888..a6e9ae3e2 100644 --- a/src/main/java/com/linkbreakers/model/LinkSortField.java +++ b/src/main/java/com/linkbreakers/model/LinkSortField.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/LinkView.java b/src/main/java/com/linkbreakers/model/LinkView.java index 25af5663b..9af379a88 100644 --- a/src/main/java/com/linkbreakers/model/LinkView.java +++ b/src/main/java/com/linkbreakers/model/LinkView.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/LinksBulkCreateResult.java b/src/main/java/com/linkbreakers/model/LinksBulkCreateResult.java new file mode 100644 index 000000000..63973837e --- /dev/null +++ b/src/main/java/com/linkbreakers/model/LinksBulkCreateResult.java @@ -0,0 +1,213 @@ +/* + * Linkbreakers API + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. + * + * The version of the OpenAPI document: 1.158.2 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.linkbreakers.model; + +import java.util.Objects; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; +import com.google.gson.TypeAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import com.linkbreakers.JSON; + +/** + * Result of a JOB_TYPE_LINKS_BULK_CREATE job. + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.21.0") +public class LinksBulkCreateResult { + public static final String SERIALIZED_NAME_LINK_IDS = "linkIds"; + @SerializedName(SERIALIZED_NAME_LINK_IDS) + @javax.annotation.Nullable + private List linkIds = new ArrayList<>(); + + public LinksBulkCreateResult() { + } + + public LinksBulkCreateResult linkIds(@javax.annotation.Nullable List linkIds) { + this.linkIds = linkIds; + return this; + } + + public LinksBulkCreateResult addLinkIdsItem(String linkIdsItem) { + if (this.linkIds == null) { + this.linkIds = new ArrayList<>(); + } + this.linkIds.add(linkIdsItem); + return this; + } + + /** + * IDs of the created links, in the order they were submitted. Fetch each with GET /v1/links/{id}. + * @return linkIds + */ + @javax.annotation.Nullable + public List getLinkIds() { + return linkIds; + } + + public void setLinkIds(@javax.annotation.Nullable List linkIds) { + this.linkIds = linkIds; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + LinksBulkCreateResult linksBulkCreateResult = (LinksBulkCreateResult) o; + return Objects.equals(this.linkIds, linksBulkCreateResult.linkIds); + } + + @Override + public int hashCode() { + return Objects.hash(linkIds); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class LinksBulkCreateResult {\n"); + sb.append(" linkIds: ").append(toIndentedString(linkIds)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + return o == null ? "null" : o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(Arrays.asList("linkIds")); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(0); + } + + /** + * Validates the JSON Element and throws an exception if issues found + * + * @param jsonElement JSON Element + * @throws IOException if the JSON Element is invalid with respect to LinksBulkCreateResult + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!LinksBulkCreateResult.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format(java.util.Locale.ROOT, "The required field(s) %s in LinksBulkCreateResult is not found in the empty JSON string", LinksBulkCreateResult.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!LinksBulkCreateResult.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format(java.util.Locale.ROOT, "The field `%s` in the JSON string is not defined in the `LinksBulkCreateResult` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + // ensure the optional json data is an array if present + if (jsonObj.get("linkIds") != null && !jsonObj.get("linkIds").isJsonNull() && !jsonObj.get("linkIds").isJsonArray()) { + throw new IllegalArgumentException(String.format(java.util.Locale.ROOT, "Expected the field `linkIds` to be an array in the JSON string but got `%s`", jsonObj.get("linkIds").toString())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!LinksBulkCreateResult.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'LinksBulkCreateResult' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(LinksBulkCreateResult.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, LinksBulkCreateResult value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public LinksBulkCreateResult read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of LinksBulkCreateResult given an JSON string + * + * @param jsonString JSON string + * @return An instance of LinksBulkCreateResult + * @throws IOException if the JSON string is invalid with respect to LinksBulkCreateResult + */ + public static LinksBulkCreateResult fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, LinksBulkCreateResult.class); + } + + /** + * Convert an instance of LinksBulkCreateResult to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/src/main/java/com/linkbreakers/model/LinksServiceUpdateBody.java b/src/main/java/com/linkbreakers/model/LinksServiceUpdateBody.java index 145400641..73fb753fb 100644 --- a/src/main/java/com/linkbreakers/model/LinksServiceUpdateBody.java +++ b/src/main/java/com/linkbreakers/model/LinksServiceUpdateBody.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/ListAllowancesResponse.java b/src/main/java/com/linkbreakers/model/ListAllowancesResponse.java new file mode 100644 index 000000000..5ee42bda5 --- /dev/null +++ b/src/main/java/com/linkbreakers/model/ListAllowancesResponse.java @@ -0,0 +1,304 @@ +/* + * Linkbreakers API + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. + * + * The version of the OpenAPI document: 1.158.2 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.linkbreakers.model; + +import java.util.Objects; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.linkbreakers.model.PlanLimit; +import com.linkbreakers.model.PricingPlanId; +import com.linkbreakers.model.WorkspaceAllowance; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; +import com.google.gson.TypeAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import com.linkbreakers.JSON; + +/** + * ListAllowancesResponse + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.21.0") +public class ListAllowancesResponse { + public static final String SERIALIZED_NAME_ALLOWANCES = "allowances"; + @SerializedName(SERIALIZED_NAME_ALLOWANCES) + @javax.annotation.Nullable + private List allowances = new ArrayList<>(); + + public static final String SERIALIZED_NAME_LIMITS = "limits"; + @SerializedName(SERIALIZED_NAME_LIMITS) + @javax.annotation.Nullable + private List limits = new ArrayList<>(); + + public static final String SERIALIZED_NAME_PLAN = "plan"; + @SerializedName(SERIALIZED_NAME_PLAN) + @javax.annotation.Nullable + private PricingPlanId plan; + + public ListAllowancesResponse() { + } + + public ListAllowancesResponse allowances(@javax.annotation.Nullable List allowances) { + this.allowances = allowances; + return this; + } + + public ListAllowancesResponse addAllowancesItem(WorkspaceAllowance allowancesItem) { + if (this.allowances == null) { + this.allowances = new ArrayList<>(); + } + this.allowances.add(allowancesItem); + return this; + } + + /** + * Get allowances + * @return allowances + */ + @javax.annotation.Nullable + public List getAllowances() { + return allowances; + } + + public void setAllowances(@javax.annotation.Nullable List allowances) { + this.allowances = allowances; + } + + + public ListAllowancesResponse limits(@javax.annotation.Nullable List limits) { + this.limits = limits; + return this; + } + + public ListAllowancesResponse addLimitsItem(PlanLimit limitsItem) { + if (this.limits == null) { + this.limits = new ArrayList<>(); + } + this.limits.add(limitsItem); + return this; + } + + /** + * Every limit this workspace is allowed, as enforced for its subscription, including the ones not counted per cycle such as webhooks and the Assistant rate. A trial or sponsored workspace can be allowed less than the plan it reports, and these are what it gets. + * @return limits + */ + @javax.annotation.Nullable + public List getLimits() { + return limits; + } + + public void setLimits(@javax.annotation.Nullable List limits) { + this.limits = limits; + } + + + public ListAllowancesResponse plan(@javax.annotation.Nullable PricingPlanId plan) { + this.plan = plan; + return this; + } + + /** + * The plan the limits come from. A trial or sponsored workspace reports the plan it is allowed what of. + * @return plan + */ + @javax.annotation.Nullable + public PricingPlanId getPlan() { + return plan; + } + + public void setPlan(@javax.annotation.Nullable PricingPlanId plan) { + this.plan = plan; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ListAllowancesResponse listAllowancesResponse = (ListAllowancesResponse) o; + return Objects.equals(this.allowances, listAllowancesResponse.allowances) && + Objects.equals(this.limits, listAllowancesResponse.limits) && + Objects.equals(this.plan, listAllowancesResponse.plan); + } + + @Override + public int hashCode() { + return Objects.hash(allowances, limits, plan); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ListAllowancesResponse {\n"); + sb.append(" allowances: ").append(toIndentedString(allowances)).append("\n"); + sb.append(" limits: ").append(toIndentedString(limits)).append("\n"); + sb.append(" plan: ").append(toIndentedString(plan)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + return o == null ? "null" : o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(Arrays.asList("allowances", "limits", "plan")); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(0); + } + + /** + * Validates the JSON Element and throws an exception if issues found + * + * @param jsonElement JSON Element + * @throws IOException if the JSON Element is invalid with respect to ListAllowancesResponse + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!ListAllowancesResponse.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format(java.util.Locale.ROOT, "The required field(s) %s in ListAllowancesResponse is not found in the empty JSON string", ListAllowancesResponse.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!ListAllowancesResponse.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format(java.util.Locale.ROOT, "The field `%s` in the JSON string is not defined in the `ListAllowancesResponse` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + if (jsonObj.get("allowances") != null && !jsonObj.get("allowances").isJsonNull()) { + JsonArray jsonArrayallowances = jsonObj.getAsJsonArray("allowances"); + if (jsonArrayallowances != null) { + // ensure the json data is an array + if (!jsonObj.get("allowances").isJsonArray()) { + throw new IllegalArgumentException(String.format(java.util.Locale.ROOT, "Expected the field `allowances` to be an array in the JSON string but got `%s`", jsonObj.get("allowances").toString())); + } + + // validate the optional field `allowances` (array) + for (int i = 0; i < jsonArrayallowances.size(); i++) { + WorkspaceAllowance.validateJsonElement(jsonArrayallowances.get(i)); + }; + } + } + if (jsonObj.get("limits") != null && !jsonObj.get("limits").isJsonNull()) { + JsonArray jsonArraylimits = jsonObj.getAsJsonArray("limits"); + if (jsonArraylimits != null) { + // ensure the json data is an array + if (!jsonObj.get("limits").isJsonArray()) { + throw new IllegalArgumentException(String.format(java.util.Locale.ROOT, "Expected the field `limits` to be an array in the JSON string but got `%s`", jsonObj.get("limits").toString())); + } + + // validate the optional field `limits` (array) + for (int i = 0; i < jsonArraylimits.size(); i++) { + PlanLimit.validateJsonElement(jsonArraylimits.get(i)); + }; + } + } + // validate the optional field `plan` + if (jsonObj.get("plan") != null && !jsonObj.get("plan").isJsonNull()) { + PricingPlanId.validateJsonElement(jsonObj.get("plan")); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!ListAllowancesResponse.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'ListAllowancesResponse' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(ListAllowancesResponse.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, ListAllowancesResponse value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public ListAllowancesResponse read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of ListAllowancesResponse given an JSON string + * + * @param jsonString JSON string + * @return An instance of ListAllowancesResponse + * @throws IOException if the JSON string is invalid with respect to ListAllowancesResponse + */ + public static ListAllowancesResponse fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, ListAllowancesResponse.class); + } + + /** + * Convert an instance of ListAllowancesResponse to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/src/main/java/com/linkbreakers/model/ListApiScopesResponse.java b/src/main/java/com/linkbreakers/model/ListApiScopesResponse.java new file mode 100644 index 000000000..d4d5e1f2b --- /dev/null +++ b/src/main/java/com/linkbreakers/model/ListApiScopesResponse.java @@ -0,0 +1,224 @@ +/* + * Linkbreakers API + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. + * + * The version of the OpenAPI document: 1.158.2 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.linkbreakers.model; + +import java.util.Objects; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.linkbreakers.model.ApiScopeInfo; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; +import com.google.gson.TypeAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import com.linkbreakers.JSON; + +/** + * ListApiScopesResponse lists every scope a token can hold. + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.21.0") +public class ListApiScopesResponse { + public static final String SERIALIZED_NAME_SCOPES = "scopes"; + @SerializedName(SERIALIZED_NAME_SCOPES) + @javax.annotation.Nullable + private List scopes = new ArrayList<>(); + + public ListApiScopesResponse() { + } + + public ListApiScopesResponse scopes(@javax.annotation.Nullable List scopes) { + this.scopes = scopes; + return this; + } + + public ListApiScopesResponse addScopesItem(ApiScopeInfo scopesItem) { + if (this.scopes == null) { + this.scopes = new ArrayList<>(); + } + this.scopes.add(scopesItem); + return this; + } + + /** + * Every scope, ordered by resource then read before write. + * @return scopes + */ + @javax.annotation.Nullable + public List getScopes() { + return scopes; + } + + public void setScopes(@javax.annotation.Nullable List scopes) { + this.scopes = scopes; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ListApiScopesResponse listApiScopesResponse = (ListApiScopesResponse) o; + return Objects.equals(this.scopes, listApiScopesResponse.scopes); + } + + @Override + public int hashCode() { + return Objects.hash(scopes); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ListApiScopesResponse {\n"); + sb.append(" scopes: ").append(toIndentedString(scopes)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + return o == null ? "null" : o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(Arrays.asList("scopes")); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(0); + } + + /** + * Validates the JSON Element and throws an exception if issues found + * + * @param jsonElement JSON Element + * @throws IOException if the JSON Element is invalid with respect to ListApiScopesResponse + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!ListApiScopesResponse.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format(java.util.Locale.ROOT, "The required field(s) %s in ListApiScopesResponse is not found in the empty JSON string", ListApiScopesResponse.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!ListApiScopesResponse.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format(java.util.Locale.ROOT, "The field `%s` in the JSON string is not defined in the `ListApiScopesResponse` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + if (jsonObj.get("scopes") != null && !jsonObj.get("scopes").isJsonNull()) { + JsonArray jsonArrayscopes = jsonObj.getAsJsonArray("scopes"); + if (jsonArrayscopes != null) { + // ensure the json data is an array + if (!jsonObj.get("scopes").isJsonArray()) { + throw new IllegalArgumentException(String.format(java.util.Locale.ROOT, "Expected the field `scopes` to be an array in the JSON string but got `%s`", jsonObj.get("scopes").toString())); + } + + // validate the optional field `scopes` (array) + for (int i = 0; i < jsonArrayscopes.size(); i++) { + ApiScopeInfo.validateJsonElement(jsonArrayscopes.get(i)); + }; + } + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!ListApiScopesResponse.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'ListApiScopesResponse' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(ListApiScopesResponse.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, ListApiScopesResponse value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public ListApiScopesResponse read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of ListApiScopesResponse given an JSON string + * + * @param jsonString JSON string + * @return An instance of ListApiScopesResponse + * @throws IOException if the JSON string is invalid with respect to ListApiScopesResponse + */ + public static ListApiScopesResponse fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, ListApiScopesResponse.class); + } + + /** + * Convert an instance of ListApiScopesResponse to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/src/main/java/com/linkbreakers/model/ListCustomDomainsResponse.java b/src/main/java/com/linkbreakers/model/ListCustomDomainsResponse.java index cdab34a14..92653d11b 100644 --- a/src/main/java/com/linkbreakers/model/ListCustomDomainsResponse.java +++ b/src/main/java/com/linkbreakers/model/ListCustomDomainsResponse.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/ListDashboardsResponse.java b/src/main/java/com/linkbreakers/model/ListDashboardsResponse.java index dbf5a6afd..e2c730a24 100644 --- a/src/main/java/com/linkbreakers/model/ListDashboardsResponse.java +++ b/src/main/java/com/linkbreakers/model/ListDashboardsResponse.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/ListDetectedGoogleFormsResponse.java b/src/main/java/com/linkbreakers/model/ListDetectedGoogleFormsResponse.java index 5649c9806..db1de977d 100644 --- a/src/main/java/com/linkbreakers/model/ListDetectedGoogleFormsResponse.java +++ b/src/main/java/com/linkbreakers/model/ListDetectedGoogleFormsResponse.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/ListDirectoriesResponse.java b/src/main/java/com/linkbreakers/model/ListDirectoriesResponse.java index 2f2fb6517..4983c62cd 100644 --- a/src/main/java/com/linkbreakers/model/ListDirectoriesResponse.java +++ b/src/main/java/com/linkbreakers/model/ListDirectoriesResponse.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/ListEventTracesResponse.java b/src/main/java/com/linkbreakers/model/ListEventTracesResponse.java index c87dff7a7..0f66f71ce 100644 --- a/src/main/java/com/linkbreakers/model/ListEventTracesResponse.java +++ b/src/main/java/com/linkbreakers/model/ListEventTracesResponse.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/ListEventsCsvResponse.java b/src/main/java/com/linkbreakers/model/ListEventsCsvResponse.java index 6d6c6f641..0867153e6 100644 --- a/src/main/java/com/linkbreakers/model/ListEventsCsvResponse.java +++ b/src/main/java/com/linkbreakers/model/ListEventsCsvResponse.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/ListEventsJsonResponse.java b/src/main/java/com/linkbreakers/model/ListEventsJsonResponse.java index da320be59..cb05c6c87 100644 --- a/src/main/java/com/linkbreakers/model/ListEventsJsonResponse.java +++ b/src/main/java/com/linkbreakers/model/ListEventsJsonResponse.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/ListEventsResponse.java b/src/main/java/com/linkbreakers/model/ListEventsResponse.java index ba3f7a18d..ab3f1b39b 100644 --- a/src/main/java/com/linkbreakers/model/ListEventsResponse.java +++ b/src/main/java/com/linkbreakers/model/ListEventsResponse.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/ListLinksResponse.java b/src/main/java/com/linkbreakers/model/ListLinksResponse.java index 6b197b0b5..51a1c4782 100644 --- a/src/main/java/com/linkbreakers/model/ListLinksResponse.java +++ b/src/main/java/com/linkbreakers/model/ListLinksResponse.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/ListMediaResponse.java b/src/main/java/com/linkbreakers/model/ListMediaResponse.java index 7ed5ef03e..8a9dc01db 100644 --- a/src/main/java/com/linkbreakers/model/ListMediaResponse.java +++ b/src/main/java/com/linkbreakers/model/ListMediaResponse.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/ListPageThemeTemplatesResponse.java b/src/main/java/com/linkbreakers/model/ListPageThemeTemplatesResponse.java index 3b909b82c..6d6927f28 100644 --- a/src/main/java/com/linkbreakers/model/ListPageThemeTemplatesResponse.java +++ b/src/main/java/com/linkbreakers/model/ListPageThemeTemplatesResponse.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/ListPageThemesResponse.java b/src/main/java/com/linkbreakers/model/ListPageThemesResponse.java index 554ca39f3..85fb68c4b 100644 --- a/src/main/java/com/linkbreakers/model/ListPageThemesResponse.java +++ b/src/main/java/com/linkbreakers/model/ListPageThemesResponse.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/ListPricingPlansResponse.java b/src/main/java/com/linkbreakers/model/ListPricingPlansResponse.java new file mode 100644 index 000000000..90ffe2312 --- /dev/null +++ b/src/main/java/com/linkbreakers/model/ListPricingPlansResponse.java @@ -0,0 +1,308 @@ +/* + * Linkbreakers API + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. + * + * The version of the OpenAPI document: 1.158.2 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.linkbreakers.model; + +import java.util.Objects; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.linkbreakers.model.CreditTopup; +import com.linkbreakers.model.PricingPlan; +import java.io.IOException; +import java.time.OffsetDateTime; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; +import com.google.gson.TypeAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import com.linkbreakers.JSON; + +/** + * ListPricingPlansResponse + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.21.0") +public class ListPricingPlansResponse { + public static final String SERIALIZED_NAME_CREDIT_TOPUP = "creditTopup"; + @SerializedName(SERIALIZED_NAME_CREDIT_TOPUP) + @javax.annotation.Nullable + private CreditTopup creditTopup; + + public static final String SERIALIZED_NAME_LINK_CREATED_CREDIT_COST = "linkCreatedCreditCost"; + @SerializedName(SERIALIZED_NAME_LINK_CREATED_CREDIT_COST) + @javax.annotation.Nullable + private Integer linkCreatedCreditCost; + + public static final String SERIALIZED_NAME_PLANS = "plans"; + @SerializedName(SERIALIZED_NAME_PLANS) + @javax.annotation.Nullable + private List plans = new ArrayList<>(); + + public static final String SERIALIZED_NAME_PRICES_UPDATED_AT = "pricesUpdatedAt"; + @SerializedName(SERIALIZED_NAME_PRICES_UPDATED_AT) + @javax.annotation.Nullable + private OffsetDateTime pricesUpdatedAt; + + public ListPricingPlansResponse() { + } + + public ListPricingPlansResponse creditTopup(@javax.annotation.Nullable CreditTopup creditTopup) { + this.creditTopup = creditTopup; + return this; + } + + /** + * Price of buying more credits. Absent when prices could not be read. + * @return creditTopup + */ + @javax.annotation.Nullable + public CreditTopup getCreditTopup() { + return creditTopup; + } + + public void setCreditTopup(@javax.annotation.Nullable CreditTopup creditTopup) { + this.creditTopup = creditTopup; + } + + + public ListPricingPlansResponse linkCreatedCreditCost(@javax.annotation.Nullable Integer linkCreatedCreditCost) { + this.linkCreatedCreditCost = linkCreatedCreditCost; + return this; + } + + /** + * Get linkCreatedCreditCost + * @return linkCreatedCreditCost + */ + @javax.annotation.Nullable + public Integer getLinkCreatedCreditCost() { + return linkCreatedCreditCost; + } + + public void setLinkCreatedCreditCost(@javax.annotation.Nullable Integer linkCreatedCreditCost) { + this.linkCreatedCreditCost = linkCreatedCreditCost; + } + + + public ListPricingPlansResponse plans(@javax.annotation.Nullable List plans) { + this.plans = plans; + return this; + } + + public ListPricingPlansResponse addPlansItem(PricingPlan plansItem) { + if (this.plans == null) { + this.plans = new ArrayList<>(); + } + this.plans.add(plansItem); + return this; + } + + /** + * Get plans + * @return plans + */ + @javax.annotation.Nullable + public List getPlans() { + return plans; + } + + public void setPlans(@javax.annotation.Nullable List plans) { + this.plans = plans; + } + + + public ListPricingPlansResponse pricesUpdatedAt(@javax.annotation.Nullable OffsetDateTime pricesUpdatedAt) { + this.pricesUpdatedAt = pricesUpdatedAt; + return this; + } + + /** + * When the prices were read from the billing provider. Absent when they never could be. + * @return pricesUpdatedAt + */ + @javax.annotation.Nullable + public OffsetDateTime getPricesUpdatedAt() { + return pricesUpdatedAt; + } + + public void setPricesUpdatedAt(@javax.annotation.Nullable OffsetDateTime pricesUpdatedAt) { + this.pricesUpdatedAt = pricesUpdatedAt; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ListPricingPlansResponse listPricingPlansResponse = (ListPricingPlansResponse) o; + return Objects.equals(this.creditTopup, listPricingPlansResponse.creditTopup) && + Objects.equals(this.linkCreatedCreditCost, listPricingPlansResponse.linkCreatedCreditCost) && + Objects.equals(this.plans, listPricingPlansResponse.plans) && + Objects.equals(this.pricesUpdatedAt, listPricingPlansResponse.pricesUpdatedAt); + } + + @Override + public int hashCode() { + return Objects.hash(creditTopup, linkCreatedCreditCost, plans, pricesUpdatedAt); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ListPricingPlansResponse {\n"); + sb.append(" creditTopup: ").append(toIndentedString(creditTopup)).append("\n"); + sb.append(" linkCreatedCreditCost: ").append(toIndentedString(linkCreatedCreditCost)).append("\n"); + sb.append(" plans: ").append(toIndentedString(plans)).append("\n"); + sb.append(" pricesUpdatedAt: ").append(toIndentedString(pricesUpdatedAt)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + return o == null ? "null" : o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(Arrays.asList("creditTopup", "linkCreatedCreditCost", "plans", "pricesUpdatedAt")); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(0); + } + + /** + * Validates the JSON Element and throws an exception if issues found + * + * @param jsonElement JSON Element + * @throws IOException if the JSON Element is invalid with respect to ListPricingPlansResponse + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!ListPricingPlansResponse.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format(java.util.Locale.ROOT, "The required field(s) %s in ListPricingPlansResponse is not found in the empty JSON string", ListPricingPlansResponse.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!ListPricingPlansResponse.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format(java.util.Locale.ROOT, "The field `%s` in the JSON string is not defined in the `ListPricingPlansResponse` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + // validate the optional field `creditTopup` + if (jsonObj.get("creditTopup") != null && !jsonObj.get("creditTopup").isJsonNull()) { + CreditTopup.validateJsonElement(jsonObj.get("creditTopup")); + } + if (jsonObj.get("plans") != null && !jsonObj.get("plans").isJsonNull()) { + JsonArray jsonArrayplans = jsonObj.getAsJsonArray("plans"); + if (jsonArrayplans != null) { + // ensure the json data is an array + if (!jsonObj.get("plans").isJsonArray()) { + throw new IllegalArgumentException(String.format(java.util.Locale.ROOT, "Expected the field `plans` to be an array in the JSON string but got `%s`", jsonObj.get("plans").toString())); + } + + // validate the optional field `plans` (array) + for (int i = 0; i < jsonArrayplans.size(); i++) { + PricingPlan.validateJsonElement(jsonArrayplans.get(i)); + }; + } + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!ListPricingPlansResponse.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'ListPricingPlansResponse' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(ListPricingPlansResponse.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, ListPricingPlansResponse value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public ListPricingPlansResponse read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of ListPricingPlansResponse given an JSON string + * + * @param jsonString JSON string + * @return An instance of ListPricingPlansResponse + * @throws IOException if the JSON string is invalid with respect to ListPricingPlansResponse + */ + public static ListPricingPlansResponse fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, ListPricingPlansResponse.class); + } + + /** + * Convert an instance of ListPricingPlansResponse to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/src/main/java/com/linkbreakers/model/ListQrcodeTemplatesResponse.java b/src/main/java/com/linkbreakers/model/ListQrcodeTemplatesResponse.java index ce4399943..6513d6323 100644 --- a/src/main/java/com/linkbreakers/model/ListQrcodeTemplatesResponse.java +++ b/src/main/java/com/linkbreakers/model/ListQrcodeTemplatesResponse.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/ListResponse.java b/src/main/java/com/linkbreakers/model/ListResponse.java index 678e11b7d..6850936f9 100644 --- a/src/main/java/com/linkbreakers/model/ListResponse.java +++ b/src/main/java/com/linkbreakers/model/ListResponse.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/ListSandboxesResponse.java b/src/main/java/com/linkbreakers/model/ListSandboxesResponse.java new file mode 100644 index 000000000..47634b824 --- /dev/null +++ b/src/main/java/com/linkbreakers/model/ListSandboxesResponse.java @@ -0,0 +1,253 @@ +/* + * Linkbreakers API + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. + * + * The version of the OpenAPI document: 1.158.2 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.linkbreakers.model; + +import java.util.Objects; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.linkbreakers.model.Sandbox; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; +import com.google.gson.TypeAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import com.linkbreakers.JSON; + +/** + * ListSandboxesResponse + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.21.0") +public class ListSandboxesResponse { + public static final String SERIALIZED_NAME_SANDBOXES = "sandboxes"; + @SerializedName(SERIALIZED_NAME_SANDBOXES) + @javax.annotation.Nullable + private List sandboxes = new ArrayList<>(); + + public static final String SERIALIZED_NAME_TOTAL_COUNT = "totalCount"; + @SerializedName(SERIALIZED_NAME_TOTAL_COUNT) + @javax.annotation.Nullable + private String totalCount; + + public ListSandboxesResponse() { + } + + public ListSandboxesResponse sandboxes(@javax.annotation.Nullable List sandboxes) { + this.sandboxes = sandboxes; + return this; + } + + public ListSandboxesResponse addSandboxesItem(Sandbox sandboxesItem) { + if (this.sandboxes == null) { + this.sandboxes = new ArrayList<>(); + } + this.sandboxes.add(sandboxesItem); + return this; + } + + /** + * Get sandboxes + * @return sandboxes + */ + @javax.annotation.Nullable + public List getSandboxes() { + return sandboxes; + } + + public void setSandboxes(@javax.annotation.Nullable List sandboxes) { + this.sandboxes = sandboxes; + } + + + public ListSandboxesResponse totalCount(@javax.annotation.Nullable String totalCount) { + this.totalCount = totalCount; + return this; + } + + /** + * How many sandboxes the workspace holds. + * @return totalCount + */ + @javax.annotation.Nullable + public String getTotalCount() { + return totalCount; + } + + public void setTotalCount(@javax.annotation.Nullable String totalCount) { + this.totalCount = totalCount; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ListSandboxesResponse listSandboxesResponse = (ListSandboxesResponse) o; + return Objects.equals(this.sandboxes, listSandboxesResponse.sandboxes) && + Objects.equals(this.totalCount, listSandboxesResponse.totalCount); + } + + @Override + public int hashCode() { + return Objects.hash(sandboxes, totalCount); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ListSandboxesResponse {\n"); + sb.append(" sandboxes: ").append(toIndentedString(sandboxes)).append("\n"); + sb.append(" totalCount: ").append(toIndentedString(totalCount)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + return o == null ? "null" : o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(Arrays.asList("sandboxes", "totalCount")); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(0); + } + + /** + * Validates the JSON Element and throws an exception if issues found + * + * @param jsonElement JSON Element + * @throws IOException if the JSON Element is invalid with respect to ListSandboxesResponse + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!ListSandboxesResponse.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format(java.util.Locale.ROOT, "The required field(s) %s in ListSandboxesResponse is not found in the empty JSON string", ListSandboxesResponse.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!ListSandboxesResponse.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format(java.util.Locale.ROOT, "The field `%s` in the JSON string is not defined in the `ListSandboxesResponse` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + if (jsonObj.get("sandboxes") != null && !jsonObj.get("sandboxes").isJsonNull()) { + JsonArray jsonArraysandboxes = jsonObj.getAsJsonArray("sandboxes"); + if (jsonArraysandboxes != null) { + // ensure the json data is an array + if (!jsonObj.get("sandboxes").isJsonArray()) { + throw new IllegalArgumentException(String.format(java.util.Locale.ROOT, "Expected the field `sandboxes` to be an array in the JSON string but got `%s`", jsonObj.get("sandboxes").toString())); + } + + // validate the optional field `sandboxes` (array) + for (int i = 0; i < jsonArraysandboxes.size(); i++) { + Sandbox.validateJsonElement(jsonArraysandboxes.get(i)); + }; + } + } + if ((jsonObj.get("totalCount") != null && !jsonObj.get("totalCount").isJsonNull()) && !jsonObj.get("totalCount").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format(java.util.Locale.ROOT, "Expected the field `totalCount` to be a primitive type in the JSON string but got `%s`", jsonObj.get("totalCount").toString())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!ListSandboxesResponse.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'ListSandboxesResponse' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(ListSandboxesResponse.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, ListSandboxesResponse value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public ListSandboxesResponse read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of ListSandboxesResponse given an JSON string + * + * @param jsonString JSON string + * @return An instance of ListSandboxesResponse + * @throws IOException if the JSON string is invalid with respect to ListSandboxesResponse + */ + public static ListSandboxesResponse fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, ListSandboxesResponse.class); + } + + /** + * Convert an instance of ListSandboxesResponse to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/src/main/java/com/linkbreakers/model/ListSlackChannelsResponse.java b/src/main/java/com/linkbreakers/model/ListSlackChannelsResponse.java index 89f203672..1a70da918 100644 --- a/src/main/java/com/linkbreakers/model/ListSlackChannelsResponse.java +++ b/src/main/java/com/linkbreakers/model/ListSlackChannelsResponse.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/ListTagsResponse.java b/src/main/java/com/linkbreakers/model/ListTagsResponse.java index 313dc80f5..dc335e543 100644 --- a/src/main/java/com/linkbreakers/model/ListTagsResponse.java +++ b/src/main/java/com/linkbreakers/model/ListTagsResponse.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/ListVisitorAttributeKeysResponse.java b/src/main/java/com/linkbreakers/model/ListVisitorAttributeKeysResponse.java index 840531a6c..1c91f81e3 100644 --- a/src/main/java/com/linkbreakers/model/ListVisitorAttributeKeysResponse.java +++ b/src/main/java/com/linkbreakers/model/ListVisitorAttributeKeysResponse.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/ListVisitorsCsvResponse.java b/src/main/java/com/linkbreakers/model/ListVisitorsCsvResponse.java index ab3900732..9d59e135a 100644 --- a/src/main/java/com/linkbreakers/model/ListVisitorsCsvResponse.java +++ b/src/main/java/com/linkbreakers/model/ListVisitorsCsvResponse.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/ListVisitorsJsonResponse.java b/src/main/java/com/linkbreakers/model/ListVisitorsJsonResponse.java index b4752f1b5..ba0756188 100644 --- a/src/main/java/com/linkbreakers/model/ListVisitorsJsonResponse.java +++ b/src/main/java/com/linkbreakers/model/ListVisitorsJsonResponse.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/ListVisitorsRequest.java b/src/main/java/com/linkbreakers/model/ListVisitorsRequest.java index f2acddb84..2458a1b91 100644 --- a/src/main/java/com/linkbreakers/model/ListVisitorsRequest.java +++ b/src/main/java/com/linkbreakers/model/ListVisitorsRequest.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/ListVisitorsResponse.java b/src/main/java/com/linkbreakers/model/ListVisitorsResponse.java index 2711962ae..e9092596d 100644 --- a/src/main/java/com/linkbreakers/model/ListVisitorsResponse.java +++ b/src/main/java/com/linkbreakers/model/ListVisitorsResponse.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/ListWebhooksResponse.java b/src/main/java/com/linkbreakers/model/ListWebhooksResponse.java index 5b9354135..489035199 100644 --- a/src/main/java/com/linkbreakers/model/ListWebhooksResponse.java +++ b/src/main/java/com/linkbreakers/model/ListWebhooksResponse.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/ListWorkflowStepsResponse.java b/src/main/java/com/linkbreakers/model/ListWorkflowStepsResponse.java index f6613557f..4b6f2383d 100644 --- a/src/main/java/com/linkbreakers/model/ListWorkflowStepsResponse.java +++ b/src/main/java/com/linkbreakers/model/ListWorkflowStepsResponse.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/ListWorkspaceTokensResponse.java b/src/main/java/com/linkbreakers/model/ListWorkspaceTokensResponse.java index 241b06e1e..61363dbc9 100644 --- a/src/main/java/com/linkbreakers/model/ListWorkspaceTokensResponse.java +++ b/src/main/java/com/linkbreakers/model/ListWorkspaceTokensResponse.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/Media.java b/src/main/java/com/linkbreakers/model/Media.java index 47bbb74a1..8be19a058 100644 --- a/src/main/java/com/linkbreakers/model/Media.java +++ b/src/main/java/com/linkbreakers/model/Media.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/MediaSelection.java b/src/main/java/com/linkbreakers/model/MediaSelection.java index 0aaf98a8c..f0bba4475 100644 --- a/src/main/java/com/linkbreakers/model/MediaSelection.java +++ b/src/main/java/com/linkbreakers/model/MediaSelection.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/MediaType.java b/src/main/java/com/linkbreakers/model/MediaType.java index 51ad10b8e..698a409a3 100644 --- a/src/main/java/com/linkbreakers/model/MediaType.java +++ b/src/main/java/com/linkbreakers/model/MediaType.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/MediaVisibility.java b/src/main/java/com/linkbreakers/model/MediaVisibility.java index 8fff4f09a..cb09e8276 100644 --- a/src/main/java/com/linkbreakers/model/MediaVisibility.java +++ b/src/main/java/com/linkbreakers/model/MediaVisibility.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/Member.java b/src/main/java/com/linkbreakers/model/Member.java index 980d4ebd1..bdb077371 100644 --- a/src/main/java/com/linkbreakers/model/Member.java +++ b/src/main/java/com/linkbreakers/model/Member.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -19,7 +19,6 @@ import com.google.gson.annotations.SerializedName; import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; -import com.linkbreakers.model.Role; import java.io.IOException; import java.time.OffsetDateTime; import java.util.Arrays; @@ -122,10 +121,66 @@ public class Member { @javax.annotation.Nullable private OffsetDateTime lastSigninAt; + /** + * Role enumerates the built-in permission tiers that control what teammates can manage inside a workspace. - ROLE_UNSPECIFIED: Role not specified (defaults to viewer permissions) + */ + @JsonAdapter(RoleEnum.Adapter.class) + public enum RoleEnum { + ROLE_UNSPECIFIED("ROLE_UNSPECIFIED"), + + ROLE_VIEWER("ROLE_VIEWER"), + + ROLE_ADMIN("ROLE_ADMIN"), + + ROLE_TECH("ROLE_TECH"); + + private String value; + + RoleEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static RoleEnum fromValue(String value) { + for (RoleEnum b : RoleEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final RoleEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public RoleEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return RoleEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + RoleEnum.fromValue(value); + } + } + public static final String SERIALIZED_NAME_ROLE = "role"; @SerializedName(SERIALIZED_NAME_ROLE) @javax.annotation.Nullable - private Role role; + private RoleEnum role; public static final String SERIALIZED_NAME_UPDATED_AT = "updatedAt"; @SerializedName(SERIALIZED_NAME_UPDATED_AT) @@ -406,21 +461,21 @@ public void setLastSigninAt(@javax.annotation.Nullable OffsetDateTime lastSignin } - public Member role(@javax.annotation.Nullable Role role) { + public Member role(@javax.annotation.Nullable RoleEnum role) { this.role = role; return this; } /** - * Get role + * Role enumerates the built-in permission tiers that control what teammates can manage inside a workspace. - ROLE_UNSPECIFIED: Role not specified (defaults to viewer permissions) * @return role */ @javax.annotation.Nullable - public Role getRole() { + public RoleEnum getRole() { return role; } - public void setRole(@javax.annotation.Nullable Role role) { + public void setRole(@javax.annotation.Nullable RoleEnum role) { this.role = role; } @@ -593,9 +648,12 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti if ((jsonObj.get("lastName") != null && !jsonObj.get("lastName").isJsonNull()) && !jsonObj.get("lastName").isJsonPrimitive()) { throw new IllegalArgumentException(String.format(java.util.Locale.ROOT, "Expected the field `lastName` to be a primitive type in the JSON string but got `%s`", jsonObj.get("lastName").toString())); } + if ((jsonObj.get("role") != null && !jsonObj.get("role").isJsonNull()) && !jsonObj.get("role").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format(java.util.Locale.ROOT, "Expected the field `role` to be a primitive type in the JSON string but got `%s`", jsonObj.get("role").toString())); + } // validate the optional field `role` if (jsonObj.get("role") != null && !jsonObj.get("role").isJsonNull()) { - Role.validateJsonElement(jsonObj.get("role")); + RoleEnum.validateJsonElement(jsonObj.get("role")); } if ((jsonObj.get("workspaceId") != null && !jsonObj.get("workspaceId").isJsonNull()) && !jsonObj.get("workspaceId").isJsonPrimitive()) { throw new IllegalArgumentException(String.format(java.util.Locale.ROOT, "Expected the field `workspaceId` to be a primitive type in the JSON string but got `%s`", jsonObj.get("workspaceId").toString())); diff --git a/src/main/java/com/linkbreakers/model/MembersServiceUpdateBody.java b/src/main/java/com/linkbreakers/model/MembersServiceUpdateBody.java index 031ffd290..23df6c086 100644 --- a/src/main/java/com/linkbreakers/model/MembersServiceUpdateBody.java +++ b/src/main/java/com/linkbreakers/model/MembersServiceUpdateBody.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -19,7 +19,6 @@ import com.google.gson.annotations.SerializedName; import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; -import com.linkbreakers.model.Role; import java.io.IOException; import java.util.Arrays; @@ -71,10 +70,66 @@ public class MembersServiceUpdateBody { @javax.annotation.Nullable private String lastName; + /** + * Role enumerates the built-in permission tiers that control what teammates can manage inside a workspace. - ROLE_UNSPECIFIED: Role not specified (defaults to viewer permissions) + */ + @JsonAdapter(RoleEnum.Adapter.class) + public enum RoleEnum { + ROLE_UNSPECIFIED("ROLE_UNSPECIFIED"), + + ROLE_VIEWER("ROLE_VIEWER"), + + ROLE_ADMIN("ROLE_ADMIN"), + + ROLE_TECH("ROLE_TECH"); + + private String value; + + RoleEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static RoleEnum fromValue(String value) { + for (RoleEnum b : RoleEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final RoleEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public RoleEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return RoleEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + RoleEnum.fromValue(value); + } + } + public static final String SERIALIZED_NAME_ROLE = "role"; @SerializedName(SERIALIZED_NAME_ROLE) @javax.annotation.Nullable - private Role role; + private RoleEnum role; public MembersServiceUpdateBody() { } @@ -155,21 +210,21 @@ public void setLastName(@javax.annotation.Nullable String lastName) { } - public MembersServiceUpdateBody role(@javax.annotation.Nullable Role role) { + public MembersServiceUpdateBody role(@javax.annotation.Nullable RoleEnum role) { this.role = role; return this; } /** - * Get role + * Role enumerates the built-in permission tiers that control what teammates can manage inside a workspace. - ROLE_UNSPECIFIED: Role not specified (defaults to viewer permissions) * @return role */ @javax.annotation.Nullable - public Role getRole() { + public RoleEnum getRole() { return role; } - public void setRole(@javax.annotation.Nullable Role role) { + public void setRole(@javax.annotation.Nullable RoleEnum role) { this.role = role; } @@ -262,9 +317,12 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti if ((jsonObj.get("lastName") != null && !jsonObj.get("lastName").isJsonNull()) && !jsonObj.get("lastName").isJsonPrimitive()) { throw new IllegalArgumentException(String.format(java.util.Locale.ROOT, "Expected the field `lastName` to be a primitive type in the JSON string but got `%s`", jsonObj.get("lastName").toString())); } + if ((jsonObj.get("role") != null && !jsonObj.get("role").isJsonNull()) && !jsonObj.get("role").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format(java.util.Locale.ROOT, "Expected the field `role` to be a primitive type in the JSON string but got `%s`", jsonObj.get("role").toString())); + } // validate the optional field `role` if (jsonObj.get("role") != null && !jsonObj.get("role").isJsonNull()) { - Role.validateJsonElement(jsonObj.get("role")); + RoleEnum.validateJsonElement(jsonObj.get("role")); } } diff --git a/src/main/java/com/linkbreakers/model/MessagePageNavigationType.java b/src/main/java/com/linkbreakers/model/MessagePageNavigationType.java index ba72072eb..3ead321e3 100644 --- a/src/main/java/com/linkbreakers/model/MessagePageNavigationType.java +++ b/src/main/java/com/linkbreakers/model/MessagePageNavigationType.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/MessagePagePayload.java b/src/main/java/com/linkbreakers/model/MessagePagePayload.java index 2c50f138e..fa5f48746 100644 --- a/src/main/java/com/linkbreakers/model/MessagePagePayload.java +++ b/src/main/java/com/linkbreakers/model/MessagePagePayload.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/Money.java b/src/main/java/com/linkbreakers/model/Money.java new file mode 100644 index 000000000..125cb77cc --- /dev/null +++ b/src/main/java/com/linkbreakers/model/Money.java @@ -0,0 +1,228 @@ +/* + * Linkbreakers API + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. + * + * The version of the OpenAPI document: 1.158.2 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.linkbreakers.model; + +import java.util.Objects; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.util.Arrays; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; +import com.google.gson.TypeAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import com.linkbreakers.JSON; + +/** + * Money + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.21.0") +public class Money { + public static final String SERIALIZED_NAME_AMOUNT_MINOR = "amountMinor"; + @SerializedName(SERIALIZED_NAME_AMOUNT_MINOR) + @javax.annotation.Nullable + private Integer amountMinor; + + public static final String SERIALIZED_NAME_CURRENCY = "currency"; + @SerializedName(SERIALIZED_NAME_CURRENCY) + @javax.annotation.Nullable + private String currency; + + public Money() { + } + + public Money amountMinor(@javax.annotation.Nullable Integer amountMinor) { + this.amountMinor = amountMinor; + return this; + } + + /** + * Get amountMinor + * @return amountMinor + */ + @javax.annotation.Nullable + public Integer getAmountMinor() { + return amountMinor; + } + + public void setAmountMinor(@javax.annotation.Nullable Integer amountMinor) { + this.amountMinor = amountMinor; + } + + + public Money currency(@javax.annotation.Nullable String currency) { + this.currency = currency; + return this; + } + + /** + * Get currency + * @return currency + */ + @javax.annotation.Nullable + public String getCurrency() { + return currency; + } + + public void setCurrency(@javax.annotation.Nullable String currency) { + this.currency = currency; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Money money = (Money) o; + return Objects.equals(this.amountMinor, money.amountMinor) && + Objects.equals(this.currency, money.currency); + } + + @Override + public int hashCode() { + return Objects.hash(amountMinor, currency); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class Money {\n"); + sb.append(" amountMinor: ").append(toIndentedString(amountMinor)).append("\n"); + sb.append(" currency: ").append(toIndentedString(currency)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + return o == null ? "null" : o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(Arrays.asList("amountMinor", "currency")); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(0); + } + + /** + * Validates the JSON Element and throws an exception if issues found + * + * @param jsonElement JSON Element + * @throws IOException if the JSON Element is invalid with respect to Money + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!Money.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format(java.util.Locale.ROOT, "The required field(s) %s in Money is not found in the empty JSON string", Money.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!Money.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format(java.util.Locale.ROOT, "The field `%s` in the JSON string is not defined in the `Money` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("currency") != null && !jsonObj.get("currency").isJsonNull()) && !jsonObj.get("currency").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format(java.util.Locale.ROOT, "Expected the field `currency` to be a primitive type in the JSON string but got `%s`", jsonObj.get("currency").toString())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!Money.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'Money' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(Money.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, Money value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public Money read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of Money given an JSON string + * + * @param jsonString JSON string + * @return An instance of Money + * @throws IOException if the JSON string is invalid with respect to Money + */ + public static Money fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, Money.class); + } + + /** + * Convert an instance of Money to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/src/main/java/com/linkbreakers/model/MultiLinkButton.java b/src/main/java/com/linkbreakers/model/MultiLinkButton.java index 6a5d714f5..db1860025 100644 --- a/src/main/java/com/linkbreakers/model/MultiLinkButton.java +++ b/src/main/java/com/linkbreakers/model/MultiLinkButton.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/MultiLinkPayload.java b/src/main/java/com/linkbreakers/model/MultiLinkPayload.java index 97035648c..78d078d87 100644 --- a/src/main/java/com/linkbreakers/model/MultiLinkPayload.java +++ b/src/main/java/com/linkbreakers/model/MultiLinkPayload.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/MultiLinkTraceButton.java b/src/main/java/com/linkbreakers/model/MultiLinkTraceButton.java index 06484aa57..2d06e265b 100644 --- a/src/main/java/com/linkbreakers/model/MultiLinkTraceButton.java +++ b/src/main/java/com/linkbreakers/model/MultiLinkTraceButton.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/MultiLinkTraceData.java b/src/main/java/com/linkbreakers/model/MultiLinkTraceData.java index d2d44034b..52d3cc026 100644 --- a/src/main/java/com/linkbreakers/model/MultiLinkTraceData.java +++ b/src/main/java/com/linkbreakers/model/MultiLinkTraceData.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/MultiLinkTraceSelectedButton.java b/src/main/java/com/linkbreakers/model/MultiLinkTraceSelectedButton.java index f3d2411c4..80381db20 100644 --- a/src/main/java/com/linkbreakers/model/MultiLinkTraceSelectedButton.java +++ b/src/main/java/com/linkbreakers/model/MultiLinkTraceSelectedButton.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/OutputFileFormat.java b/src/main/java/com/linkbreakers/model/OutputFileFormat.java index 88dfab7fa..4b0bbbe73 100644 --- a/src/main/java/com/linkbreakers/model/OutputFileFormat.java +++ b/src/main/java/com/linkbreakers/model/OutputFileFormat.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/PageTheme.java b/src/main/java/com/linkbreakers/model/PageTheme.java index e459fa007..e8dd1a53f 100644 --- a/src/main/java/com/linkbreakers/model/PageTheme.java +++ b/src/main/java/com/linkbreakers/model/PageTheme.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/PageThemeBadgeShape.java b/src/main/java/com/linkbreakers/model/PageThemeBadgeShape.java index 0887515b7..728a7664e 100644 --- a/src/main/java/com/linkbreakers/model/PageThemeBadgeShape.java +++ b/src/main/java/com/linkbreakers/model/PageThemeBadgeShape.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/PageThemeBorderStyle.java b/src/main/java/com/linkbreakers/model/PageThemeBorderStyle.java index 4b8fbbaa3..81b70b750 100644 --- a/src/main/java/com/linkbreakers/model/PageThemeBorderStyle.java +++ b/src/main/java/com/linkbreakers/model/PageThemeBorderStyle.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/PageThemeCanvasCoverMode.java b/src/main/java/com/linkbreakers/model/PageThemeCanvasCoverMode.java index 3b4226f5a..6c41975a3 100644 --- a/src/main/java/com/linkbreakers/model/PageThemeCanvasCoverMode.java +++ b/src/main/java/com/linkbreakers/model/PageThemeCanvasCoverMode.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/PageThemeContainerVariant.java b/src/main/java/com/linkbreakers/model/PageThemeContainerVariant.java index b44a34926..ed0f91742 100644 --- a/src/main/java/com/linkbreakers/model/PageThemeContainerVariant.java +++ b/src/main/java/com/linkbreakers/model/PageThemeContainerVariant.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/PageThemeFontFamily.java b/src/main/java/com/linkbreakers/model/PageThemeFontFamily.java index d11f744d2..a5cc7df2d 100644 --- a/src/main/java/com/linkbreakers/model/PageThemeFontFamily.java +++ b/src/main/java/com/linkbreakers/model/PageThemeFontFamily.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/PageThemeStyling.java b/src/main/java/com/linkbreakers/model/PageThemeStyling.java index 1157deec1..e6533f5f0 100644 --- a/src/main/java/com/linkbreakers/model/PageThemeStyling.java +++ b/src/main/java/com/linkbreakers/model/PageThemeStyling.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/PageThemeTemplate.java b/src/main/java/com/linkbreakers/model/PageThemeTemplate.java index c339d0cc2..fdc518181 100644 --- a/src/main/java/com/linkbreakers/model/PageThemeTemplate.java +++ b/src/main/java/com/linkbreakers/model/PageThemeTemplate.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/PageThemeTemplateImages.java b/src/main/java/com/linkbreakers/model/PageThemeTemplateImages.java index 05dcab13d..72c93f7a0 100644 --- a/src/main/java/com/linkbreakers/model/PageThemeTemplateImages.java +++ b/src/main/java/com/linkbreakers/model/PageThemeTemplateImages.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/PageThemeTemplateScope.java b/src/main/java/com/linkbreakers/model/PageThemeTemplateScope.java index fb000b885..9d0f51451 100644 --- a/src/main/java/com/linkbreakers/model/PageThemeTemplateScope.java +++ b/src/main/java/com/linkbreakers/model/PageThemeTemplateScope.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/PageThemeTemplatesServiceUpdatePageThemeTemplateBody.java b/src/main/java/com/linkbreakers/model/PageThemeTemplatesServiceUpdatePageThemeTemplateBody.java index 96f07e481..fbeae855a 100644 --- a/src/main/java/com/linkbreakers/model/PageThemeTemplatesServiceUpdatePageThemeTemplateBody.java +++ b/src/main/java/com/linkbreakers/model/PageThemeTemplatesServiceUpdatePageThemeTemplateBody.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/PageThemeTemplatesServiceUpdatePageThemeTemplateStylingBody.java b/src/main/java/com/linkbreakers/model/PageThemeTemplatesServiceUpdatePageThemeTemplateStylingBody.java index f7cadec62..3a9cefb6a 100644 --- a/src/main/java/com/linkbreakers/model/PageThemeTemplatesServiceUpdatePageThemeTemplateStylingBody.java +++ b/src/main/java/com/linkbreakers/model/PageThemeTemplatesServiceUpdatePageThemeTemplateStylingBody.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/PageThemesServiceUpdatePageThemeBody.java b/src/main/java/com/linkbreakers/model/PageThemesServiceUpdatePageThemeBody.java index 2d89c6f2d..e538bb3cd 100644 --- a/src/main/java/com/linkbreakers/model/PageThemesServiceUpdatePageThemeBody.java +++ b/src/main/java/com/linkbreakers/model/PageThemesServiceUpdatePageThemeBody.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/PasswordPayload.java b/src/main/java/com/linkbreakers/model/PasswordPayload.java index 0ffa1746e..ffd93c657 100644 --- a/src/main/java/com/linkbreakers/model/PasswordPayload.java +++ b/src/main/java/com/linkbreakers/model/PasswordPayload.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/PasswordTraceData.java b/src/main/java/com/linkbreakers/model/PasswordTraceData.java index b5dda5e5c..a3aff545b 100644 --- a/src/main/java/com/linkbreakers/model/PasswordTraceData.java +++ b/src/main/java/com/linkbreakers/model/PasswordTraceData.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/PlanFeature.java b/src/main/java/com/linkbreakers/model/PlanFeature.java new file mode 100644 index 000000000..6af8c1109 --- /dev/null +++ b/src/main/java/com/linkbreakers/model/PlanFeature.java @@ -0,0 +1,78 @@ +/* + * Linkbreakers API + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. + * + * The version of the OpenAPI document: 1.158.2 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.linkbreakers.model; + +import java.util.Objects; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.JsonElement; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * - PLAN_FEATURE_UNSPECIFIED: Not set - PLAN_FEATURE_BRAND_FREE_PAGES: Visitor pages carry no Linkbreakers branding + */ +@JsonAdapter(PlanFeature.Adapter.class) +public enum PlanFeature { + + PLAN_FEATURE_UNSPECIFIED("PLAN_FEATURE_UNSPECIFIED"), + + PLAN_FEATURE_BRAND_FREE_PAGES("PLAN_FEATURE_BRAND_FREE_PAGES"); + + private String value; + + PlanFeature(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static PlanFeature fromValue(String value) { + for (PlanFeature b : PlanFeature.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final PlanFeature enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public PlanFeature read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return PlanFeature.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + PlanFeature.fromValue(value); + } +} + diff --git a/src/main/java/com/linkbreakers/model/PlanLimit.java b/src/main/java/com/linkbreakers/model/PlanLimit.java new file mode 100644 index 000000000..8ccfb74ab --- /dev/null +++ b/src/main/java/com/linkbreakers/model/PlanLimit.java @@ -0,0 +1,391 @@ +/* + * Linkbreakers API + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. + * + * The version of the OpenAPI document: 1.158.2 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.linkbreakers.model; + +import java.util.Objects; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.util.Arrays; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; +import com.google.gson.TypeAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import com.linkbreakers.JSON; + +/** + * PlanLimit + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.21.0") +public class PlanLimit { + /** + * - PLAN_LIMIT_KEY_UNSPECIFIED: Not set - PLAN_LIMIT_KEY_CUSTOM_DOMAINS: Custom domains connected to the workspace - PLAN_LIMIT_KEY_TEAM_MEMBERS: Members of the workspace - PLAN_LIMIT_KEY_PLATFORM_CREDITS: Platform credits, spent by creating links and by AI features - PLAN_LIMIT_KEY_TRACKED_VISITS: Tracked visits (scans and clicks) - PLAN_LIMIT_KEY_PUBLIC_API_CALLS: Public API calls - PLAN_LIMIT_KEY_WEBHOOKS: Webhooks configured in the workspace - PLAN_LIMIT_KEY_ASSISTANT_MESSAGES_PER_MINUTE: Assistant messages per minute - PLAN_LIMIT_KEY_LINKS_INCLUDED: Links the monthly platform credits pay for. Links are not capped on their own: each one spends credits. + */ + @JsonAdapter(KeyEnum.Adapter.class) + public enum KeyEnum { + PLAN_LIMIT_KEY_UNSPECIFIED("PLAN_LIMIT_KEY_UNSPECIFIED"), + + PLAN_LIMIT_KEY_CUSTOM_DOMAINS("PLAN_LIMIT_KEY_CUSTOM_DOMAINS"), + + PLAN_LIMIT_KEY_TEAM_MEMBERS("PLAN_LIMIT_KEY_TEAM_MEMBERS"), + + PLAN_LIMIT_KEY_PLATFORM_CREDITS("PLAN_LIMIT_KEY_PLATFORM_CREDITS"), + + PLAN_LIMIT_KEY_TRACKED_VISITS("PLAN_LIMIT_KEY_TRACKED_VISITS"), + + PLAN_LIMIT_KEY_PUBLIC_API_CALLS("PLAN_LIMIT_KEY_PUBLIC_API_CALLS"), + + PLAN_LIMIT_KEY_WEBHOOKS("PLAN_LIMIT_KEY_WEBHOOKS"), + + PLAN_LIMIT_KEY_ASSISTANT_MESSAGES_PER_MINUTE("PLAN_LIMIT_KEY_ASSISTANT_MESSAGES_PER_MINUTE"), + + PLAN_LIMIT_KEY_LINKS_INCLUDED("PLAN_LIMIT_KEY_LINKS_INCLUDED"); + + private String value; + + KeyEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static KeyEnum fromValue(String value) { + for (KeyEnum b : KeyEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final KeyEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public KeyEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return KeyEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + KeyEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_KEY = "key"; + @SerializedName(SERIALIZED_NAME_KEY) + @javax.annotation.Nullable + private KeyEnum key; + + /** + * - PLAN_LIMIT_KIND_UNSPECIFIED: Not set - PLAN_LIMIT_KIND_TOTAL: A standing total that does not refill, such as connected domains - PLAN_LIMIT_KIND_MONTHLY: An allowance that refills every month - PLAN_LIMIT_KIND_PER_MINUTE: A rate that refills every minute - PLAN_LIMIT_KIND_UNLIMITED: No ceiling - PLAN_LIMIT_KIND_METERED: No ceiling; every unit is billed + */ + @JsonAdapter(KindEnum.Adapter.class) + public enum KindEnum { + PLAN_LIMIT_KIND_UNSPECIFIED("PLAN_LIMIT_KIND_UNSPECIFIED"), + + PLAN_LIMIT_KIND_TOTAL("PLAN_LIMIT_KIND_TOTAL"), + + PLAN_LIMIT_KIND_MONTHLY("PLAN_LIMIT_KIND_MONTHLY"), + + PLAN_LIMIT_KIND_PER_MINUTE("PLAN_LIMIT_KIND_PER_MINUTE"), + + PLAN_LIMIT_KIND_UNLIMITED("PLAN_LIMIT_KIND_UNLIMITED"), + + PLAN_LIMIT_KIND_METERED("PLAN_LIMIT_KIND_METERED"); + + private String value; + + KindEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static KindEnum fromValue(String value) { + for (KindEnum b : KindEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final KindEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public KindEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return KindEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + KindEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_KIND = "kind"; + @SerializedName(SERIALIZED_NAME_KIND) + @javax.annotation.Nullable + private KindEnum kind; + + public static final String SERIALIZED_NAME_VALUE = "value"; + @SerializedName(SERIALIZED_NAME_VALUE) + @javax.annotation.Nullable + private Integer value; + + public PlanLimit() { + } + + public PlanLimit key(@javax.annotation.Nullable KeyEnum key) { + this.key = key; + return this; + } + + /** + * - PLAN_LIMIT_KEY_UNSPECIFIED: Not set - PLAN_LIMIT_KEY_CUSTOM_DOMAINS: Custom domains connected to the workspace - PLAN_LIMIT_KEY_TEAM_MEMBERS: Members of the workspace - PLAN_LIMIT_KEY_PLATFORM_CREDITS: Platform credits, spent by creating links and by AI features - PLAN_LIMIT_KEY_TRACKED_VISITS: Tracked visits (scans and clicks) - PLAN_LIMIT_KEY_PUBLIC_API_CALLS: Public API calls - PLAN_LIMIT_KEY_WEBHOOKS: Webhooks configured in the workspace - PLAN_LIMIT_KEY_ASSISTANT_MESSAGES_PER_MINUTE: Assistant messages per minute - PLAN_LIMIT_KEY_LINKS_INCLUDED: Links the monthly platform credits pay for. Links are not capped on their own: each one spends credits. + * @return key + */ + @javax.annotation.Nullable + public KeyEnum getKey() { + return key; + } + + public void setKey(@javax.annotation.Nullable KeyEnum key) { + this.key = key; + } + + + public PlanLimit kind(@javax.annotation.Nullable KindEnum kind) { + this.kind = kind; + return this; + } + + /** + * - PLAN_LIMIT_KIND_UNSPECIFIED: Not set - PLAN_LIMIT_KIND_TOTAL: A standing total that does not refill, such as connected domains - PLAN_LIMIT_KIND_MONTHLY: An allowance that refills every month - PLAN_LIMIT_KIND_PER_MINUTE: A rate that refills every minute - PLAN_LIMIT_KIND_UNLIMITED: No ceiling - PLAN_LIMIT_KIND_METERED: No ceiling; every unit is billed + * @return kind + */ + @javax.annotation.Nullable + public KindEnum getKind() { + return kind; + } + + public void setKind(@javax.annotation.Nullable KindEnum kind) { + this.kind = kind; + } + + + public PlanLimit value(@javax.annotation.Nullable Integer value) { + this.value = value; + return this; + } + + /** + * The ceiling. Absent when kind is PLAN_LIMIT_KIND_UNLIMITED or PLAN_LIMIT_KIND_METERED. + * @return value + */ + @javax.annotation.Nullable + public Integer getValue() { + return value; + } + + public void setValue(@javax.annotation.Nullable Integer value) { + this.value = value; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PlanLimit planLimit = (PlanLimit) o; + return Objects.equals(this.key, planLimit.key) && + Objects.equals(this.kind, planLimit.kind) && + Objects.equals(this.value, planLimit.value); + } + + @Override + public int hashCode() { + return Objects.hash(key, kind, value); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PlanLimit {\n"); + sb.append(" key: ").append(toIndentedString(key)).append("\n"); + sb.append(" kind: ").append(toIndentedString(kind)).append("\n"); + sb.append(" value: ").append(toIndentedString(value)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + return o == null ? "null" : o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(Arrays.asList("key", "kind", "value")); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(0); + } + + /** + * Validates the JSON Element and throws an exception if issues found + * + * @param jsonElement JSON Element + * @throws IOException if the JSON Element is invalid with respect to PlanLimit + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!PlanLimit.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format(java.util.Locale.ROOT, "The required field(s) %s in PlanLimit is not found in the empty JSON string", PlanLimit.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!PlanLimit.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format(java.util.Locale.ROOT, "The field `%s` in the JSON string is not defined in the `PlanLimit` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("key") != null && !jsonObj.get("key").isJsonNull()) && !jsonObj.get("key").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format(java.util.Locale.ROOT, "Expected the field `key` to be a primitive type in the JSON string but got `%s`", jsonObj.get("key").toString())); + } + // validate the optional field `key` + if (jsonObj.get("key") != null && !jsonObj.get("key").isJsonNull()) { + KeyEnum.validateJsonElement(jsonObj.get("key")); + } + if ((jsonObj.get("kind") != null && !jsonObj.get("kind").isJsonNull()) && !jsonObj.get("kind").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format(java.util.Locale.ROOT, "Expected the field `kind` to be a primitive type in the JSON string but got `%s`", jsonObj.get("kind").toString())); + } + // validate the optional field `kind` + if (jsonObj.get("kind") != null && !jsonObj.get("kind").isJsonNull()) { + KindEnum.validateJsonElement(jsonObj.get("kind")); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!PlanLimit.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'PlanLimit' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(PlanLimit.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, PlanLimit value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public PlanLimit read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of PlanLimit given an JSON string + * + * @param jsonString JSON string + * @return An instance of PlanLimit + * @throws IOException if the JSON string is invalid with respect to PlanLimit + */ + public static PlanLimit fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, PlanLimit.class); + } + + /** + * Convert an instance of PlanLimit to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/src/main/java/com/linkbreakers/model/PlanLimitKey.java b/src/main/java/com/linkbreakers/model/PlanLimitKey.java new file mode 100644 index 000000000..38383ee67 --- /dev/null +++ b/src/main/java/com/linkbreakers/model/PlanLimitKey.java @@ -0,0 +1,92 @@ +/* + * Linkbreakers API + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. + * + * The version of the OpenAPI document: 1.158.2 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.linkbreakers.model; + +import java.util.Objects; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.JsonElement; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * - PLAN_LIMIT_KEY_UNSPECIFIED: Not set - PLAN_LIMIT_KEY_CUSTOM_DOMAINS: Custom domains connected to the workspace - PLAN_LIMIT_KEY_TEAM_MEMBERS: Members of the workspace - PLAN_LIMIT_KEY_PLATFORM_CREDITS: Platform credits, spent by creating links and by AI features - PLAN_LIMIT_KEY_TRACKED_VISITS: Tracked visits (scans and clicks) - PLAN_LIMIT_KEY_PUBLIC_API_CALLS: Public API calls - PLAN_LIMIT_KEY_WEBHOOKS: Webhooks configured in the workspace - PLAN_LIMIT_KEY_ASSISTANT_MESSAGES_PER_MINUTE: Assistant messages per minute - PLAN_LIMIT_KEY_LINKS_INCLUDED: Links the monthly platform credits pay for. Links are not capped on their own: each one spends credits. + */ +@JsonAdapter(PlanLimitKey.Adapter.class) +public enum PlanLimitKey { + + PLAN_LIMIT_KEY_UNSPECIFIED("PLAN_LIMIT_KEY_UNSPECIFIED"), + + PLAN_LIMIT_KEY_CUSTOM_DOMAINS("PLAN_LIMIT_KEY_CUSTOM_DOMAINS"), + + PLAN_LIMIT_KEY_TEAM_MEMBERS("PLAN_LIMIT_KEY_TEAM_MEMBERS"), + + PLAN_LIMIT_KEY_PLATFORM_CREDITS("PLAN_LIMIT_KEY_PLATFORM_CREDITS"), + + PLAN_LIMIT_KEY_TRACKED_VISITS("PLAN_LIMIT_KEY_TRACKED_VISITS"), + + PLAN_LIMIT_KEY_PUBLIC_API_CALLS("PLAN_LIMIT_KEY_PUBLIC_API_CALLS"), + + PLAN_LIMIT_KEY_WEBHOOKS("PLAN_LIMIT_KEY_WEBHOOKS"), + + PLAN_LIMIT_KEY_ASSISTANT_MESSAGES_PER_MINUTE("PLAN_LIMIT_KEY_ASSISTANT_MESSAGES_PER_MINUTE"), + + PLAN_LIMIT_KEY_LINKS_INCLUDED("PLAN_LIMIT_KEY_LINKS_INCLUDED"); + + private String value; + + PlanLimitKey(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static PlanLimitKey fromValue(String value) { + for (PlanLimitKey b : PlanLimitKey.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final PlanLimitKey enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public PlanLimitKey read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return PlanLimitKey.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + PlanLimitKey.fromValue(value); + } +} + diff --git a/src/main/java/com/linkbreakers/model/PlanLimitKind.java b/src/main/java/com/linkbreakers/model/PlanLimitKind.java new file mode 100644 index 000000000..94c903fef --- /dev/null +++ b/src/main/java/com/linkbreakers/model/PlanLimitKind.java @@ -0,0 +1,86 @@ +/* + * Linkbreakers API + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. + * + * The version of the OpenAPI document: 1.158.2 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.linkbreakers.model; + +import java.util.Objects; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.JsonElement; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * - PLAN_LIMIT_KIND_UNSPECIFIED: Not set - PLAN_LIMIT_KIND_TOTAL: A standing total that does not refill, such as connected domains - PLAN_LIMIT_KIND_MONTHLY: An allowance that refills every month - PLAN_LIMIT_KIND_PER_MINUTE: A rate that refills every minute - PLAN_LIMIT_KIND_UNLIMITED: No ceiling - PLAN_LIMIT_KIND_METERED: No ceiling; every unit is billed + */ +@JsonAdapter(PlanLimitKind.Adapter.class) +public enum PlanLimitKind { + + PLAN_LIMIT_KIND_UNSPECIFIED("PLAN_LIMIT_KIND_UNSPECIFIED"), + + PLAN_LIMIT_KIND_TOTAL("PLAN_LIMIT_KIND_TOTAL"), + + PLAN_LIMIT_KIND_MONTHLY("PLAN_LIMIT_KIND_MONTHLY"), + + PLAN_LIMIT_KIND_PER_MINUTE("PLAN_LIMIT_KIND_PER_MINUTE"), + + PLAN_LIMIT_KIND_UNLIMITED("PLAN_LIMIT_KIND_UNLIMITED"), + + PLAN_LIMIT_KIND_METERED("PLAN_LIMIT_KIND_METERED"); + + private String value; + + PlanLimitKind(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static PlanLimitKind fromValue(String value) { + for (PlanLimitKind b : PlanLimitKind.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final PlanLimitKind enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public PlanLimitKind read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return PlanLimitKind.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + PlanLimitKind.fromValue(value); + } +} + diff --git a/src/main/java/com/linkbreakers/model/PlanPrice.java b/src/main/java/com/linkbreakers/model/PlanPrice.java new file mode 100644 index 000000000..b00ff2129 --- /dev/null +++ b/src/main/java/com/linkbreakers/model/PlanPrice.java @@ -0,0 +1,303 @@ +/* + * Linkbreakers API + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. + * + * The version of the OpenAPI document: 1.158.2 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.linkbreakers.model; + +import java.util.Objects; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.linkbreakers.model.BillingInterval; +import com.linkbreakers.model.Money; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; +import com.google.gson.TypeAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import com.linkbreakers.JSON; + +/** + * PlanPrice + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.21.0") +public class PlanPrice { + public static final String SERIALIZED_NAME_AMOUNTS = "amounts"; + @SerializedName(SERIALIZED_NAME_AMOUNTS) + @javax.annotation.Nullable + private List amounts = new ArrayList<>(); + + public static final String SERIALIZED_NAME_INTERVAL = "interval"; + @SerializedName(SERIALIZED_NAME_INTERVAL) + @javax.annotation.Nullable + private BillingInterval interval; + + public static final String SERIALIZED_NAME_MONTHLY_EQUIVALENTS = "monthlyEquivalents"; + @SerializedName(SERIALIZED_NAME_MONTHLY_EQUIVALENTS) + @javax.annotation.Nullable + private List monthlyEquivalents = new ArrayList<>(); + + public PlanPrice() { + } + + public PlanPrice amounts(@javax.annotation.Nullable List amounts) { + this.amounts = amounts; + return this; + } + + public PlanPrice addAmountsItem(Money amountsItem) { + if (this.amounts == null) { + this.amounts = new ArrayList<>(); + } + this.amounts.add(amountsItem); + return this; + } + + /** + * Get amounts + * @return amounts + */ + @javax.annotation.Nullable + public List getAmounts() { + return amounts; + } + + public void setAmounts(@javax.annotation.Nullable List amounts) { + this.amounts = amounts; + } + + + public PlanPrice interval(@javax.annotation.Nullable BillingInterval interval) { + this.interval = interval; + return this; + } + + /** + * Get interval + * @return interval + */ + @javax.annotation.Nullable + public BillingInterval getInterval() { + return interval; + } + + public void setInterval(@javax.annotation.Nullable BillingInterval interval) { + this.interval = interval; + } + + + public PlanPrice monthlyEquivalents(@javax.annotation.Nullable List monthlyEquivalents) { + this.monthlyEquivalents = monthlyEquivalents; + return this; + } + + public PlanPrice addMonthlyEquivalentsItem(Money monthlyEquivalentsItem) { + if (this.monthlyEquivalents == null) { + this.monthlyEquivalents = new ArrayList<>(); + } + this.monthlyEquivalents.add(monthlyEquivalentsItem); + return this; + } + + /** + * The charge spread over one month, one entry per currency. Equals amounts for a monthly price. + * @return monthlyEquivalents + */ + @javax.annotation.Nullable + public List getMonthlyEquivalents() { + return monthlyEquivalents; + } + + public void setMonthlyEquivalents(@javax.annotation.Nullable List monthlyEquivalents) { + this.monthlyEquivalents = monthlyEquivalents; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PlanPrice planPrice = (PlanPrice) o; + return Objects.equals(this.amounts, planPrice.amounts) && + Objects.equals(this.interval, planPrice.interval) && + Objects.equals(this.monthlyEquivalents, planPrice.monthlyEquivalents); + } + + @Override + public int hashCode() { + return Objects.hash(amounts, interval, monthlyEquivalents); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PlanPrice {\n"); + sb.append(" amounts: ").append(toIndentedString(amounts)).append("\n"); + sb.append(" interval: ").append(toIndentedString(interval)).append("\n"); + sb.append(" monthlyEquivalents: ").append(toIndentedString(monthlyEquivalents)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + return o == null ? "null" : o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(Arrays.asList("amounts", "interval", "monthlyEquivalents")); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(0); + } + + /** + * Validates the JSON Element and throws an exception if issues found + * + * @param jsonElement JSON Element + * @throws IOException if the JSON Element is invalid with respect to PlanPrice + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!PlanPrice.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format(java.util.Locale.ROOT, "The required field(s) %s in PlanPrice is not found in the empty JSON string", PlanPrice.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!PlanPrice.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format(java.util.Locale.ROOT, "The field `%s` in the JSON string is not defined in the `PlanPrice` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + if (jsonObj.get("amounts") != null && !jsonObj.get("amounts").isJsonNull()) { + JsonArray jsonArrayamounts = jsonObj.getAsJsonArray("amounts"); + if (jsonArrayamounts != null) { + // ensure the json data is an array + if (!jsonObj.get("amounts").isJsonArray()) { + throw new IllegalArgumentException(String.format(java.util.Locale.ROOT, "Expected the field `amounts` to be an array in the JSON string but got `%s`", jsonObj.get("amounts").toString())); + } + + // validate the optional field `amounts` (array) + for (int i = 0; i < jsonArrayamounts.size(); i++) { + Money.validateJsonElement(jsonArrayamounts.get(i)); + }; + } + } + // validate the optional field `interval` + if (jsonObj.get("interval") != null && !jsonObj.get("interval").isJsonNull()) { + BillingInterval.validateJsonElement(jsonObj.get("interval")); + } + if (jsonObj.get("monthlyEquivalents") != null && !jsonObj.get("monthlyEquivalents").isJsonNull()) { + JsonArray jsonArraymonthlyEquivalents = jsonObj.getAsJsonArray("monthlyEquivalents"); + if (jsonArraymonthlyEquivalents != null) { + // ensure the json data is an array + if (!jsonObj.get("monthlyEquivalents").isJsonArray()) { + throw new IllegalArgumentException(String.format(java.util.Locale.ROOT, "Expected the field `monthlyEquivalents` to be an array in the JSON string but got `%s`", jsonObj.get("monthlyEquivalents").toString())); + } + + // validate the optional field `monthlyEquivalents` (array) + for (int i = 0; i < jsonArraymonthlyEquivalents.size(); i++) { + Money.validateJsonElement(jsonArraymonthlyEquivalents.get(i)); + }; + } + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!PlanPrice.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'PlanPrice' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(PlanPrice.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, PlanPrice value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public PlanPrice read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of PlanPrice given an JSON string + * + * @param jsonString JSON string + * @return An instance of PlanPrice + * @throws IOException if the JSON string is invalid with respect to PlanPrice + */ + public static PlanPrice fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, PlanPrice.class); + } + + /** + * Convert an instance of PlanPrice to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/src/main/java/com/linkbreakers/model/PlanTrial.java b/src/main/java/com/linkbreakers/model/PlanTrial.java new file mode 100644 index 000000000..b312c2d6d --- /dev/null +++ b/src/main/java/com/linkbreakers/model/PlanTrial.java @@ -0,0 +1,308 @@ +/* + * Linkbreakers API + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. + * + * The version of the OpenAPI document: 1.158.2 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.linkbreakers.model; + +import java.util.Objects; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.linkbreakers.model.PlanLimit; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; +import com.google.gson.TypeAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import com.linkbreakers.JSON; + +/** + * PlanTrial + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.21.0") +public class PlanTrial { + public static final String SERIALIZED_NAME_DAYS = "days"; + @SerializedName(SERIALIZED_NAME_DAYS) + @javax.annotation.Nullable + private Integer days; + + public static final String SERIALIZED_NAME_LIMITS = "limits"; + @SerializedName(SERIALIZED_NAME_LIMITS) + @javax.annotation.Nullable + private List limits = new ArrayList<>(); + + public static final String SERIALIZED_NAME_SIGNUP_OFFER = "signupOffer"; + @SerializedName(SERIALIZED_NAME_SIGNUP_OFFER) + @javax.annotation.Nullable + private String signupOffer; + + public static final String SERIALIZED_NAME_SIGNUP_URL = "signupUrl"; + @SerializedName(SERIALIZED_NAME_SIGNUP_URL) + @javax.annotation.Nullable + private String signupUrl; + + public PlanTrial() { + } + + public PlanTrial days(@javax.annotation.Nullable Integer days) { + this.days = days; + return this; + } + + /** + * Get days + * @return days + */ + @javax.annotation.Nullable + public Integer getDays() { + return days; + } + + public void setDays(@javax.annotation.Nullable Integer days) { + this.days = days; + } + + + public PlanTrial limits(@javax.annotation.Nullable List limits) { + this.limits = limits; + return this; + } + + public PlanTrial addLimitsItem(PlanLimit limitsItem) { + if (this.limits == null) { + this.limits = new ArrayList<>(); + } + this.limits.add(limitsItem); + return this; + } + + /** + * What a workspace on the trial is allowed. Mostly the plan's limits, with the exceptions enforcement makes. + * @return limits + */ + @javax.annotation.Nullable + public List getLimits() { + return limits; + } + + public void setLimits(@javax.annotation.Nullable List limits) { + this.limits = limits; + } + + + public PlanTrial signupOffer(@javax.annotation.Nullable String signupOffer) { + this.signupOffer = signupOffer; + return this; + } + + /** + * Get signupOffer + * @return signupOffer + */ + @javax.annotation.Nullable + public String getSignupOffer() { + return signupOffer; + } + + public void setSignupOffer(@javax.annotation.Nullable String signupOffer) { + this.signupOffer = signupOffer; + } + + + public PlanTrial signupUrl(@javax.annotation.Nullable String signupUrl) { + this.signupUrl = signupUrl; + return this; + } + + /** + * Get signupUrl + * @return signupUrl + */ + @javax.annotation.Nullable + public String getSignupUrl() { + return signupUrl; + } + + public void setSignupUrl(@javax.annotation.Nullable String signupUrl) { + this.signupUrl = signupUrl; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PlanTrial planTrial = (PlanTrial) o; + return Objects.equals(this.days, planTrial.days) && + Objects.equals(this.limits, planTrial.limits) && + Objects.equals(this.signupOffer, planTrial.signupOffer) && + Objects.equals(this.signupUrl, planTrial.signupUrl); + } + + @Override + public int hashCode() { + return Objects.hash(days, limits, signupOffer, signupUrl); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PlanTrial {\n"); + sb.append(" days: ").append(toIndentedString(days)).append("\n"); + sb.append(" limits: ").append(toIndentedString(limits)).append("\n"); + sb.append(" signupOffer: ").append(toIndentedString(signupOffer)).append("\n"); + sb.append(" signupUrl: ").append(toIndentedString(signupUrl)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + return o == null ? "null" : o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(Arrays.asList("days", "limits", "signupOffer", "signupUrl")); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(0); + } + + /** + * Validates the JSON Element and throws an exception if issues found + * + * @param jsonElement JSON Element + * @throws IOException if the JSON Element is invalid with respect to PlanTrial + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!PlanTrial.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format(java.util.Locale.ROOT, "The required field(s) %s in PlanTrial is not found in the empty JSON string", PlanTrial.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!PlanTrial.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format(java.util.Locale.ROOT, "The field `%s` in the JSON string is not defined in the `PlanTrial` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + if (jsonObj.get("limits") != null && !jsonObj.get("limits").isJsonNull()) { + JsonArray jsonArraylimits = jsonObj.getAsJsonArray("limits"); + if (jsonArraylimits != null) { + // ensure the json data is an array + if (!jsonObj.get("limits").isJsonArray()) { + throw new IllegalArgumentException(String.format(java.util.Locale.ROOT, "Expected the field `limits` to be an array in the JSON string but got `%s`", jsonObj.get("limits").toString())); + } + + // validate the optional field `limits` (array) + for (int i = 0; i < jsonArraylimits.size(); i++) { + PlanLimit.validateJsonElement(jsonArraylimits.get(i)); + }; + } + } + if ((jsonObj.get("signupOffer") != null && !jsonObj.get("signupOffer").isJsonNull()) && !jsonObj.get("signupOffer").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format(java.util.Locale.ROOT, "Expected the field `signupOffer` to be a primitive type in the JSON string but got `%s`", jsonObj.get("signupOffer").toString())); + } + if ((jsonObj.get("signupUrl") != null && !jsonObj.get("signupUrl").isJsonNull()) && !jsonObj.get("signupUrl").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format(java.util.Locale.ROOT, "Expected the field `signupUrl` to be a primitive type in the JSON string but got `%s`", jsonObj.get("signupUrl").toString())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!PlanTrial.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'PlanTrial' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(PlanTrial.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, PlanTrial value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public PlanTrial read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of PlanTrial given an JSON string + * + * @param jsonString JSON string + * @return An instance of PlanTrial + * @throws IOException if the JSON string is invalid with respect to PlanTrial + */ + public static PlanTrial fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, PlanTrial.class); + } + + /** + * Convert an instance of PlanTrial to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/src/main/java/com/linkbreakers/model/PreferredLinkType.java b/src/main/java/com/linkbreakers/model/PreferredLinkType.java index f75a3ed0a..d1a808e3a 100644 --- a/src/main/java/com/linkbreakers/model/PreferredLinkType.java +++ b/src/main/java/com/linkbreakers/model/PreferredLinkType.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/PricingPlan.java b/src/main/java/com/linkbreakers/model/PricingPlan.java new file mode 100644 index 000000000..e57fe431d --- /dev/null +++ b/src/main/java/com/linkbreakers/model/PricingPlan.java @@ -0,0 +1,492 @@ +/* + * Linkbreakers API + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. + * + * The version of the OpenAPI document: 1.158.2 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.linkbreakers.model; + +import java.util.Objects; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.linkbreakers.model.PlanFeature; +import com.linkbreakers.model.PlanLimit; +import com.linkbreakers.model.PlanPrice; +import com.linkbreakers.model.PlanTrial; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; +import com.google.gson.TypeAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import com.linkbreakers.JSON; + +/** + * One plan: what it costs and what it allows. + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.21.0") +public class PricingPlan { + public static final String SERIALIZED_NAME_CONTACT_URL = "contactUrl"; + @SerializedName(SERIALIZED_NAME_CONTACT_URL) + @javax.annotation.Nullable + private String contactUrl; + + public static final String SERIALIZED_NAME_FEATURES = "features"; + @SerializedName(SERIALIZED_NAME_FEATURES) + @javax.annotation.Nullable + private List features = new ArrayList<>(); + + /** + * - PRICING_PLAN_ID_UNSPECIFIED: Not set - PRICING_PLAN_ID_FREE: Free plan, no payment - PRICING_PLAN_ID_LIGHT: Light plan - PRICING_PLAN_ID_PRO: Pro plan. Trials and sponsored workspaces are allowed what Pro allows unless a limit says otherwise. - PRICING_PLAN_ID_ENTERPRISE: Enterprise plan, billed on usage and priced on request through sales + */ + @JsonAdapter(IdEnum.Adapter.class) + public enum IdEnum { + PRICING_PLAN_ID_UNSPECIFIED("PRICING_PLAN_ID_UNSPECIFIED"), + + PRICING_PLAN_ID_FREE("PRICING_PLAN_ID_FREE"), + + PRICING_PLAN_ID_LIGHT("PRICING_PLAN_ID_LIGHT"), + + PRICING_PLAN_ID_PRO("PRICING_PLAN_ID_PRO"), + + PRICING_PLAN_ID_ENTERPRISE("PRICING_PLAN_ID_ENTERPRISE"); + + private String value; + + IdEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static IdEnum fromValue(String value) { + for (IdEnum b : IdEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final IdEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public IdEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return IdEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + IdEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @javax.annotation.Nullable + private IdEnum id; + + public static final String SERIALIZED_NAME_LIMITS = "limits"; + @SerializedName(SERIALIZED_NAME_LIMITS) + @javax.annotation.Nullable + private List limits = new ArrayList<>(); + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + @javax.annotation.Nullable + private String name; + + public static final String SERIALIZED_NAME_PRICES = "prices"; + @SerializedName(SERIALIZED_NAME_PRICES) + @javax.annotation.Nullable + private List prices = new ArrayList<>(); + + public static final String SERIALIZED_NAME_TRIAL = "trial"; + @SerializedName(SERIALIZED_NAME_TRIAL) + @javax.annotation.Nullable + private PlanTrial trial; + + public PricingPlan() { + } + + public PricingPlan contactUrl(@javax.annotation.Nullable String contactUrl) { + this.contactUrl = contactUrl; + return this; + } + + /** + * Where to ask for this plan's price. Set only for a plan priced on request, such as Enterprise, which is billed on the platform credits it uses at a rate agreed with sales. + * @return contactUrl + */ + @javax.annotation.Nullable + public String getContactUrl() { + return contactUrl; + } + + public void setContactUrl(@javax.annotation.Nullable String contactUrl) { + this.contactUrl = contactUrl; + } + + + public PricingPlan features(@javax.annotation.Nullable List features) { + this.features = features; + return this; + } + + public PricingPlan addFeaturesItem(PlanFeature featuresItem) { + if (this.features == null) { + this.features = new ArrayList<>(); + } + this.features.add(featuresItem); + return this; + } + + /** + * Get features + * @return features + */ + @javax.annotation.Nullable + public List getFeatures() { + return features; + } + + public void setFeatures(@javax.annotation.Nullable List features) { + this.features = features; + } + + + public PricingPlan id(@javax.annotation.Nullable IdEnum id) { + this.id = id; + return this; + } + + /** + * - PRICING_PLAN_ID_UNSPECIFIED: Not set - PRICING_PLAN_ID_FREE: Free plan, no payment - PRICING_PLAN_ID_LIGHT: Light plan - PRICING_PLAN_ID_PRO: Pro plan. Trials and sponsored workspaces are allowed what Pro allows unless a limit says otherwise. - PRICING_PLAN_ID_ENTERPRISE: Enterprise plan, billed on usage and priced on request through sales + * @return id + */ + @javax.annotation.Nullable + public IdEnum getId() { + return id; + } + + public void setId(@javax.annotation.Nullable IdEnum id) { + this.id = id; + } + + + public PricingPlan limits(@javax.annotation.Nullable List limits) { + this.limits = limits; + return this; + } + + public PricingPlan addLimitsItem(PlanLimit limitsItem) { + if (this.limits == null) { + this.limits = new ArrayList<>(); + } + this.limits.add(limitsItem); + return this; + } + + /** + * Get limits + * @return limits + */ + @javax.annotation.Nullable + public List getLimits() { + return limits; + } + + public void setLimits(@javax.annotation.Nullable List limits) { + this.limits = limits; + } + + + public PricingPlan name(@javax.annotation.Nullable String name) { + this.name = name; + return this; + } + + /** + * Get name + * @return name + */ + @javax.annotation.Nullable + public String getName() { + return name; + } + + public void setName(@javax.annotation.Nullable String name) { + this.name = name; + } + + + public PricingPlan prices(@javax.annotation.Nullable List prices) { + this.prices = prices; + return this; + } + + public PricingPlan addPricesItem(PlanPrice pricesItem) { + if (this.prices == null) { + this.prices = new ArrayList<>(); + } + this.prices.add(pricesItem); + return this; + } + + /** + * Recurring prices. Empty for the free plan and for Enterprise, which is priced on request. Also empty for a paid plan whose prices could not be read: treat that as unknown, not free. + * @return prices + */ + @javax.annotation.Nullable + public List getPrices() { + return prices; + } + + public void setPrices(@javax.annotation.Nullable List prices) { + this.prices = prices; + } + + + public PricingPlan trial(@javax.annotation.Nullable PlanTrial trial) { + this.trial = trial; + return this; + } + + /** + * Self-serve free trial of this plan. Absent when the plan has none. + * @return trial + */ + @javax.annotation.Nullable + public PlanTrial getTrial() { + return trial; + } + + public void setTrial(@javax.annotation.Nullable PlanTrial trial) { + this.trial = trial; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PricingPlan pricingPlan = (PricingPlan) o; + return Objects.equals(this.contactUrl, pricingPlan.contactUrl) && + Objects.equals(this.features, pricingPlan.features) && + Objects.equals(this.id, pricingPlan.id) && + Objects.equals(this.limits, pricingPlan.limits) && + Objects.equals(this.name, pricingPlan.name) && + Objects.equals(this.prices, pricingPlan.prices) && + Objects.equals(this.trial, pricingPlan.trial); + } + + @Override + public int hashCode() { + return Objects.hash(contactUrl, features, id, limits, name, prices, trial); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PricingPlan {\n"); + sb.append(" contactUrl: ").append(toIndentedString(contactUrl)).append("\n"); + sb.append(" features: ").append(toIndentedString(features)).append("\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" limits: ").append(toIndentedString(limits)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" prices: ").append(toIndentedString(prices)).append("\n"); + sb.append(" trial: ").append(toIndentedString(trial)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + return o == null ? "null" : o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(Arrays.asList("contactUrl", "features", "id", "limits", "name", "prices", "trial")); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(0); + } + + /** + * Validates the JSON Element and throws an exception if issues found + * + * @param jsonElement JSON Element + * @throws IOException if the JSON Element is invalid with respect to PricingPlan + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!PricingPlan.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format(java.util.Locale.ROOT, "The required field(s) %s in PricingPlan is not found in the empty JSON string", PricingPlan.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!PricingPlan.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format(java.util.Locale.ROOT, "The field `%s` in the JSON string is not defined in the `PricingPlan` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("contactUrl") != null && !jsonObj.get("contactUrl").isJsonNull()) && !jsonObj.get("contactUrl").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format(java.util.Locale.ROOT, "Expected the field `contactUrl` to be a primitive type in the JSON string but got `%s`", jsonObj.get("contactUrl").toString())); + } + // ensure the optional json data is an array if present + if (jsonObj.get("features") != null && !jsonObj.get("features").isJsonNull() && !jsonObj.get("features").isJsonArray()) { + throw new IllegalArgumentException(String.format(java.util.Locale.ROOT, "Expected the field `features` to be an array in the JSON string but got `%s`", jsonObj.get("features").toString())); + } + if ((jsonObj.get("id") != null && !jsonObj.get("id").isJsonNull()) && !jsonObj.get("id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format(java.util.Locale.ROOT, "Expected the field `id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("id").toString())); + } + // validate the optional field `id` + if (jsonObj.get("id") != null && !jsonObj.get("id").isJsonNull()) { + IdEnum.validateJsonElement(jsonObj.get("id")); + } + if (jsonObj.get("limits") != null && !jsonObj.get("limits").isJsonNull()) { + JsonArray jsonArraylimits = jsonObj.getAsJsonArray("limits"); + if (jsonArraylimits != null) { + // ensure the json data is an array + if (!jsonObj.get("limits").isJsonArray()) { + throw new IllegalArgumentException(String.format(java.util.Locale.ROOT, "Expected the field `limits` to be an array in the JSON string but got `%s`", jsonObj.get("limits").toString())); + } + + // validate the optional field `limits` (array) + for (int i = 0; i < jsonArraylimits.size(); i++) { + PlanLimit.validateJsonElement(jsonArraylimits.get(i)); + }; + } + } + if ((jsonObj.get("name") != null && !jsonObj.get("name").isJsonNull()) && !jsonObj.get("name").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format(java.util.Locale.ROOT, "Expected the field `name` to be a primitive type in the JSON string but got `%s`", jsonObj.get("name").toString())); + } + if (jsonObj.get("prices") != null && !jsonObj.get("prices").isJsonNull()) { + JsonArray jsonArrayprices = jsonObj.getAsJsonArray("prices"); + if (jsonArrayprices != null) { + // ensure the json data is an array + if (!jsonObj.get("prices").isJsonArray()) { + throw new IllegalArgumentException(String.format(java.util.Locale.ROOT, "Expected the field `prices` to be an array in the JSON string but got `%s`", jsonObj.get("prices").toString())); + } + + // validate the optional field `prices` (array) + for (int i = 0; i < jsonArrayprices.size(); i++) { + PlanPrice.validateJsonElement(jsonArrayprices.get(i)); + }; + } + } + // validate the optional field `trial` + if (jsonObj.get("trial") != null && !jsonObj.get("trial").isJsonNull()) { + PlanTrial.validateJsonElement(jsonObj.get("trial")); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!PricingPlan.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'PricingPlan' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(PricingPlan.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, PricingPlan value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public PricingPlan read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of PricingPlan given an JSON string + * + * @param jsonString JSON string + * @return An instance of PricingPlan + * @throws IOException if the JSON string is invalid with respect to PricingPlan + */ + public static PricingPlan fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, PricingPlan.class); + } + + /** + * Convert an instance of PricingPlan to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/src/main/java/com/linkbreakers/model/PricingPlanId.java b/src/main/java/com/linkbreakers/model/PricingPlanId.java new file mode 100644 index 000000000..a56c8672b --- /dev/null +++ b/src/main/java/com/linkbreakers/model/PricingPlanId.java @@ -0,0 +1,84 @@ +/* + * Linkbreakers API + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. + * + * The version of the OpenAPI document: 1.158.2 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.linkbreakers.model; + +import java.util.Objects; +import com.google.gson.annotations.SerializedName; + +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.JsonElement; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +/** + * - PRICING_PLAN_ID_UNSPECIFIED: Not set - PRICING_PLAN_ID_FREE: Free plan, no payment - PRICING_PLAN_ID_LIGHT: Light plan - PRICING_PLAN_ID_PRO: Pro plan. Trials and sponsored workspaces are allowed what Pro allows unless a limit says otherwise. - PRICING_PLAN_ID_ENTERPRISE: Enterprise plan, billed on usage and priced on request through sales + */ +@JsonAdapter(PricingPlanId.Adapter.class) +public enum PricingPlanId { + + PRICING_PLAN_ID_UNSPECIFIED("PRICING_PLAN_ID_UNSPECIFIED"), + + PRICING_PLAN_ID_FREE("PRICING_PLAN_ID_FREE"), + + PRICING_PLAN_ID_LIGHT("PRICING_PLAN_ID_LIGHT"), + + PRICING_PLAN_ID_PRO("PRICING_PLAN_ID_PRO"), + + PRICING_PLAN_ID_ENTERPRISE("PRICING_PLAN_ID_ENTERPRISE"); + + private String value; + + PricingPlanId(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static PricingPlanId fromValue(String value) { + for (PricingPlanId b : PricingPlanId.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final PricingPlanId enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public PricingPlanId read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return PricingPlanId.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + PricingPlanId.fromValue(value); + } +} + diff --git a/src/main/java/com/linkbreakers/model/ProtobufAny.java b/src/main/java/com/linkbreakers/model/ProtobufAny.java index 197710ff0..e35cba3de 100644 --- a/src/main/java/com/linkbreakers/model/ProtobufAny.java +++ b/src/main/java/com/linkbreakers/model/ProtobufAny.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/ProtobufNullValue.java b/src/main/java/com/linkbreakers/model/ProtobufNullValue.java index 4a36bb056..d6d12129c 100644 --- a/src/main/java/com/linkbreakers/model/ProtobufNullValue.java +++ b/src/main/java/com/linkbreakers/model/ProtobufNullValue.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/PublicCreateQrcodeDesignRequest.java b/src/main/java/com/linkbreakers/model/PublicCreateQrcodeDesignRequest.java index d1fed112a..dd8518cfb 100644 --- a/src/main/java/com/linkbreakers/model/PublicCreateQrcodeDesignRequest.java +++ b/src/main/java/com/linkbreakers/model/PublicCreateQrcodeDesignRequest.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/PublicCreateQrcodeDesignResponse.java b/src/main/java/com/linkbreakers/model/PublicCreateQrcodeDesignResponse.java index 2b7e5d5a1..fa0ce6c55 100644 --- a/src/main/java/com/linkbreakers/model/PublicCreateQrcodeDesignResponse.java +++ b/src/main/java/com/linkbreakers/model/PublicCreateQrcodeDesignResponse.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/PublicListPageThemeTemplatesResponse.java b/src/main/java/com/linkbreakers/model/PublicListPageThemeTemplatesResponse.java index 2e6ae4fc0..0e8ec1a99 100644 --- a/src/main/java/com/linkbreakers/model/PublicListPageThemeTemplatesResponse.java +++ b/src/main/java/com/linkbreakers/model/PublicListPageThemeTemplatesResponse.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/PublicListQrcodeTemplatesResponse.java b/src/main/java/com/linkbreakers/model/PublicListQrcodeTemplatesResponse.java index 811f7962f..f64ec4cfe 100644 --- a/src/main/java/com/linkbreakers/model/PublicListQrcodeTemplatesResponse.java +++ b/src/main/java/com/linkbreakers/model/PublicListQrcodeTemplatesResponse.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/PublicPageThemeTemplate.java b/src/main/java/com/linkbreakers/model/PublicPageThemeTemplate.java index 8ae8c9d36..563af5ec1 100644 --- a/src/main/java/com/linkbreakers/model/PublicPageThemeTemplate.java +++ b/src/main/java/com/linkbreakers/model/PublicPageThemeTemplate.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/PublicQrcodeTemplate.java b/src/main/java/com/linkbreakers/model/PublicQrcodeTemplate.java index 91169db94..b206d388f 100644 --- a/src/main/java/com/linkbreakers/model/PublicQrcodeTemplate.java +++ b/src/main/java/com/linkbreakers/model/PublicQrcodeTemplate.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/PublicWorkspace.java b/src/main/java/com/linkbreakers/model/PublicWorkspace.java index 7896a03e4..890713bb8 100644 --- a/src/main/java/com/linkbreakers/model/PublicWorkspace.java +++ b/src/main/java/com/linkbreakers/model/PublicWorkspace.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/PublishPageThemeTemplateResponse.java b/src/main/java/com/linkbreakers/model/PublishPageThemeTemplateResponse.java index c9aa8ba14..8d8f935ce 100644 --- a/src/main/java/com/linkbreakers/model/PublishPageThemeTemplateResponse.java +++ b/src/main/java/com/linkbreakers/model/PublishPageThemeTemplateResponse.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/PublishQrcodeTemplateResponse.java b/src/main/java/com/linkbreakers/model/PublishQrcodeTemplateResponse.java index 16e08f7d9..095ae8707 100644 --- a/src/main/java/com/linkbreakers/model/PublishQrcodeTemplateResponse.java +++ b/src/main/java/com/linkbreakers/model/PublishQrcodeTemplateResponse.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/QrcodeDesign.java b/src/main/java/com/linkbreakers/model/QrcodeDesign.java index d5033dd62..8974a76f7 100644 --- a/src/main/java/com/linkbreakers/model/QrcodeDesign.java +++ b/src/main/java/com/linkbreakers/model/QrcodeDesign.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/QrcodeDesignServiceUpdateBody.java b/src/main/java/com/linkbreakers/model/QrcodeDesignServiceUpdateBody.java index 55b856e5a..242237dc5 100644 --- a/src/main/java/com/linkbreakers/model/QrcodeDesignServiceUpdateBody.java +++ b/src/main/java/com/linkbreakers/model/QrcodeDesignServiceUpdateBody.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/QrcodeTemplate.java b/src/main/java/com/linkbreakers/model/QrcodeTemplate.java index 94fe22668..f1bf0fa7f 100644 --- a/src/main/java/com/linkbreakers/model/QrcodeTemplate.java +++ b/src/main/java/com/linkbreakers/model/QrcodeTemplate.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/QrcodeTemplateScope.java b/src/main/java/com/linkbreakers/model/QrcodeTemplateScope.java index 1907ec68a..54998edc6 100644 --- a/src/main/java/com/linkbreakers/model/QrcodeTemplateScope.java +++ b/src/main/java/com/linkbreakers/model/QrcodeTemplateScope.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/QrcodeTemplatesServiceUpdateQrcodeTemplateBody.java b/src/main/java/com/linkbreakers/model/QrcodeTemplatesServiceUpdateQrcodeTemplateBody.java index 9f9f5ae91..fb39eb411 100644 --- a/src/main/java/com/linkbreakers/model/QrcodeTemplatesServiceUpdateQrcodeTemplateBody.java +++ b/src/main/java/com/linkbreakers/model/QrcodeTemplatesServiceUpdateQrcodeTemplateBody.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/RedirectTraceData.java b/src/main/java/com/linkbreakers/model/RedirectTraceData.java index 23d64943b..08e5aaf89 100644 --- a/src/main/java/com/linkbreakers/model/RedirectTraceData.java +++ b/src/main/java/com/linkbreakers/model/RedirectTraceData.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/RequestWorkspaceEnrollmentRequest.java b/src/main/java/com/linkbreakers/model/RequestWorkspaceEnrollmentRequest.java index ded793d41..43b1858b5 100644 --- a/src/main/java/com/linkbreakers/model/RequestWorkspaceEnrollmentRequest.java +++ b/src/main/java/com/linkbreakers/model/RequestWorkspaceEnrollmentRequest.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/ResolvePageThemeTemplateImagesRequest.java b/src/main/java/com/linkbreakers/model/ResolvePageThemeTemplateImagesRequest.java index 89d4e5c74..9e8403936 100644 --- a/src/main/java/com/linkbreakers/model/ResolvePageThemeTemplateImagesRequest.java +++ b/src/main/java/com/linkbreakers/model/ResolvePageThemeTemplateImagesRequest.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/ResolvePageThemeTemplateImagesResponse.java b/src/main/java/com/linkbreakers/model/ResolvePageThemeTemplateImagesResponse.java index c9f98b344..1c83f0849 100644 --- a/src/main/java/com/linkbreakers/model/ResolvePageThemeTemplateImagesResponse.java +++ b/src/main/java/com/linkbreakers/model/ResolvePageThemeTemplateImagesResponse.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/ResolveQrcodeImagesRequest.java b/src/main/java/com/linkbreakers/model/ResolveQrcodeImagesRequest.java index 120a81b73..6d6d66a7e 100644 --- a/src/main/java/com/linkbreakers/model/ResolveQrcodeImagesRequest.java +++ b/src/main/java/com/linkbreakers/model/ResolveQrcodeImagesRequest.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/ResolveQrcodeImagesResponse.java b/src/main/java/com/linkbreakers/model/ResolveQrcodeImagesResponse.java index 50cd13287..0446fd4a3 100644 --- a/src/main/java/com/linkbreakers/model/ResolveQrcodeImagesResponse.java +++ b/src/main/java/com/linkbreakers/model/ResolveQrcodeImagesResponse.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/ResolveQrcodeTemplateImagesRequest.java b/src/main/java/com/linkbreakers/model/ResolveQrcodeTemplateImagesRequest.java index 6931357c6..198e9ae98 100644 --- a/src/main/java/com/linkbreakers/model/ResolveQrcodeTemplateImagesRequest.java +++ b/src/main/java/com/linkbreakers/model/ResolveQrcodeTemplateImagesRequest.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/ResolveQrcodeTemplateImagesResponse.java b/src/main/java/com/linkbreakers/model/ResolveQrcodeTemplateImagesResponse.java index 3fc1ba764..3e6e102b3 100644 --- a/src/main/java/com/linkbreakers/model/ResolveQrcodeTemplateImagesResponse.java +++ b/src/main/java/com/linkbreakers/model/ResolveQrcodeTemplateImagesResponse.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/ResolveStepCollisionsResponse.java b/src/main/java/com/linkbreakers/model/ResolveStepCollisionsResponse.java index 3d106d452..f3439bb92 100644 --- a/src/main/java/com/linkbreakers/model/ResolveStepCollisionsResponse.java +++ b/src/main/java/com/linkbreakers/model/ResolveStepCollisionsResponse.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/ResponseFormat.java b/src/main/java/com/linkbreakers/model/ResponseFormat.java index 85fc80aeb..7c128bf16 100644 --- a/src/main/java/com/linkbreakers/model/ResponseFormat.java +++ b/src/main/java/com/linkbreakers/model/ResponseFormat.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/Role.java b/src/main/java/com/linkbreakers/model/Role.java index 1964a98b4..283ead83d 100644 --- a/src/main/java/com/linkbreakers/model/Role.java +++ b/src/main/java/com/linkbreakers/model/Role.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/Sandbox.java b/src/main/java/com/linkbreakers/model/Sandbox.java new file mode 100644 index 000000000..5c63e4de6 --- /dev/null +++ b/src/main/java/com/linkbreakers/model/Sandbox.java @@ -0,0 +1,277 @@ +/* + * Linkbreakers API + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. + * + * The version of the OpenAPI document: 1.158.2 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.linkbreakers.model; + +import java.util.Objects; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.time.OffsetDateTime; +import java.util.Arrays; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; +import com.google.gson.TypeAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import com.linkbreakers.JSON; + +/** + * A sandbox workspace for testing, empty when created, reachable only through its own lb_test_ API tokens, and purged at expires_at. + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.21.0") +public class Sandbox { + public static final String SERIALIZED_NAME_CREATED_AT = "createdAt"; + @SerializedName(SERIALIZED_NAME_CREATED_AT) + @javax.annotation.Nullable + private OffsetDateTime createdAt; + + public static final String SERIALIZED_NAME_EXPIRES_AT = "expiresAt"; + @SerializedName(SERIALIZED_NAME_EXPIRES_AT) + @javax.annotation.Nullable + private OffsetDateTime expiresAt; + + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @javax.annotation.Nullable + private String id; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + @javax.annotation.Nullable + private String name; + + public Sandbox() { + } + + public Sandbox( + OffsetDateTime createdAt, + OffsetDateTime expiresAt + ) { + this(); + this.createdAt = createdAt; + this.expiresAt = expiresAt; + } + + /** + * Get createdAt + * @return createdAt + */ + @javax.annotation.Nullable + public OffsetDateTime getCreatedAt() { + return createdAt; + } + + + + /** + * When the sandbox and everything in it is deleted. + * @return expiresAt + */ + @javax.annotation.Nullable + public OffsetDateTime getExpiresAt() { + return expiresAt; + } + + + + public Sandbox id(@javax.annotation.Nullable String id) { + this.id = id; + return this; + } + + /** + * The sandbox workspace id (UUID). Its tokens act on this workspace. + * @return id + */ + @javax.annotation.Nullable + public String getId() { + return id; + } + + public void setId(@javax.annotation.Nullable String id) { + this.id = id; + } + + + public Sandbox name(@javax.annotation.Nullable String name) { + this.name = name; + return this; + } + + /** + * Get name + * @return name + */ + @javax.annotation.Nullable + public String getName() { + return name; + } + + public void setName(@javax.annotation.Nullable String name) { + this.name = name; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Sandbox sandbox = (Sandbox) o; + return Objects.equals(this.createdAt, sandbox.createdAt) && + Objects.equals(this.expiresAt, sandbox.expiresAt) && + Objects.equals(this.id, sandbox.id) && + Objects.equals(this.name, sandbox.name); + } + + @Override + public int hashCode() { + return Objects.hash(createdAt, expiresAt, id, name); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class Sandbox {\n"); + sb.append(" createdAt: ").append(toIndentedString(createdAt)).append("\n"); + sb.append(" expiresAt: ").append(toIndentedString(expiresAt)).append("\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + return o == null ? "null" : o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(Arrays.asList("createdAt", "expiresAt", "id", "name")); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(0); + } + + /** + * Validates the JSON Element and throws an exception if issues found + * + * @param jsonElement JSON Element + * @throws IOException if the JSON Element is invalid with respect to Sandbox + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!Sandbox.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format(java.util.Locale.ROOT, "The required field(s) %s in Sandbox is not found in the empty JSON string", Sandbox.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!Sandbox.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format(java.util.Locale.ROOT, "The field `%s` in the JSON string is not defined in the `Sandbox` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("id") != null && !jsonObj.get("id").isJsonNull()) && !jsonObj.get("id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format(java.util.Locale.ROOT, "Expected the field `id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("id").toString())); + } + if ((jsonObj.get("name") != null && !jsonObj.get("name").isJsonNull()) && !jsonObj.get("name").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format(java.util.Locale.ROOT, "Expected the field `name` to be a primitive type in the JSON string but got `%s`", jsonObj.get("name").toString())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!Sandbox.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'Sandbox' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(Sandbox.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, Sandbox value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public Sandbox read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of Sandbox given an JSON string + * + * @param jsonString JSON string + * @return An instance of Sandbox + * @throws IOException if the JSON string is invalid with respect to Sandbox + */ + public static Sandbox fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, Sandbox.class); + } + + /** + * Convert an instance of Sandbox to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/src/main/java/com/linkbreakers/model/SettingsServiceUpdateLinkSettingBody.java b/src/main/java/com/linkbreakers/model/SettingsServiceUpdateLinkSettingBody.java index 34b899ae0..90d185404 100644 --- a/src/main/java/com/linkbreakers/model/SettingsServiceUpdateLinkSettingBody.java +++ b/src/main/java/com/linkbreakers/model/SettingsServiceUpdateLinkSettingBody.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/Shape.java b/src/main/java/com/linkbreakers/model/Shape.java index 69ff8ff8d..0d259ed72 100644 --- a/src/main/java/com/linkbreakers/model/Shape.java +++ b/src/main/java/com/linkbreakers/model/Shape.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/ShortlinkAvailabilityResponse.java b/src/main/java/com/linkbreakers/model/ShortlinkAvailabilityResponse.java index 99de6e15e..a0c1a9b95 100644 --- a/src/main/java/com/linkbreakers/model/ShortlinkAvailabilityResponse.java +++ b/src/main/java/com/linkbreakers/model/ShortlinkAvailabilityResponse.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/ShortlinkRandomResponse.java b/src/main/java/com/linkbreakers/model/ShortlinkRandomResponse.java index ee9bbbe04..5be2ddf58 100644 --- a/src/main/java/com/linkbreakers/model/ShortlinkRandomResponse.java +++ b/src/main/java/com/linkbreakers/model/ShortlinkRandomResponse.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/SlackChannel.java b/src/main/java/com/linkbreakers/model/SlackChannel.java index f0eeb8c74..f0eef0f6f 100644 --- a/src/main/java/com/linkbreakers/model/SlackChannel.java +++ b/src/main/java/com/linkbreakers/model/SlackChannel.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/SlackIntegration.java b/src/main/java/com/linkbreakers/model/SlackIntegration.java index eed9a367d..3482f131d 100644 --- a/src/main/java/com/linkbreakers/model/SlackIntegration.java +++ b/src/main/java/com/linkbreakers/model/SlackIntegration.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/SlackIntegrationStatus.java b/src/main/java/com/linkbreakers/model/SlackIntegrationStatus.java index e4f4fea7f..3494bf83d 100644 --- a/src/main/java/com/linkbreakers/model/SlackIntegrationStatus.java +++ b/src/main/java/com/linkbreakers/model/SlackIntegrationStatus.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/SocialLinkButton.java b/src/main/java/com/linkbreakers/model/SocialLinkButton.java index cd4a4a8ac..0048c7478 100644 --- a/src/main/java/com/linkbreakers/model/SocialLinkButton.java +++ b/src/main/java/com/linkbreakers/model/SocialLinkButton.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/SocialLinkTraceButton.java b/src/main/java/com/linkbreakers/model/SocialLinkTraceButton.java index d9bd4ad2f..4da776266 100644 --- a/src/main/java/com/linkbreakers/model/SocialLinkTraceButton.java +++ b/src/main/java/com/linkbreakers/model/SocialLinkTraceButton.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/SocialLinksDisplayStyle.java b/src/main/java/com/linkbreakers/model/SocialLinksDisplayStyle.java index 9047c26c8..6f7d126d4 100644 --- a/src/main/java/com/linkbreakers/model/SocialLinksDisplayStyle.java +++ b/src/main/java/com/linkbreakers/model/SocialLinksDisplayStyle.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/SocialLinksPayload.java b/src/main/java/com/linkbreakers/model/SocialLinksPayload.java index 45bbdfda0..98e444587 100644 --- a/src/main/java/com/linkbreakers/model/SocialLinksPayload.java +++ b/src/main/java/com/linkbreakers/model/SocialLinksPayload.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/SocialLinksTraceData.java b/src/main/java/com/linkbreakers/model/SocialLinksTraceData.java index 56f15b6cd..f2c8c980f 100644 --- a/src/main/java/com/linkbreakers/model/SocialLinksTraceData.java +++ b/src/main/java/com/linkbreakers/model/SocialLinksTraceData.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/SocketAssistantErrorMessage.java b/src/main/java/com/linkbreakers/model/SocketAssistantErrorMessage.java index 8473e82c8..90caef91d 100644 --- a/src/main/java/com/linkbreakers/model/SocketAssistantErrorMessage.java +++ b/src/main/java/com/linkbreakers/model/SocketAssistantErrorMessage.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/SocketAssistantProgressMessage.java b/src/main/java/com/linkbreakers/model/SocketAssistantProgressMessage.java index 74afe8882..f6cd2513b 100644 --- a/src/main/java/com/linkbreakers/model/SocketAssistantProgressMessage.java +++ b/src/main/java/com/linkbreakers/model/SocketAssistantProgressMessage.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/SocketAssistantResponseMessage.java b/src/main/java/com/linkbreakers/model/SocketAssistantResponseMessage.java index 4c435aba7..91fef0578 100644 --- a/src/main/java/com/linkbreakers/model/SocketAssistantResponseMessage.java +++ b/src/main/java/com/linkbreakers/model/SocketAssistantResponseMessage.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/SocketAssistantSendRequest.java b/src/main/java/com/linkbreakers/model/SocketAssistantSendRequest.java index e0dacdaac..5e9bd6917 100644 --- a/src/main/java/com/linkbreakers/model/SocketAssistantSendRequest.java +++ b/src/main/java/com/linkbreakers/model/SocketAssistantSendRequest.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/SocketConnectedMessage.java b/src/main/java/com/linkbreakers/model/SocketConnectedMessage.java index 74eddaaab..c8f9cb6f4 100644 --- a/src/main/java/com/linkbreakers/model/SocketConnectedMessage.java +++ b/src/main/java/com/linkbreakers/model/SocketConnectedMessage.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/SocketContract.java b/src/main/java/com/linkbreakers/model/SocketContract.java index 9978b5067..15c9c1f00 100644 --- a/src/main/java/com/linkbreakers/model/SocketContract.java +++ b/src/main/java/com/linkbreakers/model/SocketContract.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/SocketErrorCode.java b/src/main/java/com/linkbreakers/model/SocketErrorCode.java index a90628761..80bd7f3f3 100644 --- a/src/main/java/com/linkbreakers/model/SocketErrorCode.java +++ b/src/main/java/com/linkbreakers/model/SocketErrorCode.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/SocketEventMessage.java b/src/main/java/com/linkbreakers/model/SocketEventMessage.java index f1da93ab7..98bf6071e 100644 --- a/src/main/java/com/linkbreakers/model/SocketEventMessage.java +++ b/src/main/java/com/linkbreakers/model/SocketEventMessage.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/SocketMessageType.java b/src/main/java/com/linkbreakers/model/SocketMessageType.java index 8371d55c9..df82f0e73 100644 --- a/src/main/java/com/linkbreakers/model/SocketMessageType.java +++ b/src/main/java/com/linkbreakers/model/SocketMessageType.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/SocketPingRequest.java b/src/main/java/com/linkbreakers/model/SocketPingRequest.java index f31a461e1..2f0fc972e 100644 --- a/src/main/java/com/linkbreakers/model/SocketPingRequest.java +++ b/src/main/java/com/linkbreakers/model/SocketPingRequest.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/SocketPongMessage.java b/src/main/java/com/linkbreakers/model/SocketPongMessage.java index 54347b8f5..ee79c5301 100644 --- a/src/main/java/com/linkbreakers/model/SocketPongMessage.java +++ b/src/main/java/com/linkbreakers/model/SocketPongMessage.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/SocketSubscribeDeniedMessage.java b/src/main/java/com/linkbreakers/model/SocketSubscribeDeniedMessage.java index 747a5dbd5..9baeff1a8 100644 --- a/src/main/java/com/linkbreakers/model/SocketSubscribeDeniedMessage.java +++ b/src/main/java/com/linkbreakers/model/SocketSubscribeDeniedMessage.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/SocketSubscribeRequest.java b/src/main/java/com/linkbreakers/model/SocketSubscribeRequest.java index 8718ef464..c54b2e9fa 100644 --- a/src/main/java/com/linkbreakers/model/SocketSubscribeRequest.java +++ b/src/main/java/com/linkbreakers/model/SocketSubscribeRequest.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/SocketSubscribedMessage.java b/src/main/java/com/linkbreakers/model/SocketSubscribedMessage.java index 785c3d0db..1c9a8fe19 100644 --- a/src/main/java/com/linkbreakers/model/SocketSubscribedMessage.java +++ b/src/main/java/com/linkbreakers/model/SocketSubscribedMessage.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/SocketUnsubscribeRequest.java b/src/main/java/com/linkbreakers/model/SocketUnsubscribeRequest.java index 7058f0858..b670124f6 100644 --- a/src/main/java/com/linkbreakers/model/SocketUnsubscribeRequest.java +++ b/src/main/java/com/linkbreakers/model/SocketUnsubscribeRequest.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/SortDirection.java b/src/main/java/com/linkbreakers/model/SortDirection.java index 23848e5a1..b55b42311 100644 --- a/src/main/java/com/linkbreakers/model/SortDirection.java +++ b/src/main/java/com/linkbreakers/model/SortDirection.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/SpecificDateConditionPayload.java b/src/main/java/com/linkbreakers/model/SpecificDateConditionPayload.java index 13eda39ab..9d8839982 100644 --- a/src/main/java/com/linkbreakers/model/SpecificDateConditionPayload.java +++ b/src/main/java/com/linkbreakers/model/SpecificDateConditionPayload.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/SpecificDateConditionTraceData.java b/src/main/java/com/linkbreakers/model/SpecificDateConditionTraceData.java index b443d41d9..5f4ae6714 100644 --- a/src/main/java/com/linkbreakers/model/SpecificDateConditionTraceData.java +++ b/src/main/java/com/linkbreakers/model/SpecificDateConditionTraceData.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/SpecificDateConditionTraceOption.java b/src/main/java/com/linkbreakers/model/SpecificDateConditionTraceOption.java index ed9602129..49aee1516 100644 --- a/src/main/java/com/linkbreakers/model/SpecificDateConditionTraceOption.java +++ b/src/main/java/com/linkbreakers/model/SpecificDateConditionTraceOption.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/SpecificDateOption.java b/src/main/java/com/linkbreakers/model/SpecificDateOption.java index 811fc67d5..ca28337fb 100644 --- a/src/main/java/com/linkbreakers/model/SpecificDateOption.java +++ b/src/main/java/com/linkbreakers/model/SpecificDateOption.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/SubscriptionType.java b/src/main/java/com/linkbreakers/model/SubscriptionType.java index d64dafc50..fd5fc5c26 100644 --- a/src/main/java/com/linkbreakers/model/SubscriptionType.java +++ b/src/main/java/com/linkbreakers/model/SubscriptionType.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/SyncGoogleFormsResponse.java b/src/main/java/com/linkbreakers/model/SyncGoogleFormsResponse.java index d81974ed8..ab502066f 100644 --- a/src/main/java/com/linkbreakers/model/SyncGoogleFormsResponse.java +++ b/src/main/java/com/linkbreakers/model/SyncGoogleFormsResponse.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/TestSlackIntegrationResponse.java b/src/main/java/com/linkbreakers/model/TestSlackIntegrationResponse.java index 0a62b0b8e..95cc05b80 100644 --- a/src/main/java/com/linkbreakers/model/TestSlackIntegrationResponse.java +++ b/src/main/java/com/linkbreakers/model/TestSlackIntegrationResponse.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/ThankYouPagePayload.java b/src/main/java/com/linkbreakers/model/ThankYouPagePayload.java index 46be466bd..1facac16d 100644 --- a/src/main/java/com/linkbreakers/model/ThankYouPagePayload.java +++ b/src/main/java/com/linkbreakers/model/ThankYouPagePayload.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/ThemeColor.java b/src/main/java/com/linkbreakers/model/ThemeColor.java index cfffb04c5..94d8af6d9 100644 --- a/src/main/java/com/linkbreakers/model/ThemeColor.java +++ b/src/main/java/com/linkbreakers/model/ThemeColor.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/ThemeColorThemeColorType.java b/src/main/java/com/linkbreakers/model/ThemeColorThemeColorType.java index 519851b8b..57444b709 100644 --- a/src/main/java/com/linkbreakers/model/ThemeColorThemeColorType.java +++ b/src/main/java/com/linkbreakers/model/ThemeColorThemeColorType.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/TimeOfDayConditionPayload.java b/src/main/java/com/linkbreakers/model/TimeOfDayConditionPayload.java index 9f883349b..1709ab8b5 100644 --- a/src/main/java/com/linkbreakers/model/TimeOfDayConditionPayload.java +++ b/src/main/java/com/linkbreakers/model/TimeOfDayConditionPayload.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/TimeOfDayConditionTraceData.java b/src/main/java/com/linkbreakers/model/TimeOfDayConditionTraceData.java index de44b3939..89082b514 100644 --- a/src/main/java/com/linkbreakers/model/TimeOfDayConditionTraceData.java +++ b/src/main/java/com/linkbreakers/model/TimeOfDayConditionTraceData.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/TimeOfDayConditionTraceRange.java b/src/main/java/com/linkbreakers/model/TimeOfDayConditionTraceRange.java index 039673157..0f24ad3ea 100644 --- a/src/main/java/com/linkbreakers/model/TimeOfDayConditionTraceRange.java +++ b/src/main/java/com/linkbreakers/model/TimeOfDayConditionTraceRange.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/TimeOfDayRange.java b/src/main/java/com/linkbreakers/model/TimeOfDayRange.java index f6d6ee7f8..9f2a2e3e6 100644 --- a/src/main/java/com/linkbreakers/model/TimeOfDayRange.java +++ b/src/main/java/com/linkbreakers/model/TimeOfDayRange.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/TimeSeriesPoint.java b/src/main/java/com/linkbreakers/model/TimeSeriesPoint.java index 43728e0ea..c27d1afb5 100644 --- a/src/main/java/com/linkbreakers/model/TimeSeriesPoint.java +++ b/src/main/java/com/linkbreakers/model/TimeSeriesPoint.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/TimeSeriesSeries.java b/src/main/java/com/linkbreakers/model/TimeSeriesSeries.java index 4097f137b..b529a5afa 100644 --- a/src/main/java/com/linkbreakers/model/TimeSeriesSeries.java +++ b/src/main/java/com/linkbreakers/model/TimeSeriesSeries.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/TopLinkDataPoint.java b/src/main/java/com/linkbreakers/model/TopLinkDataPoint.java index 7aaa0d6f2..08f323a10 100644 --- a/src/main/java/com/linkbreakers/model/TopLinkDataPoint.java +++ b/src/main/java/com/linkbreakers/model/TopLinkDataPoint.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/TriggeredBy.java b/src/main/java/com/linkbreakers/model/TriggeredBy.java index 456f7ec07..7e61d3527 100644 --- a/src/main/java/com/linkbreakers/model/TriggeredBy.java +++ b/src/main/java/com/linkbreakers/model/TriggeredBy.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/TypeDate.java b/src/main/java/com/linkbreakers/model/TypeDate.java new file mode 100644 index 000000000..e9e3e2912 --- /dev/null +++ b/src/main/java/com/linkbreakers/model/TypeDate.java @@ -0,0 +1,251 @@ +/* + * Linkbreakers API + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. + * + * The version of the OpenAPI document: 1.158.2 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.linkbreakers.model; + +import java.util.Objects; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.util.Arrays; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; +import com.google.gson.TypeAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import com.linkbreakers.JSON; + +/** + * * A full date, with non-zero year, month, and day values * A month and day value, with a zero year, such as an anniversary * A year on its own, with zero month and day values * A year and month value, with a zero day, such as a credit card expiration date Related types are [google.type.TimeOfDay][google.type.TimeOfDay] and `google.protobuf.Timestamp`. + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.21.0") +public class TypeDate { + public static final String SERIALIZED_NAME_DAY = "day"; + @SerializedName(SERIALIZED_NAME_DAY) + @javax.annotation.Nullable + private Integer day; + + public static final String SERIALIZED_NAME_MONTH = "month"; + @SerializedName(SERIALIZED_NAME_MONTH) + @javax.annotation.Nullable + private Integer month; + + public static final String SERIALIZED_NAME_YEAR = "year"; + @SerializedName(SERIALIZED_NAME_YEAR) + @javax.annotation.Nullable + private Integer year; + + public TypeDate() { + } + + public TypeDate day(@javax.annotation.Nullable Integer day) { + this.day = day; + return this; + } + + /** + * Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant. + * @return day + */ + @javax.annotation.Nullable + public Integer getDay() { + return day; + } + + public void setDay(@javax.annotation.Nullable Integer day) { + this.day = day; + } + + + public TypeDate month(@javax.annotation.Nullable Integer month) { + this.month = month; + return this; + } + + /** + * Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. + * @return month + */ + @javax.annotation.Nullable + public Integer getMonth() { + return month; + } + + public void setMonth(@javax.annotation.Nullable Integer month) { + this.month = month; + } + + + public TypeDate year(@javax.annotation.Nullable Integer year) { + this.year = year; + return this; + } + + /** + * Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year. + * @return year + */ + @javax.annotation.Nullable + public Integer getYear() { + return year; + } + + public void setYear(@javax.annotation.Nullable Integer year) { + this.year = year; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TypeDate typeDate = (TypeDate) o; + return Objects.equals(this.day, typeDate.day) && + Objects.equals(this.month, typeDate.month) && + Objects.equals(this.year, typeDate.year); + } + + @Override + public int hashCode() { + return Objects.hash(day, month, year); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TypeDate {\n"); + sb.append(" day: ").append(toIndentedString(day)).append("\n"); + sb.append(" month: ").append(toIndentedString(month)).append("\n"); + sb.append(" year: ").append(toIndentedString(year)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + return o == null ? "null" : o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(Arrays.asList("day", "month", "year")); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(0); + } + + /** + * Validates the JSON Element and throws an exception if issues found + * + * @param jsonElement JSON Element + * @throws IOException if the JSON Element is invalid with respect to TypeDate + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!TypeDate.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format(java.util.Locale.ROOT, "The required field(s) %s in TypeDate is not found in the empty JSON string", TypeDate.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!TypeDate.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format(java.util.Locale.ROOT, "The field `%s` in the JSON string is not defined in the `TypeDate` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!TypeDate.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'TypeDate' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(TypeDate.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, TypeDate value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public TypeDate read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of TypeDate given an JSON string + * + * @param jsonString JSON string + * @return An instance of TypeDate + * @throws IOException if the JSON string is invalid with respect to TypeDate + */ + public static TypeDate fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, TypeDate.class); + } + + /** + * Convert an instance of TypeDate to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/src/main/java/com/linkbreakers/model/UpdateCustomDomainResponse.java b/src/main/java/com/linkbreakers/model/UpdateCustomDomainResponse.java index 675a2ec9c..7eca204fe 100644 --- a/src/main/java/com/linkbreakers/model/UpdateCustomDomainResponse.java +++ b/src/main/java/com/linkbreakers/model/UpdateCustomDomainResponse.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/UpdateDashboardResponse.java b/src/main/java/com/linkbreakers/model/UpdateDashboardResponse.java index 34c9d0ed3..14eb3083f 100644 --- a/src/main/java/com/linkbreakers/model/UpdateDashboardResponse.java +++ b/src/main/java/com/linkbreakers/model/UpdateDashboardResponse.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/UpdateDeviceResponse.java b/src/main/java/com/linkbreakers/model/UpdateDeviceResponse.java index 1b3bb6109..a1fcf5720 100644 --- a/src/main/java/com/linkbreakers/model/UpdateDeviceResponse.java +++ b/src/main/java/com/linkbreakers/model/UpdateDeviceResponse.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/UpdateDirectoryResponse.java b/src/main/java/com/linkbreakers/model/UpdateDirectoryResponse.java index 5b71289ba..37bb660de 100644 --- a/src/main/java/com/linkbreakers/model/UpdateDirectoryResponse.java +++ b/src/main/java/com/linkbreakers/model/UpdateDirectoryResponse.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/UpdateGoogleFormsIntegrationRequest.java b/src/main/java/com/linkbreakers/model/UpdateGoogleFormsIntegrationRequest.java index 1bf68f12a..08dbed532 100644 --- a/src/main/java/com/linkbreakers/model/UpdateGoogleFormsIntegrationRequest.java +++ b/src/main/java/com/linkbreakers/model/UpdateGoogleFormsIntegrationRequest.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/UpdateGoogleFormsIntegrationResponse.java b/src/main/java/com/linkbreakers/model/UpdateGoogleFormsIntegrationResponse.java index 7586821ed..9e74fc7ca 100644 --- a/src/main/java/com/linkbreakers/model/UpdateGoogleFormsIntegrationResponse.java +++ b/src/main/java/com/linkbreakers/model/UpdateGoogleFormsIntegrationResponse.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/UpdateLinkResponse.java b/src/main/java/com/linkbreakers/model/UpdateLinkResponse.java index 730710d1b..f9498ab7d 100644 --- a/src/main/java/com/linkbreakers/model/UpdateLinkResponse.java +++ b/src/main/java/com/linkbreakers/model/UpdateLinkResponse.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/UpdateLinkSettingResponse.java b/src/main/java/com/linkbreakers/model/UpdateLinkSettingResponse.java index e610eebae..54b6f90ae 100644 --- a/src/main/java/com/linkbreakers/model/UpdateLinkSettingResponse.java +++ b/src/main/java/com/linkbreakers/model/UpdateLinkSettingResponse.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/UpdateMeRequest.java b/src/main/java/com/linkbreakers/model/UpdateMeRequest.java index f4d847ad9..17d6dfefa 100644 --- a/src/main/java/com/linkbreakers/model/UpdateMeRequest.java +++ b/src/main/java/com/linkbreakers/model/UpdateMeRequest.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/UpdatePageThemeResponse.java b/src/main/java/com/linkbreakers/model/UpdatePageThemeResponse.java index 6c650a032..59178cd35 100644 --- a/src/main/java/com/linkbreakers/model/UpdatePageThemeResponse.java +++ b/src/main/java/com/linkbreakers/model/UpdatePageThemeResponse.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/UpdatePageThemeTemplateResponse.java b/src/main/java/com/linkbreakers/model/UpdatePageThemeTemplateResponse.java index 855665b85..999990fd7 100644 --- a/src/main/java/com/linkbreakers/model/UpdatePageThemeTemplateResponse.java +++ b/src/main/java/com/linkbreakers/model/UpdatePageThemeTemplateResponse.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/UpdatePageThemeTemplateStylingResponse.java b/src/main/java/com/linkbreakers/model/UpdatePageThemeTemplateStylingResponse.java index 8028d736f..923b2a39d 100644 --- a/src/main/java/com/linkbreakers/model/UpdatePageThemeTemplateStylingResponse.java +++ b/src/main/java/com/linkbreakers/model/UpdatePageThemeTemplateStylingResponse.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/UpdateQrcodeDesignResponse.java b/src/main/java/com/linkbreakers/model/UpdateQrcodeDesignResponse.java index 3f226523f..5e870d328 100644 --- a/src/main/java/com/linkbreakers/model/UpdateQrcodeDesignResponse.java +++ b/src/main/java/com/linkbreakers/model/UpdateQrcodeDesignResponse.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/UpdateQrcodeTemplateResponse.java b/src/main/java/com/linkbreakers/model/UpdateQrcodeTemplateResponse.java index ac44545f6..f1c9e8bed 100644 --- a/src/main/java/com/linkbreakers/model/UpdateQrcodeTemplateResponse.java +++ b/src/main/java/com/linkbreakers/model/UpdateQrcodeTemplateResponse.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/UpdateSlackIntegrationRequest.java b/src/main/java/com/linkbreakers/model/UpdateSlackIntegrationRequest.java index 190f8493f..6147f2412 100644 --- a/src/main/java/com/linkbreakers/model/UpdateSlackIntegrationRequest.java +++ b/src/main/java/com/linkbreakers/model/UpdateSlackIntegrationRequest.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/UpdateSlackIntegrationResponse.java b/src/main/java/com/linkbreakers/model/UpdateSlackIntegrationResponse.java index bd195177d..e71410b4a 100644 --- a/src/main/java/com/linkbreakers/model/UpdateSlackIntegrationResponse.java +++ b/src/main/java/com/linkbreakers/model/UpdateSlackIntegrationResponse.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/UpdateWebhookResponse.java b/src/main/java/com/linkbreakers/model/UpdateWebhookResponse.java index 130eb9ff2..c8ce60bb6 100644 --- a/src/main/java/com/linkbreakers/model/UpdateWebhookResponse.java +++ b/src/main/java/com/linkbreakers/model/UpdateWebhookResponse.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/UpdateWorkflowStepResponse.java b/src/main/java/com/linkbreakers/model/UpdateWorkflowStepResponse.java index 67c4509e2..019550fc8 100644 --- a/src/main/java/com/linkbreakers/model/UpdateWorkflowStepResponse.java +++ b/src/main/java/com/linkbreakers/model/UpdateWorkflowStepResponse.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/UpdateWorkspaceOriginInquiryRequest.java b/src/main/java/com/linkbreakers/model/UpdateWorkspaceOriginInquiryRequest.java index d937af595..20660c93b 100644 --- a/src/main/java/com/linkbreakers/model/UpdateWorkspaceOriginInquiryRequest.java +++ b/src/main/java/com/linkbreakers/model/UpdateWorkspaceOriginInquiryRequest.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/UpdateWorkspaceOriginPurposeRequest.java b/src/main/java/com/linkbreakers/model/UpdateWorkspaceOriginPurposeRequest.java index 566c43a41..d0ae60b0c 100644 --- a/src/main/java/com/linkbreakers/model/UpdateWorkspaceOriginPurposeRequest.java +++ b/src/main/java/com/linkbreakers/model/UpdateWorkspaceOriginPurposeRequest.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/UpdateWorkspaceRequest.java b/src/main/java/com/linkbreakers/model/UpdateWorkspaceRequest.java index adfbe2a4b..9df836ced 100644 --- a/src/main/java/com/linkbreakers/model/UpdateWorkspaceRequest.java +++ b/src/main/java/com/linkbreakers/model/UpdateWorkspaceRequest.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/UpdateWorkspaceTokenResponse.java b/src/main/java/com/linkbreakers/model/UpdateWorkspaceTokenResponse.java new file mode 100644 index 000000000..09b35bb0e --- /dev/null +++ b/src/main/java/com/linkbreakers/model/UpdateWorkspaceTokenResponse.java @@ -0,0 +1,204 @@ +/* + * Linkbreakers API + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. + * + * The version of the OpenAPI document: 1.158.2 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.linkbreakers.model; + +import java.util.Objects; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.linkbreakers.model.WorkspaceToken; +import java.io.IOException; +import java.util.Arrays; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; +import com.google.gson.TypeAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import com.linkbreakers.JSON; + +/** + * UpdateWorkspaceTokenResponse returns the updated token. + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.21.0") +public class UpdateWorkspaceTokenResponse { + public static final String SERIALIZED_NAME_TOKEN = "token"; + @SerializedName(SERIALIZED_NAME_TOKEN) + @javax.annotation.Nullable + private WorkspaceToken token; + + public UpdateWorkspaceTokenResponse() { + } + + public UpdateWorkspaceTokenResponse token(@javax.annotation.Nullable WorkspaceToken token) { + this.token = token; + return this; + } + + /** + * Get token + * @return token + */ + @javax.annotation.Nullable + public WorkspaceToken getToken() { + return token; + } + + public void setToken(@javax.annotation.Nullable WorkspaceToken token) { + this.token = token; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UpdateWorkspaceTokenResponse updateWorkspaceTokenResponse = (UpdateWorkspaceTokenResponse) o; + return Objects.equals(this.token, updateWorkspaceTokenResponse.token); + } + + @Override + public int hashCode() { + return Objects.hash(token); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class UpdateWorkspaceTokenResponse {\n"); + sb.append(" token: ").append(toIndentedString(token)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + return o == null ? "null" : o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(Arrays.asList("token")); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(0); + } + + /** + * Validates the JSON Element and throws an exception if issues found + * + * @param jsonElement JSON Element + * @throws IOException if the JSON Element is invalid with respect to UpdateWorkspaceTokenResponse + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!UpdateWorkspaceTokenResponse.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format(java.util.Locale.ROOT, "The required field(s) %s in UpdateWorkspaceTokenResponse is not found in the empty JSON string", UpdateWorkspaceTokenResponse.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!UpdateWorkspaceTokenResponse.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format(java.util.Locale.ROOT, "The field `%s` in the JSON string is not defined in the `UpdateWorkspaceTokenResponse` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + // validate the optional field `token` + if (jsonObj.get("token") != null && !jsonObj.get("token").isJsonNull()) { + WorkspaceToken.validateJsonElement(jsonObj.get("token")); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!UpdateWorkspaceTokenResponse.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'UpdateWorkspaceTokenResponse' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(UpdateWorkspaceTokenResponse.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, UpdateWorkspaceTokenResponse value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public UpdateWorkspaceTokenResponse read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of UpdateWorkspaceTokenResponse given an JSON string + * + * @param jsonString JSON string + * @return An instance of UpdateWorkspaceTokenResponse + * @throws IOException if the JSON string is invalid with respect to UpdateWorkspaceTokenResponse + */ + public static UpdateWorkspaceTokenResponse fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, UpdateWorkspaceTokenResponse.class); + } + + /** + * Convert an instance of UpdateWorkspaceTokenResponse to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/src/main/java/com/linkbreakers/model/VCardData.java b/src/main/java/com/linkbreakers/model/VCardData.java index e6c2bbed4..576fc7a11 100644 --- a/src/main/java/com/linkbreakers/model/VCardData.java +++ b/src/main/java/com/linkbreakers/model/VCardData.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/VCardPayload.java b/src/main/java/com/linkbreakers/model/VCardPayload.java index 6dc4a81ed..40de177b2 100644 --- a/src/main/java/com/linkbreakers/model/VCardPayload.java +++ b/src/main/java/com/linkbreakers/model/VCardPayload.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/VCardSocialLink.java b/src/main/java/com/linkbreakers/model/VCardSocialLink.java index 1f26283f0..67ba93520 100644 --- a/src/main/java/com/linkbreakers/model/VCardSocialLink.java +++ b/src/main/java/com/linkbreakers/model/VCardSocialLink.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/ValidateWorkflowResponse.java b/src/main/java/com/linkbreakers/model/ValidateWorkflowResponse.java index c8b6946ef..e389722af 100644 --- a/src/main/java/com/linkbreakers/model/ValidateWorkflowResponse.java +++ b/src/main/java/com/linkbreakers/model/ValidateWorkflowResponse.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/ValidationInstructionsCustomDomainResponse.java b/src/main/java/com/linkbreakers/model/ValidationInstructionsCustomDomainResponse.java index d3beffb17..405407c47 100644 --- a/src/main/java/com/linkbreakers/model/ValidationInstructionsCustomDomainResponse.java +++ b/src/main/java/com/linkbreakers/model/ValidationInstructionsCustomDomainResponse.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/ValidationInstructionsCustomDomainResponseValidation.java b/src/main/java/com/linkbreakers/model/ValidationInstructionsCustomDomainResponseValidation.java index b0e667e72..285bb0140 100644 --- a/src/main/java/com/linkbreakers/model/ValidationInstructionsCustomDomainResponseValidation.java +++ b/src/main/java/com/linkbreakers/model/ValidationInstructionsCustomDomainResponseValidation.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/ValidationInstructionsCustomDomainResponseValidationType.java b/src/main/java/com/linkbreakers/model/ValidationInstructionsCustomDomainResponseValidationType.java index 3583e66c2..e455b7e80 100644 --- a/src/main/java/com/linkbreakers/model/ValidationInstructionsCustomDomainResponseValidationType.java +++ b/src/main/java/com/linkbreakers/model/ValidationInstructionsCustomDomainResponseValidationType.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/ValidationPurpose.java b/src/main/java/com/linkbreakers/model/ValidationPurpose.java index 91beb52a5..9f09e4379 100644 --- a/src/main/java/com/linkbreakers/model/ValidationPurpose.java +++ b/src/main/java/com/linkbreakers/model/ValidationPurpose.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/VisitType.java b/src/main/java/com/linkbreakers/model/VisitType.java index 786f38b78..faeb3f5e9 100644 --- a/src/main/java/com/linkbreakers/model/VisitType.java +++ b/src/main/java/com/linkbreakers/model/VisitType.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/VisitTypeConditionOption.java b/src/main/java/com/linkbreakers/model/VisitTypeConditionOption.java index ef2b05620..fb9fd06a3 100644 --- a/src/main/java/com/linkbreakers/model/VisitTypeConditionOption.java +++ b/src/main/java/com/linkbreakers/model/VisitTypeConditionOption.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/VisitTypeConditionPayload.java b/src/main/java/com/linkbreakers/model/VisitTypeConditionPayload.java index b6949a694..831f769ef 100644 --- a/src/main/java/com/linkbreakers/model/VisitTypeConditionPayload.java +++ b/src/main/java/com/linkbreakers/model/VisitTypeConditionPayload.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/VisitTypeConditionTraceData.java b/src/main/java/com/linkbreakers/model/VisitTypeConditionTraceData.java index cdb76f62c..748268973 100644 --- a/src/main/java/com/linkbreakers/model/VisitTypeConditionTraceData.java +++ b/src/main/java/com/linkbreakers/model/VisitTypeConditionTraceData.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/VisitTypeConditionTraceOption.java b/src/main/java/com/linkbreakers/model/VisitTypeConditionTraceOption.java index 790fb8e8f..406707067 100644 --- a/src/main/java/com/linkbreakers/model/VisitTypeConditionTraceOption.java +++ b/src/main/java/com/linkbreakers/model/VisitTypeConditionTraceOption.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/Visitor.java b/src/main/java/com/linkbreakers/model/Visitor.java index 51ede2bd5..50a51714c 100644 --- a/src/main/java/com/linkbreakers/model/Visitor.java +++ b/src/main/java/com/linkbreakers/model/Visitor.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/VisitorAttribute.java b/src/main/java/com/linkbreakers/model/VisitorAttribute.java index db066bd0c..ed0512b45 100644 --- a/src/main/java/com/linkbreakers/model/VisitorAttribute.java +++ b/src/main/java/com/linkbreakers/model/VisitorAttribute.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/VisitorAttributeFilter.java b/src/main/java/com/linkbreakers/model/VisitorAttributeFilter.java index 3183b6a91..285a1e281 100644 --- a/src/main/java/com/linkbreakers/model/VisitorAttributeFilter.java +++ b/src/main/java/com/linkbreakers/model/VisitorAttributeFilter.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/VisitorAttributeFilterOperator.java b/src/main/java/com/linkbreakers/model/VisitorAttributeFilterOperator.java index 1d967b4ea..2de1d8c73 100644 --- a/src/main/java/com/linkbreakers/model/VisitorAttributeFilterOperator.java +++ b/src/main/java/com/linkbreakers/model/VisitorAttributeFilterOperator.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/VisitorAttributeKey.java b/src/main/java/com/linkbreakers/model/VisitorAttributeKey.java index 507e88cd5..0835cbc83 100644 --- a/src/main/java/com/linkbreakers/model/VisitorAttributeKey.java +++ b/src/main/java/com/linkbreakers/model/VisitorAttributeKey.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/VisitorAttributeType.java b/src/main/java/com/linkbreakers/model/VisitorAttributeType.java index 94bd14f60..f5283e331 100644 --- a/src/main/java/com/linkbreakers/model/VisitorAttributeType.java +++ b/src/main/java/com/linkbreakers/model/VisitorAttributeType.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/VisitorDataConditionOption.java b/src/main/java/com/linkbreakers/model/VisitorDataConditionOption.java index 59e0de8e6..62e01fd2b 100644 --- a/src/main/java/com/linkbreakers/model/VisitorDataConditionOption.java +++ b/src/main/java/com/linkbreakers/model/VisitorDataConditionOption.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/VisitorDataConditionPayload.java b/src/main/java/com/linkbreakers/model/VisitorDataConditionPayload.java index cd3f560b8..74ddd7050 100644 --- a/src/main/java/com/linkbreakers/model/VisitorDataConditionPayload.java +++ b/src/main/java/com/linkbreakers/model/VisitorDataConditionPayload.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/VisitorDataConditionTraceData.java b/src/main/java/com/linkbreakers/model/VisitorDataConditionTraceData.java index 13a430f9a..083e63dbb 100644 --- a/src/main/java/com/linkbreakers/model/VisitorDataConditionTraceData.java +++ b/src/main/java/com/linkbreakers/model/VisitorDataConditionTraceData.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/VisitorDataConditionTraceOption.java b/src/main/java/com/linkbreakers/model/VisitorDataConditionTraceOption.java index 7a8db7fd8..324e81770 100644 --- a/src/main/java/com/linkbreakers/model/VisitorDataConditionTraceOption.java +++ b/src/main/java/com/linkbreakers/model/VisitorDataConditionTraceOption.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/VisitorEvent.java b/src/main/java/com/linkbreakers/model/VisitorEvent.java index 2e5585b40..f0c1f60b8 100644 --- a/src/main/java/com/linkbreakers/model/VisitorEvent.java +++ b/src/main/java/com/linkbreakers/model/VisitorEvent.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/VisitorInput.java b/src/main/java/com/linkbreakers/model/VisitorInput.java index af06856a9..f998a550f 100644 --- a/src/main/java/com/linkbreakers/model/VisitorInput.java +++ b/src/main/java/com/linkbreakers/model/VisitorInput.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/VisitorLink.java b/src/main/java/com/linkbreakers/model/VisitorLink.java index 4465cbbd0..3b98f97fb 100644 --- a/src/main/java/com/linkbreakers/model/VisitorLink.java +++ b/src/main/java/com/linkbreakers/model/VisitorLink.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/VisitorSortField.java b/src/main/java/com/linkbreakers/model/VisitorSortField.java index eadbef289..058aadf6c 100644 --- a/src/main/java/com/linkbreakers/model/VisitorSortField.java +++ b/src/main/java/com/linkbreakers/model/VisitorSortField.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/VisitorTrendDataPoint.java b/src/main/java/com/linkbreakers/model/VisitorTrendDataPoint.java index 70a0647d1..d9cfc9c96 100644 --- a/src/main/java/com/linkbreakers/model/VisitorTrendDataPoint.java +++ b/src/main/java/com/linkbreakers/model/VisitorTrendDataPoint.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/VisitorsServiceUpdateBody.java b/src/main/java/com/linkbreakers/model/VisitorsServiceUpdateBody.java index 39ed4648d..b8a43bcb6 100644 --- a/src/main/java/com/linkbreakers/model/VisitorsServiceUpdateBody.java +++ b/src/main/java/com/linkbreakers/model/VisitorsServiceUpdateBody.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/Webhook.java b/src/main/java/com/linkbreakers/model/Webhook.java index 58f4b3083..8eedd9057 100644 --- a/src/main/java/com/linkbreakers/model/Webhook.java +++ b/src/main/java/com/linkbreakers/model/Webhook.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/WebhookSource.java b/src/main/java/com/linkbreakers/model/WebhookSource.java index f35ab6ede..8102c219d 100644 --- a/src/main/java/com/linkbreakers/model/WebhookSource.java +++ b/src/main/java/com/linkbreakers/model/WebhookSource.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/WebhookStatus.java b/src/main/java/com/linkbreakers/model/WebhookStatus.java index 44f19e978..487fd24e6 100644 --- a/src/main/java/com/linkbreakers/model/WebhookStatus.java +++ b/src/main/java/com/linkbreakers/model/WebhookStatus.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/WebhooksServiceUpdateBody.java b/src/main/java/com/linkbreakers/model/WebhooksServiceUpdateBody.java index 879fa7194..97fec076a 100644 --- a/src/main/java/com/linkbreakers/model/WebhooksServiceUpdateBody.java +++ b/src/main/java/com/linkbreakers/model/WebhooksServiceUpdateBody.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/WidgetDataSource.java b/src/main/java/com/linkbreakers/model/WidgetDataSource.java index 9d9f1932f..267fb8fe6 100644 --- a/src/main/java/com/linkbreakers/model/WidgetDataSource.java +++ b/src/main/java/com/linkbreakers/model/WidgetDataSource.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/WidgetFieldMapping.java b/src/main/java/com/linkbreakers/model/WidgetFieldMapping.java index b197f9e65..8fa3aac21 100644 --- a/src/main/java/com/linkbreakers/model/WidgetFieldMapping.java +++ b/src/main/java/com/linkbreakers/model/WidgetFieldMapping.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/WidgetPosition.java b/src/main/java/com/linkbreakers/model/WidgetPosition.java index 09c5f4276..ebc6be928 100644 --- a/src/main/java/com/linkbreakers/model/WidgetPosition.java +++ b/src/main/java/com/linkbreakers/model/WidgetPosition.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/WidgetSize.java b/src/main/java/com/linkbreakers/model/WidgetSize.java index e2c18e7f5..afae556f7 100644 --- a/src/main/java/com/linkbreakers/model/WidgetSize.java +++ b/src/main/java/com/linkbreakers/model/WidgetSize.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/WidgetTab.java b/src/main/java/com/linkbreakers/model/WidgetTab.java index 7e8d695fa..405a392e3 100644 --- a/src/main/java/com/linkbreakers/model/WidgetTab.java +++ b/src/main/java/com/linkbreakers/model/WidgetTab.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/WidgetTabMode.java b/src/main/java/com/linkbreakers/model/WidgetTabMode.java index 4e59f911f..400e9b2f1 100644 --- a/src/main/java/com/linkbreakers/model/WidgetTabMode.java +++ b/src/main/java/com/linkbreakers/model/WidgetTabMode.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/WidgetTabView.java b/src/main/java/com/linkbreakers/model/WidgetTabView.java index 31954bc5a..1add05e86 100644 --- a/src/main/java/com/linkbreakers/model/WidgetTabView.java +++ b/src/main/java/com/linkbreakers/model/WidgetTabView.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/WidgetVisualization.java b/src/main/java/com/linkbreakers/model/WidgetVisualization.java index e2fafce7d..16d448145 100644 --- a/src/main/java/com/linkbreakers/model/WidgetVisualization.java +++ b/src/main/java/com/linkbreakers/model/WidgetVisualization.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/WorkflowIssue.java b/src/main/java/com/linkbreakers/model/WorkflowIssue.java index bfd30916c..94f2dbe30 100644 --- a/src/main/java/com/linkbreakers/model/WorkflowIssue.java +++ b/src/main/java/com/linkbreakers/model/WorkflowIssue.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/WorkflowStep.java b/src/main/java/com/linkbreakers/model/WorkflowStep.java index dedf109bf..acf6f82a0 100644 --- a/src/main/java/com/linkbreakers/model/WorkflowStep.java +++ b/src/main/java/com/linkbreakers/model/WorkflowStep.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/WorkflowStepBranch.java b/src/main/java/com/linkbreakers/model/WorkflowStepBranch.java index 280947b2b..6c9e55503 100644 --- a/src/main/java/com/linkbreakers/model/WorkflowStepBranch.java +++ b/src/main/java/com/linkbreakers/model/WorkflowStepBranch.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/WorkflowStepKind.java b/src/main/java/com/linkbreakers/model/WorkflowStepKind.java index 300721775..87f9b5e56 100644 --- a/src/main/java/com/linkbreakers/model/WorkflowStepKind.java +++ b/src/main/java/com/linkbreakers/model/WorkflowStepKind.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/WorkflowStepNodeType.java b/src/main/java/com/linkbreakers/model/WorkflowStepNodeType.java index 0104b0137..efb5ce536 100644 --- a/src/main/java/com/linkbreakers/model/WorkflowStepNodeType.java +++ b/src/main/java/com/linkbreakers/model/WorkflowStepNodeType.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/WorkflowStepPayload.java b/src/main/java/com/linkbreakers/model/WorkflowStepPayload.java index 4544ae46b..8f698fbc0 100644 --- a/src/main/java/com/linkbreakers/model/WorkflowStepPayload.java +++ b/src/main/java/com/linkbreakers/model/WorkflowStepPayload.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/WorkflowStepsServiceConnectStepBody.java b/src/main/java/com/linkbreakers/model/WorkflowStepsServiceConnectStepBody.java index e728ba7cf..5d19e0754 100644 --- a/src/main/java/com/linkbreakers/model/WorkflowStepsServiceConnectStepBody.java +++ b/src/main/java/com/linkbreakers/model/WorkflowStepsServiceConnectStepBody.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/WorkflowStepsServiceCreateBody.java b/src/main/java/com/linkbreakers/model/WorkflowStepsServiceCreateBody.java index abc0d316b..febff8f41 100644 --- a/src/main/java/com/linkbreakers/model/WorkflowStepsServiceCreateBody.java +++ b/src/main/java/com/linkbreakers/model/WorkflowStepsServiceCreateBody.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/WorkflowStepsServiceUpdateBody.java b/src/main/java/com/linkbreakers/model/WorkflowStepsServiceUpdateBody.java index dd3c60c0c..8ff2d53f5 100644 --- a/src/main/java/com/linkbreakers/model/WorkflowStepsServiceUpdateBody.java +++ b/src/main/java/com/linkbreakers/model/WorkflowStepsServiceUpdateBody.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/Workspace.java b/src/main/java/com/linkbreakers/model/Workspace.java index fc1c8a7fa..7d89db9b0 100644 --- a/src/main/java/com/linkbreakers/model/Workspace.java +++ b/src/main/java/com/linkbreakers/model/Workspace.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -152,6 +152,11 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti @javax.annotation.Nullable private OffsetDateTime inactiveSince; + public static final String SERIALIZED_NAME_IS_SANDBOX = "isSandbox"; + @SerializedName(SERIALIZED_NAME_IS_SANDBOX) + @javax.annotation.Nullable + private Boolean isSandbox; + public static final String SERIALIZED_NAME_LINK_SETTING_ID = "linkSettingId"; @SerializedName(SERIALIZED_NAME_LINK_SETTING_ID) @javax.annotation.Nullable @@ -167,6 +172,11 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti @javax.annotation.Nullable private OffsetDateTime publishedAt; + public static final String SERIALIZED_NAME_SANDBOX_EXPIRES_AT = "sandboxExpiresAt"; + @SerializedName(SERIALIZED_NAME_SANDBOX_EXPIRES_AT) + @javax.annotation.Nullable + private OffsetDateTime sandboxExpiresAt; + public static final String SERIALIZED_NAME_SHORT_DESCRIPTION = "shortDescription"; @SerializedName(SERIALIZED_NAME_SHORT_DESCRIPTION) @javax.annotation.Nullable @@ -275,6 +285,15 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public Workspace() { } + public Workspace( + Boolean isSandbox, + OffsetDateTime sandboxExpiresAt + ) { + this(); + this.isSandbox = isSandbox; + this.sandboxExpiresAt = sandboxExpiresAt; + } + public Workspace country(@javax.annotation.Nullable String country) { this.country = country; return this; @@ -446,6 +465,17 @@ public void setInactiveSince(@javax.annotation.Nullable OffsetDateTime inactiveS } + /** + * True for a sandbox workspace: API-only, with its own caps, never billed. + * @return isSandbox + */ + @javax.annotation.Nullable + public Boolean getIsSandbox() { + return isSandbox; + } + + + public Workspace linkSettingId(@javax.annotation.Nullable String linkSettingId) { this.linkSettingId = linkSettingId; return this; @@ -503,6 +533,17 @@ public void setPublishedAt(@javax.annotation.Nullable OffsetDateTime publishedAt } + /** + * When a sandbox workspace is deleted. Unset for a live workspace. + * @return sandboxExpiresAt + */ + @javax.annotation.Nullable + public OffsetDateTime getSandboxExpiresAt() { + return sandboxExpiresAt; + } + + + public Workspace shortDescription(@javax.annotation.Nullable String shortDescription) { this.shortDescription = shortDescription; return this; @@ -693,9 +734,11 @@ public boolean equals(Object o) { Objects.equals(this.faq, workspace.faq) && Objects.equals(this.id, workspace.id) && Objects.equals(this.inactiveSince, workspace.inactiveSince) && + Objects.equals(this.isSandbox, workspace.isSandbox) && Objects.equals(this.linkSettingId, workspace.linkSettingId) && Objects.equals(this.name, workspace.name) && Objects.equals(this.publishedAt, workspace.publishedAt) && + Objects.equals(this.sandboxExpiresAt, workspace.sandboxExpiresAt) && Objects.equals(this.shortDescription, workspace.shortDescription) && Objects.equals(this.slug, workspace.slug) && Objects.equals(this.subscriptionType, workspace.subscriptionType) && @@ -709,7 +752,7 @@ public boolean equals(Object o) { @Override public int hashCode() { - return Objects.hash(country, createdAt, description, digestFrequency, enforceMfa, enrollRequestedAt, faq, id, inactiveSince, linkSettingId, name, publishedAt, shortDescription, slug, subscriptionType, tags, timezone, trialEndsAt, updatedAt, verifiedAt, website); + return Objects.hash(country, createdAt, description, digestFrequency, enforceMfa, enrollRequestedAt, faq, id, inactiveSince, isSandbox, linkSettingId, name, publishedAt, sandboxExpiresAt, shortDescription, slug, subscriptionType, tags, timezone, trialEndsAt, updatedAt, verifiedAt, website); } @Override @@ -725,9 +768,11 @@ public String toString() { sb.append(" faq: ").append(toIndentedString(faq)).append("\n"); sb.append(" id: ").append(toIndentedString(id)).append("\n"); sb.append(" inactiveSince: ").append(toIndentedString(inactiveSince)).append("\n"); + sb.append(" isSandbox: ").append(toIndentedString(isSandbox)).append("\n"); sb.append(" linkSettingId: ").append(toIndentedString(linkSettingId)).append("\n"); sb.append(" name: ").append(toIndentedString(name)).append("\n"); sb.append(" publishedAt: ").append(toIndentedString(publishedAt)).append("\n"); + sb.append(" sandboxExpiresAt: ").append(toIndentedString(sandboxExpiresAt)).append("\n"); sb.append(" shortDescription: ").append(toIndentedString(shortDescription)).append("\n"); sb.append(" slug: ").append(toIndentedString(slug)).append("\n"); sb.append(" subscriptionType: ").append(toIndentedString(subscriptionType)).append("\n"); @@ -755,7 +800,7 @@ private String toIndentedString(Object o) { static { // a set of all properties/fields (JSON key names) - openapiFields = new HashSet(Arrays.asList("country", "createdAt", "description", "digestFrequency", "enforceMfa", "enrollRequestedAt", "faq", "id", "inactiveSince", "linkSettingId", "name", "publishedAt", "shortDescription", "slug", "subscriptionType", "tags", "timezone", "trialEndsAt", "updatedAt", "verifiedAt", "website")); + openapiFields = new HashSet(Arrays.asList("country", "createdAt", "description", "digestFrequency", "enforceMfa", "enrollRequestedAt", "faq", "id", "inactiveSince", "isSandbox", "linkSettingId", "name", "publishedAt", "sandboxExpiresAt", "shortDescription", "slug", "subscriptionType", "tags", "timezone", "trialEndsAt", "updatedAt", "verifiedAt", "website")); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(0); diff --git a/src/main/java/com/linkbreakers/model/WorkspaceAllowance.java b/src/main/java/com/linkbreakers/model/WorkspaceAllowance.java new file mode 100644 index 000000000..1264a1f17 --- /dev/null +++ b/src/main/java/com/linkbreakers/model/WorkspaceAllowance.java @@ -0,0 +1,475 @@ +/* + * Linkbreakers API + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. + * + * The version of the OpenAPI document: 1.158.2 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.linkbreakers.model; + +import java.util.Objects; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.linkbreakers.model.PlanLimitKey; +import com.linkbreakers.model.PlanLimitKind; +import com.linkbreakers.model.TypeDate; +import java.io.IOException; +import java.time.OffsetDateTime; +import java.util.Arrays; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; +import com.google.gson.TypeAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import com.linkbreakers.JSON; + +/** + * One limit the workspace's plan sets, with what the workspace has used of it. + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.21.0") +public class WorkspaceAllowance { + public static final String SERIALIZED_NAME_CHEAPEST_ACTION_COST = "cheapestActionCost"; + @SerializedName(SERIALIZED_NAME_CHEAPEST_ACTION_COST) + @javax.annotation.Nullable + private Integer cheapestActionCost; + + public static final String SERIALIZED_NAME_CYCLE_END_AT = "cycleEndAt"; + @SerializedName(SERIALIZED_NAME_CYCLE_END_AT) + @javax.annotation.Nullable + private OffsetDateTime cycleEndAt; + + public static final String SERIALIZED_NAME_CYCLE_START_AT = "cycleStartAt"; + @SerializedName(SERIALIZED_NAME_CYCLE_START_AT) + @javax.annotation.Nullable + private OffsetDateTime cycleStartAt; + + public static final String SERIALIZED_NAME_KEY = "key"; + @SerializedName(SERIALIZED_NAME_KEY) + @javax.annotation.Nullable + private PlanLimitKey key; + + public static final String SERIALIZED_NAME_KIND = "kind"; + @SerializedName(SERIALIZED_NAME_KIND) + @javax.annotation.Nullable + private PlanLimitKind kind; + + public static final String SERIALIZED_NAME_LIMIT = "limit"; + @SerializedName(SERIALIZED_NAME_LIMIT) + @javax.annotation.Nullable + private Integer limit; + + public static final String SERIALIZED_NAME_NOTICE_DISMISSED = "noticeDismissed"; + @SerializedName(SERIALIZED_NAME_NOTICE_DISMISSED) + @javax.annotation.Nullable + private Boolean noticeDismissed; + + public static final String SERIALIZED_NAME_REACHED = "reached"; + @SerializedName(SERIALIZED_NAME_REACHED) + @javax.annotation.Nullable + private Boolean reached; + + public static final String SERIALIZED_NAME_REMAINING = "remaining"; + @SerializedName(SERIALIZED_NAME_REMAINING) + @javax.annotation.Nullable + private Integer remaining; + + public static final String SERIALIZED_NAME_RESETS_ON = "resetsOn"; + @SerializedName(SERIALIZED_NAME_RESETS_ON) + @javax.annotation.Nullable + private TypeDate resetsOn; + + public static final String SERIALIZED_NAME_USED = "used"; + @SerializedName(SERIALIZED_NAME_USED) + @javax.annotation.Nullable + private Integer used; + + public WorkspaceAllowance() { + } + + public WorkspaceAllowance cheapestActionCost(@javax.annotation.Nullable Integer cheapestActionCost) { + this.cheapestActionCost = cheapestActionCost; + return this; + } + + /** + * Get cheapestActionCost + * @return cheapestActionCost + */ + @javax.annotation.Nullable + public Integer getCheapestActionCost() { + return cheapestActionCost; + } + + public void setCheapestActionCost(@javax.annotation.Nullable Integer cheapestActionCost) { + this.cheapestActionCost = cheapestActionCost; + } + + + public WorkspaceAllowance cycleEndAt(@javax.annotation.Nullable OffsetDateTime cycleEndAt) { + this.cycleEndAt = cycleEndAt; + return this; + } + + /** + * The last second of the current cycle; the allowance refills one second later. Absent for totals that never refill and when nothing has been counted yet. + * @return cycleEndAt + */ + @javax.annotation.Nullable + public OffsetDateTime getCycleEndAt() { + return cycleEndAt; + } + + public void setCycleEndAt(@javax.annotation.Nullable OffsetDateTime cycleEndAt) { + this.cycleEndAt = cycleEndAt; + } + + + public WorkspaceAllowance cycleStartAt(@javax.annotation.Nullable OffsetDateTime cycleStartAt) { + this.cycleStartAt = cycleStartAt; + return this; + } + + /** + * Start of the current cycle. Absent when nothing has been counted yet. + * @return cycleStartAt + */ + @javax.annotation.Nullable + public OffsetDateTime getCycleStartAt() { + return cycleStartAt; + } + + public void setCycleStartAt(@javax.annotation.Nullable OffsetDateTime cycleStartAt) { + this.cycleStartAt = cycleStartAt; + } + + + public WorkspaceAllowance key(@javax.annotation.Nullable PlanLimitKey key) { + this.key = key; + return this; + } + + /** + * Get key + * @return key + */ + @javax.annotation.Nullable + public PlanLimitKey getKey() { + return key; + } + + public void setKey(@javax.annotation.Nullable PlanLimitKey key) { + this.key = key; + } + + + public WorkspaceAllowance kind(@javax.annotation.Nullable PlanLimitKind kind) { + this.kind = kind; + return this; + } + + /** + * Get kind + * @return kind + */ + @javax.annotation.Nullable + public PlanLimitKind getKind() { + return kind; + } + + public void setKind(@javax.annotation.Nullable PlanLimitKind kind) { + this.kind = kind; + } + + + public WorkspaceAllowance limit(@javax.annotation.Nullable Integer limit) { + this.limit = limit; + return this; + } + + /** + * The ceiling. Absent when kind is PLAN_LIMIT_KIND_UNLIMITED or PLAN_LIMIT_KIND_METERED. + * @return limit + */ + @javax.annotation.Nullable + public Integer getLimit() { + return limit; + } + + public void setLimit(@javax.annotation.Nullable Integer limit) { + this.limit = limit; + } + + + public WorkspaceAllowance noticeDismissed(@javax.annotation.Nullable Boolean noticeDismissed) { + this.noticeDismissed = noticeDismissed; + return this; + } + + /** + * Get noticeDismissed + * @return noticeDismissed + */ + @javax.annotation.Nullable + public Boolean getNoticeDismissed() { + return noticeDismissed; + } + + public void setNoticeDismissed(@javax.annotation.Nullable Boolean noticeDismissed) { + this.noticeDismissed = noticeDismissed; + } + + + public WorkspaceAllowance reached(@javax.annotation.Nullable Boolean reached) { + this.reached = reached; + return this; + } + + /** + * Whether the limit is used up for the current cycle. Platform credits count as reached once neither the monthly credits nor the purchased top-up credits hold cheapest_action_cost, so nothing that spends credits can run. Never reached on a plan billed per unit used. + * @return reached + */ + @javax.annotation.Nullable + public Boolean getReached() { + return reached; + } + + public void setReached(@javax.annotation.Nullable Boolean reached) { + this.reached = reached; + } + + + public WorkspaceAllowance remaining(@javax.annotation.Nullable Integer remaining) { + this.remaining = remaining; + return this; + } + + /** + * Units left in the current cycle. For platform credits, the monthly credits left plus the purchased top-up credits left. Absent when there is no ceiling. + * @return remaining + */ + @javax.annotation.Nullable + public Integer getRemaining() { + return remaining; + } + + public void setRemaining(@javax.annotation.Nullable Integer remaining) { + this.remaining = remaining; + } + + + public WorkspaceAllowance resetsOn(@javax.annotation.Nullable TypeDate resetsOn) { + this.resetsOn = resetsOn; + return this; + } + + /** + * The day the allowance refills, which is the first day of the next cycle in the workspace's timezone. Absent for totals that never refill and when nothing has been counted yet. + * @return resetsOn + */ + @javax.annotation.Nullable + public TypeDate getResetsOn() { + return resetsOn; + } + + public void setResetsOn(@javax.annotation.Nullable TypeDate resetsOn) { + this.resetsOn = resetsOn; + } + + + public WorkspaceAllowance used(@javax.annotation.Nullable Integer used) { + this.used = used; + return this; + } + + /** + * Units used in the current cycle. For a total such as custom domains, what the workspace holds. + * @return used + */ + @javax.annotation.Nullable + public Integer getUsed() { + return used; + } + + public void setUsed(@javax.annotation.Nullable Integer used) { + this.used = used; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + WorkspaceAllowance workspaceAllowance = (WorkspaceAllowance) o; + return Objects.equals(this.cheapestActionCost, workspaceAllowance.cheapestActionCost) && + Objects.equals(this.cycleEndAt, workspaceAllowance.cycleEndAt) && + Objects.equals(this.cycleStartAt, workspaceAllowance.cycleStartAt) && + Objects.equals(this.key, workspaceAllowance.key) && + Objects.equals(this.kind, workspaceAllowance.kind) && + Objects.equals(this.limit, workspaceAllowance.limit) && + Objects.equals(this.noticeDismissed, workspaceAllowance.noticeDismissed) && + Objects.equals(this.reached, workspaceAllowance.reached) && + Objects.equals(this.remaining, workspaceAllowance.remaining) && + Objects.equals(this.resetsOn, workspaceAllowance.resetsOn) && + Objects.equals(this.used, workspaceAllowance.used); + } + + @Override + public int hashCode() { + return Objects.hash(cheapestActionCost, cycleEndAt, cycleStartAt, key, kind, limit, noticeDismissed, reached, remaining, resetsOn, used); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class WorkspaceAllowance {\n"); + sb.append(" cheapestActionCost: ").append(toIndentedString(cheapestActionCost)).append("\n"); + sb.append(" cycleEndAt: ").append(toIndentedString(cycleEndAt)).append("\n"); + sb.append(" cycleStartAt: ").append(toIndentedString(cycleStartAt)).append("\n"); + sb.append(" key: ").append(toIndentedString(key)).append("\n"); + sb.append(" kind: ").append(toIndentedString(kind)).append("\n"); + sb.append(" limit: ").append(toIndentedString(limit)).append("\n"); + sb.append(" noticeDismissed: ").append(toIndentedString(noticeDismissed)).append("\n"); + sb.append(" reached: ").append(toIndentedString(reached)).append("\n"); + sb.append(" remaining: ").append(toIndentedString(remaining)).append("\n"); + sb.append(" resetsOn: ").append(toIndentedString(resetsOn)).append("\n"); + sb.append(" used: ").append(toIndentedString(used)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + return o == null ? "null" : o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(Arrays.asList("cheapestActionCost", "cycleEndAt", "cycleStartAt", "key", "kind", "limit", "noticeDismissed", "reached", "remaining", "resetsOn", "used")); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(0); + } + + /** + * Validates the JSON Element and throws an exception if issues found + * + * @param jsonElement JSON Element + * @throws IOException if the JSON Element is invalid with respect to WorkspaceAllowance + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!WorkspaceAllowance.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format(java.util.Locale.ROOT, "The required field(s) %s in WorkspaceAllowance is not found in the empty JSON string", WorkspaceAllowance.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!WorkspaceAllowance.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format(java.util.Locale.ROOT, "The field `%s` in the JSON string is not defined in the `WorkspaceAllowance` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + // validate the optional field `key` + if (jsonObj.get("key") != null && !jsonObj.get("key").isJsonNull()) { + PlanLimitKey.validateJsonElement(jsonObj.get("key")); + } + // validate the optional field `kind` + if (jsonObj.get("kind") != null && !jsonObj.get("kind").isJsonNull()) { + PlanLimitKind.validateJsonElement(jsonObj.get("kind")); + } + // validate the optional field `resetsOn` + if (jsonObj.get("resetsOn") != null && !jsonObj.get("resetsOn").isJsonNull()) { + TypeDate.validateJsonElement(jsonObj.get("resetsOn")); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!WorkspaceAllowance.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'WorkspaceAllowance' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(WorkspaceAllowance.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, WorkspaceAllowance value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public WorkspaceAllowance read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of WorkspaceAllowance given an JSON string + * + * @param jsonString JSON string + * @return An instance of WorkspaceAllowance + * @throws IOException if the JSON string is invalid with respect to WorkspaceAllowance + */ + public static WorkspaceAllowance fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, WorkspaceAllowance.class); + } + + /** + * Convert an instance of WorkspaceAllowance to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} + diff --git a/src/main/java/com/linkbreakers/model/WorkspaceInsight.java b/src/main/java/com/linkbreakers/model/WorkspaceInsight.java index 722f8f9d6..a788c4868 100644 --- a/src/main/java/com/linkbreakers/model/WorkspaceInsight.java +++ b/src/main/java/com/linkbreakers/model/WorkspaceInsight.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/WorkspaceMetric.java b/src/main/java/com/linkbreakers/model/WorkspaceMetric.java index d477a451d..16f120aa3 100644 --- a/src/main/java/com/linkbreakers/model/WorkspaceMetric.java +++ b/src/main/java/com/linkbreakers/model/WorkspaceMetric.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/WorkspaceToken.java b/src/main/java/com/linkbreakers/model/WorkspaceToken.java index 597df4898..dbba16fbf 100644 --- a/src/main/java/com/linkbreakers/model/WorkspaceToken.java +++ b/src/main/java/com/linkbreakers/model/WorkspaceToken.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -19,10 +19,11 @@ import com.google.gson.annotations.SerializedName; import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; -import com.linkbreakers.model.WorkspaceTokenKeyType; import java.io.IOException; import java.time.OffsetDateTime; +import java.util.ArrayList; import java.util.Arrays; +import java.util.List; import com.google.gson.Gson; import com.google.gson.GsonBuilder; @@ -62,15 +63,74 @@ public class WorkspaceToken { @javax.annotation.Nullable private String createdBy; + public static final String SERIALIZED_NAME_FULL_ACCESS = "fullAccess"; + @SerializedName(SERIALIZED_NAME_FULL_ACCESS) + @javax.annotation.Nullable + private Boolean fullAccess; + public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) @javax.annotation.Nullable private String id; + /** + * - WORKSPACE_TOKEN_KEY_TYPE_UNSPECIFIED: Default value (should not be used) - WORKSPACE_TOKEN_KEY_TYPE_SECRET: Secret key with full API access - WORKSPACE_TOKEN_KEY_TYPE_PUBLISHABLE: Publishable key with limited access + */ + @JsonAdapter(KeyTypeEnum.Adapter.class) + public enum KeyTypeEnum { + WORKSPACE_TOKEN_KEY_TYPE_UNSPECIFIED("WORKSPACE_TOKEN_KEY_TYPE_UNSPECIFIED"), + + WORKSPACE_TOKEN_KEY_TYPE_SECRET("WORKSPACE_TOKEN_KEY_TYPE_SECRET"), + + WORKSPACE_TOKEN_KEY_TYPE_PUBLISHABLE("WORKSPACE_TOKEN_KEY_TYPE_PUBLISHABLE"); + + private String value; + + KeyTypeEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static KeyTypeEnum fromValue(String value) { + for (KeyTypeEnum b : KeyTypeEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final KeyTypeEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public KeyTypeEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return KeyTypeEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + KeyTypeEnum.fromValue(value); + } + } + public static final String SERIALIZED_NAME_KEY_TYPE = "keyType"; @SerializedName(SERIALIZED_NAME_KEY_TYPE) @javax.annotation.Nullable - private WorkspaceTokenKeyType keyType; + private KeyTypeEnum keyType; public static final String SERIALIZED_NAME_LAST_USED_AT = "lastUsedAt"; @SerializedName(SERIALIZED_NAME_LAST_USED_AT) @@ -82,6 +142,119 @@ public class WorkspaceToken { @javax.annotation.Nullable private String name; + /** + * ApiScope is one permission an API token or OAuth grant can hold. A write scope also grants the read scope of the same resource. - API_SCOPE_UNSPECIFIED: Not a scope. Rejected wherever a scope is expected. - API_SCOPE_LINKS_READ: Read links, their QR code images, tags, folders and link settings. - API_SCOPE_LINKS_WRITE: Create, update and delete links, tags, folders and link settings. - API_SCOPE_WORKFLOWS_READ: Read the workflow steps behind a link and validate them. - API_SCOPE_WORKFLOWS_WRITE: Create, connect, update, lay out and delete workflow steps. - API_SCOPE_QRCODES_READ: Read QR code designs and QR code templates. - API_SCOPE_QRCODES_WRITE: Change QR code designs and create, publish and delete QR code templates. - API_SCOPE_PAGE_THEMES_READ: Read page themes and page theme templates. - API_SCOPE_PAGE_THEMES_WRITE: Change page themes and create, publish and delete page theme templates. - API_SCOPE_MEDIA_READ: Read uploaded media. - API_SCOPE_MEDIA_WRITE: Upload and delete media. - API_SCOPE_DOMAINS_READ: Read custom domains and their DNS instructions. - API_SCOPE_DOMAINS_WRITE: Add, verify, update and delete custom domains. - API_SCOPE_VISITORS_READ: Read and search visitors and their attributes. - API_SCOPE_VISITORS_WRITE: Identify, update and delete visitors and their attributes. - API_SCOPE_ANALYTICS_READ: Read events, metrics, time series, analytics data and dashboards. - API_SCOPE_ANALYTICS_WRITE: Create, update and delete analytics dashboards and generate widget summaries. - API_SCOPE_WEBHOOKS_READ: Read webhooks. - API_SCOPE_WEBHOOKS_WRITE: Create, update and delete webhooks. - API_SCOPE_INTEGRATIONS_READ: Read the Slack and Google Forms integrations. - API_SCOPE_INTEGRATIONS_WRITE: Connect, configure, test, sync and disconnect the Slack and Google Forms integrations. - API_SCOPE_WORKSPACE_READ: Read the workspace and its settings. - API_SCOPE_WORKSPACE_WRITE: Update the workspace, request enrollment and delete the workspace. - API_SCOPE_MEMBERS_READ: Read workspace members. - API_SCOPE_MEMBERS_WRITE: Update, revoke, sign out and remove members. Inviting a member or changing a sign-in email or password needs full access. - API_SCOPE_TOKENS_READ: Read API tokens and their scopes, never their secrets. - API_SCOPE_TOKENS_WRITE: Create, update and delete API tokens, limited to the scopes the calling token holds. - API_SCOPE_BILLING_WRITE: Open checkout, credit top-up and billing portal sessions. - API_SCOPE_ASSISTANT_READ: Read the Assistant conversation. - API_SCOPE_ASSISTANT_WRITE: Send files to the Assistant, clear the conversation and contact support. + */ + @JsonAdapter(ScopesEnum.Adapter.class) + public enum ScopesEnum { + API_SCOPE_UNSPECIFIED("API_SCOPE_UNSPECIFIED"), + + API_SCOPE_LINKS_READ("API_SCOPE_LINKS_READ"), + + API_SCOPE_LINKS_WRITE("API_SCOPE_LINKS_WRITE"), + + API_SCOPE_WORKFLOWS_READ("API_SCOPE_WORKFLOWS_READ"), + + API_SCOPE_WORKFLOWS_WRITE("API_SCOPE_WORKFLOWS_WRITE"), + + API_SCOPE_QRCODES_READ("API_SCOPE_QRCODES_READ"), + + API_SCOPE_QRCODES_WRITE("API_SCOPE_QRCODES_WRITE"), + + API_SCOPE_PAGE_THEMES_READ("API_SCOPE_PAGE_THEMES_READ"), + + API_SCOPE_PAGE_THEMES_WRITE("API_SCOPE_PAGE_THEMES_WRITE"), + + API_SCOPE_MEDIA_READ("API_SCOPE_MEDIA_READ"), + + API_SCOPE_MEDIA_WRITE("API_SCOPE_MEDIA_WRITE"), + + API_SCOPE_DOMAINS_READ("API_SCOPE_DOMAINS_READ"), + + API_SCOPE_DOMAINS_WRITE("API_SCOPE_DOMAINS_WRITE"), + + API_SCOPE_VISITORS_READ("API_SCOPE_VISITORS_READ"), + + API_SCOPE_VISITORS_WRITE("API_SCOPE_VISITORS_WRITE"), + + API_SCOPE_ANALYTICS_READ("API_SCOPE_ANALYTICS_READ"), + + API_SCOPE_ANALYTICS_WRITE("API_SCOPE_ANALYTICS_WRITE"), + + API_SCOPE_WEBHOOKS_READ("API_SCOPE_WEBHOOKS_READ"), + + API_SCOPE_WEBHOOKS_WRITE("API_SCOPE_WEBHOOKS_WRITE"), + + API_SCOPE_INTEGRATIONS_READ("API_SCOPE_INTEGRATIONS_READ"), + + API_SCOPE_INTEGRATIONS_WRITE("API_SCOPE_INTEGRATIONS_WRITE"), + + API_SCOPE_WORKSPACE_READ("API_SCOPE_WORKSPACE_READ"), + + API_SCOPE_WORKSPACE_WRITE("API_SCOPE_WORKSPACE_WRITE"), + + API_SCOPE_MEMBERS_READ("API_SCOPE_MEMBERS_READ"), + + API_SCOPE_MEMBERS_WRITE("API_SCOPE_MEMBERS_WRITE"), + + API_SCOPE_TOKENS_READ("API_SCOPE_TOKENS_READ"), + + API_SCOPE_TOKENS_WRITE("API_SCOPE_TOKENS_WRITE"), + + API_SCOPE_BILLING_WRITE("API_SCOPE_BILLING_WRITE"), + + API_SCOPE_ASSISTANT_READ("API_SCOPE_ASSISTANT_READ"), + + API_SCOPE_ASSISTANT_WRITE("API_SCOPE_ASSISTANT_WRITE"); + + private String value; + + ScopesEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static ScopesEnum fromValue(String value) { + for (ScopesEnum b : ScopesEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final ScopesEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public ScopesEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return ScopesEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + ScopesEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_SCOPES = "scopes"; + @SerializedName(SERIALIZED_NAME_SCOPES) + @javax.annotation.Nullable + private List scopes = new ArrayList<>(); + public static final String SERIALIZED_NAME_UPDATED_AT = "updatedAt"; @SerializedName(SERIALIZED_NAME_UPDATED_AT) @javax.annotation.Nullable @@ -97,14 +270,18 @@ public WorkspaceToken() { public WorkspaceToken( OffsetDateTime createdAt, - WorkspaceTokenKeyType keyType, + Boolean fullAccess, + KeyTypeEnum keyType, OffsetDateTime lastUsedAt, + List scopes, OffsetDateTime updatedAt ) { this(); this.createdAt = createdAt; + this.fullAccess = fullAccess; this.keyType = keyType; this.lastUsedAt = lastUsedAt; + this.scopes = scopes; this.updatedAt = updatedAt; } @@ -138,6 +315,17 @@ public void setCreatedBy(@javax.annotation.Nullable String createdBy) { } + /** + * True when the token may call every endpoint, including ones behind scopes added later. Tokens created without scopes have full access. + * @return fullAccess + */ + @javax.annotation.Nullable + public Boolean getFullAccess() { + return fullAccess; + } + + + public WorkspaceToken id(@javax.annotation.Nullable String id) { this.id = id; return this; @@ -158,11 +346,11 @@ public void setId(@javax.annotation.Nullable String id) { /** - * Get keyType + * - WORKSPACE_TOKEN_KEY_TYPE_UNSPECIFIED: Default value (should not be used) - WORKSPACE_TOKEN_KEY_TYPE_SECRET: Secret key with full API access - WORKSPACE_TOKEN_KEY_TYPE_PUBLISHABLE: Publishable key with limited access * @return keyType */ @javax.annotation.Nullable - public WorkspaceTokenKeyType getKeyType() { + public KeyTypeEnum getKeyType() { return keyType; } @@ -198,6 +386,17 @@ public void setName(@javax.annotation.Nullable String name) { } + /** + * The scopes the token holds. With full access, every scope that exists today. + * @return scopes + */ + @javax.annotation.Nullable + public List getScopes() { + return scopes; + } + + + /** * Get updatedAt * @return updatedAt @@ -240,17 +439,19 @@ public boolean equals(Object o) { WorkspaceToken workspaceToken = (WorkspaceToken) o; return Objects.equals(this.createdAt, workspaceToken.createdAt) && Objects.equals(this.createdBy, workspaceToken.createdBy) && + Objects.equals(this.fullAccess, workspaceToken.fullAccess) && Objects.equals(this.id, workspaceToken.id) && Objects.equals(this.keyType, workspaceToken.keyType) && Objects.equals(this.lastUsedAt, workspaceToken.lastUsedAt) && Objects.equals(this.name, workspaceToken.name) && + Objects.equals(this.scopes, workspaceToken.scopes) && Objects.equals(this.updatedAt, workspaceToken.updatedAt) && Objects.equals(this.workspaceId, workspaceToken.workspaceId); } @Override public int hashCode() { - return Objects.hash(createdAt, createdBy, id, keyType, lastUsedAt, name, updatedAt, workspaceId); + return Objects.hash(createdAt, createdBy, fullAccess, id, keyType, lastUsedAt, name, scopes, updatedAt, workspaceId); } @Override @@ -259,10 +460,12 @@ public String toString() { sb.append("class WorkspaceToken {\n"); sb.append(" createdAt: ").append(toIndentedString(createdAt)).append("\n"); sb.append(" createdBy: ").append(toIndentedString(createdBy)).append("\n"); + sb.append(" fullAccess: ").append(toIndentedString(fullAccess)).append("\n"); sb.append(" id: ").append(toIndentedString(id)).append("\n"); sb.append(" keyType: ").append(toIndentedString(keyType)).append("\n"); sb.append(" lastUsedAt: ").append(toIndentedString(lastUsedAt)).append("\n"); sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" scopes: ").append(toIndentedString(scopes)).append("\n"); sb.append(" updatedAt: ").append(toIndentedString(updatedAt)).append("\n"); sb.append(" workspaceId: ").append(toIndentedString(workspaceId)).append("\n"); sb.append("}"); @@ -283,7 +486,7 @@ private String toIndentedString(Object o) { static { // a set of all properties/fields (JSON key names) - openapiFields = new HashSet(Arrays.asList("createdAt", "createdBy", "id", "keyType", "lastUsedAt", "name", "updatedAt", "workspaceId")); + openapiFields = new HashSet(Arrays.asList("createdAt", "createdBy", "fullAccess", "id", "keyType", "lastUsedAt", "name", "scopes", "updatedAt", "workspaceId")); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(0); @@ -316,13 +519,20 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti if ((jsonObj.get("id") != null && !jsonObj.get("id").isJsonNull()) && !jsonObj.get("id").isJsonPrimitive()) { throw new IllegalArgumentException(String.format(java.util.Locale.ROOT, "Expected the field `id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("id").toString())); } + if ((jsonObj.get("keyType") != null && !jsonObj.get("keyType").isJsonNull()) && !jsonObj.get("keyType").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format(java.util.Locale.ROOT, "Expected the field `keyType` to be a primitive type in the JSON string but got `%s`", jsonObj.get("keyType").toString())); + } // validate the optional field `keyType` if (jsonObj.get("keyType") != null && !jsonObj.get("keyType").isJsonNull()) { - WorkspaceTokenKeyType.validateJsonElement(jsonObj.get("keyType")); + KeyTypeEnum.validateJsonElement(jsonObj.get("keyType")); } if ((jsonObj.get("name") != null && !jsonObj.get("name").isJsonNull()) && !jsonObj.get("name").isJsonPrimitive()) { throw new IllegalArgumentException(String.format(java.util.Locale.ROOT, "Expected the field `name` to be a primitive type in the JSON string but got `%s`", jsonObj.get("name").toString())); } + // ensure the optional json data is an array if present + if (jsonObj.get("scopes") != null && !jsonObj.get("scopes").isJsonNull() && !jsonObj.get("scopes").isJsonArray()) { + throw new IllegalArgumentException(String.format(java.util.Locale.ROOT, "Expected the field `scopes` to be an array in the JSON string but got `%s`", jsonObj.get("scopes").toString())); + } if ((jsonObj.get("workspaceId") != null && !jsonObj.get("workspaceId").isJsonNull()) && !jsonObj.get("workspaceId").isJsonPrimitive()) { throw new IllegalArgumentException(String.format(java.util.Locale.ROOT, "Expected the field `workspaceId` to be a primitive type in the JSON string but got `%s`", jsonObj.get("workspaceId").toString())); } diff --git a/src/main/java/com/linkbreakers/model/WorkspaceTokenKeyType.java b/src/main/java/com/linkbreakers/model/WorkspaceTokenKeyType.java index 94bf3974d..41bb5e6e1 100644 --- a/src/main/java/com/linkbreakers/model/WorkspaceTokenKeyType.java +++ b/src/main/java/com/linkbreakers/model/WorkspaceTokenKeyType.java @@ -1,8 +1,8 @@ /* * Linkbreakers API - * This is a documentation of all the APIs of Linkbreakers + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. * - * The version of the OpenAPI document: 1.144.0 + * The version of the OpenAPI document: 1.158.2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/src/main/java/com/linkbreakers/model/WorkspaceTokensServiceUpdateBody.java b/src/main/java/com/linkbreakers/model/WorkspaceTokensServiceUpdateBody.java new file mode 100644 index 000000000..5483bd8db --- /dev/null +++ b/src/main/java/com/linkbreakers/model/WorkspaceTokensServiceUpdateBody.java @@ -0,0 +1,376 @@ +/* + * Linkbreakers API + * This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. + * + * The version of the OpenAPI document: 1.158.2 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.linkbreakers.model; + +import java.util.Objects; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.reflect.TypeToken; +import com.google.gson.TypeAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import java.io.IOException; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import com.linkbreakers.JSON; + +/** + * UpdateWorkspaceTokenRequest renames a token or changes what it may access. + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.21.0") +public class WorkspaceTokensServiceUpdateBody { + public static final String SERIALIZED_NAME_FULL_ACCESS = "fullAccess"; + @SerializedName(SERIALIZED_NAME_FULL_ACCESS) + @javax.annotation.Nullable + private Boolean fullAccess; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + @javax.annotation.Nullable + private String name; + + /** + * ApiScope is one permission an API token or OAuth grant can hold. A write scope also grants the read scope of the same resource. - API_SCOPE_UNSPECIFIED: Not a scope. Rejected wherever a scope is expected. - API_SCOPE_LINKS_READ: Read links, their QR code images, tags, folders and link settings. - API_SCOPE_LINKS_WRITE: Create, update and delete links, tags, folders and link settings. - API_SCOPE_WORKFLOWS_READ: Read the workflow steps behind a link and validate them. - API_SCOPE_WORKFLOWS_WRITE: Create, connect, update, lay out and delete workflow steps. - API_SCOPE_QRCODES_READ: Read QR code designs and QR code templates. - API_SCOPE_QRCODES_WRITE: Change QR code designs and create, publish and delete QR code templates. - API_SCOPE_PAGE_THEMES_READ: Read page themes and page theme templates. - API_SCOPE_PAGE_THEMES_WRITE: Change page themes and create, publish and delete page theme templates. - API_SCOPE_MEDIA_READ: Read uploaded media. - API_SCOPE_MEDIA_WRITE: Upload and delete media. - API_SCOPE_DOMAINS_READ: Read custom domains and their DNS instructions. - API_SCOPE_DOMAINS_WRITE: Add, verify, update and delete custom domains. - API_SCOPE_VISITORS_READ: Read and search visitors and their attributes. - API_SCOPE_VISITORS_WRITE: Identify, update and delete visitors and their attributes. - API_SCOPE_ANALYTICS_READ: Read events, metrics, time series, analytics data and dashboards. - API_SCOPE_ANALYTICS_WRITE: Create, update and delete analytics dashboards and generate widget summaries. - API_SCOPE_WEBHOOKS_READ: Read webhooks. - API_SCOPE_WEBHOOKS_WRITE: Create, update and delete webhooks. - API_SCOPE_INTEGRATIONS_READ: Read the Slack and Google Forms integrations. - API_SCOPE_INTEGRATIONS_WRITE: Connect, configure, test, sync and disconnect the Slack and Google Forms integrations. - API_SCOPE_WORKSPACE_READ: Read the workspace and its settings. - API_SCOPE_WORKSPACE_WRITE: Update the workspace, request enrollment and delete the workspace. - API_SCOPE_MEMBERS_READ: Read workspace members. - API_SCOPE_MEMBERS_WRITE: Update, revoke, sign out and remove members. Inviting a member or changing a sign-in email or password needs full access. - API_SCOPE_TOKENS_READ: Read API tokens and their scopes, never their secrets. - API_SCOPE_TOKENS_WRITE: Create, update and delete API tokens, limited to the scopes the calling token holds. - API_SCOPE_BILLING_WRITE: Open checkout, credit top-up and billing portal sessions. - API_SCOPE_ASSISTANT_READ: Read the Assistant conversation. - API_SCOPE_ASSISTANT_WRITE: Send files to the Assistant, clear the conversation and contact support. + */ + @JsonAdapter(ScopesEnum.Adapter.class) + public enum ScopesEnum { + API_SCOPE_UNSPECIFIED("API_SCOPE_UNSPECIFIED"), + + API_SCOPE_LINKS_READ("API_SCOPE_LINKS_READ"), + + API_SCOPE_LINKS_WRITE("API_SCOPE_LINKS_WRITE"), + + API_SCOPE_WORKFLOWS_READ("API_SCOPE_WORKFLOWS_READ"), + + API_SCOPE_WORKFLOWS_WRITE("API_SCOPE_WORKFLOWS_WRITE"), + + API_SCOPE_QRCODES_READ("API_SCOPE_QRCODES_READ"), + + API_SCOPE_QRCODES_WRITE("API_SCOPE_QRCODES_WRITE"), + + API_SCOPE_PAGE_THEMES_READ("API_SCOPE_PAGE_THEMES_READ"), + + API_SCOPE_PAGE_THEMES_WRITE("API_SCOPE_PAGE_THEMES_WRITE"), + + API_SCOPE_MEDIA_READ("API_SCOPE_MEDIA_READ"), + + API_SCOPE_MEDIA_WRITE("API_SCOPE_MEDIA_WRITE"), + + API_SCOPE_DOMAINS_READ("API_SCOPE_DOMAINS_READ"), + + API_SCOPE_DOMAINS_WRITE("API_SCOPE_DOMAINS_WRITE"), + + API_SCOPE_VISITORS_READ("API_SCOPE_VISITORS_READ"), + + API_SCOPE_VISITORS_WRITE("API_SCOPE_VISITORS_WRITE"), + + API_SCOPE_ANALYTICS_READ("API_SCOPE_ANALYTICS_READ"), + + API_SCOPE_ANALYTICS_WRITE("API_SCOPE_ANALYTICS_WRITE"), + + API_SCOPE_WEBHOOKS_READ("API_SCOPE_WEBHOOKS_READ"), + + API_SCOPE_WEBHOOKS_WRITE("API_SCOPE_WEBHOOKS_WRITE"), + + API_SCOPE_INTEGRATIONS_READ("API_SCOPE_INTEGRATIONS_READ"), + + API_SCOPE_INTEGRATIONS_WRITE("API_SCOPE_INTEGRATIONS_WRITE"), + + API_SCOPE_WORKSPACE_READ("API_SCOPE_WORKSPACE_READ"), + + API_SCOPE_WORKSPACE_WRITE("API_SCOPE_WORKSPACE_WRITE"), + + API_SCOPE_MEMBERS_READ("API_SCOPE_MEMBERS_READ"), + + API_SCOPE_MEMBERS_WRITE("API_SCOPE_MEMBERS_WRITE"), + + API_SCOPE_TOKENS_READ("API_SCOPE_TOKENS_READ"), + + API_SCOPE_TOKENS_WRITE("API_SCOPE_TOKENS_WRITE"), + + API_SCOPE_BILLING_WRITE("API_SCOPE_BILLING_WRITE"), + + API_SCOPE_ASSISTANT_READ("API_SCOPE_ASSISTANT_READ"), + + API_SCOPE_ASSISTANT_WRITE("API_SCOPE_ASSISTANT_WRITE"); + + private String value; + + ScopesEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static ScopesEnum fromValue(String value) { + for (ScopesEnum b : ScopesEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final ScopesEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public ScopesEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return ScopesEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + ScopesEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_SCOPES = "scopes"; + @SerializedName(SERIALIZED_NAME_SCOPES) + @javax.annotation.Nullable + private List scopes = new ArrayList<>(); + + public WorkspaceTokensServiceUpdateBody() { + } + + public WorkspaceTokensServiceUpdateBody fullAccess(@javax.annotation.Nullable Boolean fullAccess) { + this.fullAccess = fullAccess; + return this; + } + + /** + * Set to true to give the token full access again. Cannot be combined with scopes. + * @return fullAccess + */ + @javax.annotation.Nullable + public Boolean getFullAccess() { + return fullAccess; + } + + public void setFullAccess(@javax.annotation.Nullable Boolean fullAccess) { + this.fullAccess = fullAccess; + } + + + public WorkspaceTokensServiceUpdateBody name(@javax.annotation.Nullable String name) { + this.name = name; + return this; + } + + /** + * New name for the token. Left unchanged when omitted. + * @return name + */ + @javax.annotation.Nullable + public String getName() { + return name; + } + + public void setName(@javax.annotation.Nullable String name) { + this.name = name; + } + + + public WorkspaceTokensServiceUpdateBody scopes(@javax.annotation.Nullable List scopes) { + this.scopes = scopes; + return this; + } + + public WorkspaceTokensServiceUpdateBody addScopesItem(ScopesEnum scopesItem) { + if (this.scopes == null) { + this.scopes = new ArrayList<>(); + } + this.scopes.add(scopesItem); + return this; + } + + /** + * Replace the token's scopes with these. Cannot be combined with full_access. + * @return scopes + */ + @javax.annotation.Nullable + public List getScopes() { + return scopes; + } + + public void setScopes(@javax.annotation.Nullable List scopes) { + this.scopes = scopes; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + WorkspaceTokensServiceUpdateBody workspaceTokensServiceUpdateBody = (WorkspaceTokensServiceUpdateBody) o; + return Objects.equals(this.fullAccess, workspaceTokensServiceUpdateBody.fullAccess) && + Objects.equals(this.name, workspaceTokensServiceUpdateBody.name) && + Objects.equals(this.scopes, workspaceTokensServiceUpdateBody.scopes); + } + + @Override + public int hashCode() { + return Objects.hash(fullAccess, name, scopes); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class WorkspaceTokensServiceUpdateBody {\n"); + sb.append(" fullAccess: ").append(toIndentedString(fullAccess)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" scopes: ").append(toIndentedString(scopes)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + return o == null ? "null" : o.toString().replace("\n", "\n "); + } + + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(Arrays.asList("fullAccess", "name", "scopes")); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(0); + } + + /** + * Validates the JSON Element and throws an exception if issues found + * + * @param jsonElement JSON Element + * @throws IOException if the JSON Element is invalid with respect to WorkspaceTokensServiceUpdateBody + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!WorkspaceTokensServiceUpdateBody.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format(java.util.Locale.ROOT, "The required field(s) %s in WorkspaceTokensServiceUpdateBody is not found in the empty JSON string", WorkspaceTokensServiceUpdateBody.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!WorkspaceTokensServiceUpdateBody.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format(java.util.Locale.ROOT, "The field `%s` in the JSON string is not defined in the `WorkspaceTokensServiceUpdateBody` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("name") != null && !jsonObj.get("name").isJsonNull()) && !jsonObj.get("name").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format(java.util.Locale.ROOT, "Expected the field `name` to be a primitive type in the JSON string but got `%s`", jsonObj.get("name").toString())); + } + // ensure the optional json data is an array if present + if (jsonObj.get("scopes") != null && !jsonObj.get("scopes").isJsonNull() && !jsonObj.get("scopes").isJsonArray()) { + throw new IllegalArgumentException(String.format(java.util.Locale.ROOT, "Expected the field `scopes` to be an array in the JSON string but got `%s`", jsonObj.get("scopes").toString())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!WorkspaceTokensServiceUpdateBody.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'WorkspaceTokensServiceUpdateBody' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(WorkspaceTokensServiceUpdateBody.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, WorkspaceTokensServiceUpdateBody value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public WorkspaceTokensServiceUpdateBody read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of WorkspaceTokensServiceUpdateBody given an JSON string + * + * @param jsonString JSON string + * @return An instance of WorkspaceTokensServiceUpdateBody + * @throws IOException if the JSON string is invalid with respect to WorkspaceTokensServiceUpdateBody + */ + public static WorkspaceTokensServiceUpdateBody fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, WorkspaceTokensServiceUpdateBody.class); + } + + /** + * Convert an instance of WorkspaceTokensServiceUpdateBody to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} +