|
5 | 5 | """ |
6 | 6 | Linkbreakers API |
7 | 7 |
|
8 | | - This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 600 requests per 60 seconds, per token. - Dashboard session or OAuth token: 500 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. |
| 8 | + This is a documentation of all the APIs of Linkbreakers ## Entry points `GET https://api.linkbreakers.com/` and `GET https://api.linkbreakers.com/v1` answer without credentials with the API's name, version and links. This document is served at `https://api.linkbreakers.com/openapi.json`. ## Rate limits Every response describes where the caller stands in the IETF `RateLimit-Policy` and `RateLimit` header fields (draft-ietf-httpapi-ratelimit-headers), and in `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset` and `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` (a Unix timestamp) for clients that read those. A request past the limit gets `429 Too Many Requests` with `Retry-After` in seconds. - Workspace API token: 720 requests per 60 seconds, per token. - Dashboard session or OAuth token: 600 requests per 60 seconds, per token. - No credentials: 300 requests per 60 seconds, per client IP. Each plan also includes a number of API calls per billing cycle. Past it, calls answer `429` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the cycle renews or the plan changes. ## Pagination Every list pages with opaque cursors (AIP-158). Pass `pageSize`, then send the `nextPageToken` of each response back as `pageToken` (or its alias `cursor`) to get the next page. An empty or absent `nextPageToken` means the list is complete. Each list operation describes this in `x-pagination`. ## Batches and background jobs `POST /v1/links/bulk` creates up to 250 links in one transactional request; `POST /v1/links/batch` takes the same links as a bare JSON array. `POST /v1/links/bulk/jobs` accepts the same batch and answers `202 Accepted` at once with a job and a `Location` header; poll `GET /v1/jobs/{id}` until `status` is `JOB_STATUS_SUCCEEDED` (the created link ids are in `linksBulkCreate.linkIds`) or `JOB_STATUS_FAILED` (`error` says why, and nothing was created). Jobs can be read for 24 hours after they finish. ## Versioning and deprecation The version is in the path: every operation lives under `/v1`. Within a version, changes are additive only: new operations, new optional request fields, new response fields and new enum values. Clients should ignore fields and enum values they do not know. Anything that would break an existing client ships under a new path version instead. An operation is retired in two steps. First it is deprecated: it keeps working, is flagged `deprecated: true` in this document, and every response carries a `Deprecation` header field (RFC 9745) with the time it was deprecated and a `Link` with `rel=\"deprecation\"` to the policy. Then, at least 180 days later, it may be removed; that date is announced in advance in a `Sunset` header field (RFC 8594) and as `x-sunset` on the operation. The full policy: https://linkbreakers.com/help/article/api-versioning-and-deprecation-policy ## Idempotent retries Every POST, PUT and PATCH accepts an optional `Idempotency-Key` header (draft-ietf-httpapi-idempotency-key-header). Send a new unique value, such as a UUID, with each logical request and reuse it only to retry that request. A retry with the same key and the same request returns the first response, marked `Idempotent-Replayed: true`, instead of running again. Keys are scoped to the token and kept for 24 hours. The same key with a different request is refused with `422`, and a retry while the first request is still running gets `409` with `Retry-After`. Server errors (5xx) and refusals such as 401, 403 and 429 are not stored, so retrying them runs the request again. |
9 | 9 |
|
10 | | - The version of the OpenAPI document: 1.183.3 |
| 10 | + The version of the OpenAPI document: 1.184.0 |
11 | 11 | Contact: support@linkbreakers.com |
12 | 12 | Generated by OpenAPI Generator (https://openapi-generator.tech) |
13 | 13 |
|
14 | 14 | Do not edit the class manually. |
15 | 15 | """ # noqa: E501 |
16 | 16 |
|
17 | 17 |
|
18 | | -__version__ = "1.183.3" |
| 18 | +__version__ = "1.184.0" |
19 | 19 |
|
20 | 20 | # Define package exports |
21 | 21 | __all__ = [ |
|
41 | 41 | "PricingApi", |
42 | 42 | "QRCodeDesignsApi", |
43 | 43 | "QRCodeTemplatesApi", |
44 | | - "SandboxesApi", |
45 | 44 | "SlackIntegrationsApi", |
46 | 45 | "TagsApi", |
47 | 46 | "TimeSeriesApi", |
|
139 | 138 | "CreateMediaResponse", |
140 | 139 | "CreateMediaUploadRequest", |
141 | 140 | "CreateMediaUploadResponse", |
| 141 | + "CreateMyWorkspaceRequest", |
| 142 | + "CreateMyWorkspaceResponse", |
142 | 143 | "CreateOpenMediaLinkRequest", |
143 | 144 | "CreateOpenMediaLinkResponse", |
144 | 145 | "CreatePageThemeTemplateRequest", |
145 | 146 | "CreatePageThemeTemplateResponse", |
146 | 147 | "CreateQrcodeTemplateRequest", |
147 | 148 | "CreateQrcodeTemplateResponse", |
148 | | - "CreateSandboxRequest", |
149 | | - "CreateSandboxResponse", |
150 | 149 | "CreateThankYouLinkRequest", |
151 | 150 | "CreateThankYouLinkResponse", |
152 | 151 | "CreateWebhookRequest", |
|
326 | 325 | "ListPricingPlansResponse", |
327 | 326 | "ListQrcodeTemplatesResponse", |
328 | 327 | "ListResponse", |
329 | | - "ListSandboxesResponse", |
330 | 328 | "ListSlackChannelsResponse", |
331 | 329 | "ListTagsResponse", |
332 | 330 | "ListVisitorAttributeKeysResponse", |
|
337 | 335 | "ListWebhooksResponse", |
338 | 336 | "ListWorkflowStepsResponse", |
339 | 337 | "ListWorkspaceTokensResponse", |
| 338 | + "LocationRequestOutcome", |
| 339 | + "LocationRequestPayload", |
| 340 | + "LocationRequestTraceData", |
340 | 341 | "Media", |
341 | 342 | "MediaKind", |
342 | 343 | "MediaReference", |
|
418 | 419 | "ResolveStepCollisionsResponse", |
419 | 420 | "ResponseFormat", |
420 | 421 | "Role", |
421 | | - "Sandbox", |
422 | 422 | "SettingsServiceUpdateLinkSettingBody", |
423 | 423 | "Shape", |
424 | 424 | "ShortlinkAvailabilityResponse", |
|
571 | 571 | from linkbreakers.api.pricing_api import PricingApi as PricingApi |
572 | 572 | from linkbreakers.api.qr_code_designs_api import QRCodeDesignsApi as QRCodeDesignsApi |
573 | 573 | from linkbreakers.api.qr_code_templates_api import QRCodeTemplatesApi as QRCodeTemplatesApi |
574 | | -from linkbreakers.api.sandboxes_api import SandboxesApi as SandboxesApi |
575 | 574 | from linkbreakers.api.slack_integrations_api import SlackIntegrationsApi as SlackIntegrationsApi |
576 | 575 | from linkbreakers.api.tags_api import TagsApi as TagsApi |
577 | 576 | from linkbreakers.api.time_series_api import TimeSeriesApi as TimeSeriesApi |
|
673 | 672 | from linkbreakers.models.create_media_response import CreateMediaResponse as CreateMediaResponse |
674 | 673 | from linkbreakers.models.create_media_upload_request import CreateMediaUploadRequest as CreateMediaUploadRequest |
675 | 674 | from linkbreakers.models.create_media_upload_response import CreateMediaUploadResponse as CreateMediaUploadResponse |
| 675 | +from linkbreakers.models.create_my_workspace_request import CreateMyWorkspaceRequest as CreateMyWorkspaceRequest |
| 676 | +from linkbreakers.models.create_my_workspace_response import CreateMyWorkspaceResponse as CreateMyWorkspaceResponse |
676 | 677 | from linkbreakers.models.create_open_media_link_request import CreateOpenMediaLinkRequest as CreateOpenMediaLinkRequest |
677 | 678 | from linkbreakers.models.create_open_media_link_response import CreateOpenMediaLinkResponse as CreateOpenMediaLinkResponse |
678 | 679 | from linkbreakers.models.create_page_theme_template_request import CreatePageThemeTemplateRequest as CreatePageThemeTemplateRequest |
679 | 680 | from linkbreakers.models.create_page_theme_template_response import CreatePageThemeTemplateResponse as CreatePageThemeTemplateResponse |
680 | 681 | from linkbreakers.models.create_qrcode_template_request import CreateQrcodeTemplateRequest as CreateQrcodeTemplateRequest |
681 | 682 | from linkbreakers.models.create_qrcode_template_response import CreateQrcodeTemplateResponse as CreateQrcodeTemplateResponse |
682 | | -from linkbreakers.models.create_sandbox_request import CreateSandboxRequest as CreateSandboxRequest |
683 | | -from linkbreakers.models.create_sandbox_response import CreateSandboxResponse as CreateSandboxResponse |
684 | 683 | from linkbreakers.models.create_thank_you_link_request import CreateThankYouLinkRequest as CreateThankYouLinkRequest |
685 | 684 | from linkbreakers.models.create_thank_you_link_response import CreateThankYouLinkResponse as CreateThankYouLinkResponse |
686 | 685 | from linkbreakers.models.create_webhook_request import CreateWebhookRequest as CreateWebhookRequest |
|
860 | 859 | from linkbreakers.models.list_pricing_plans_response import ListPricingPlansResponse as ListPricingPlansResponse |
861 | 860 | from linkbreakers.models.list_qrcode_templates_response import ListQrcodeTemplatesResponse as ListQrcodeTemplatesResponse |
862 | 861 | from linkbreakers.models.list_response import ListResponse as ListResponse |
863 | | -from linkbreakers.models.list_sandboxes_response import ListSandboxesResponse as ListSandboxesResponse |
864 | 862 | from linkbreakers.models.list_slack_channels_response import ListSlackChannelsResponse as ListSlackChannelsResponse |
865 | 863 | from linkbreakers.models.list_tags_response import ListTagsResponse as ListTagsResponse |
866 | 864 | from linkbreakers.models.list_visitor_attribute_keys_response import ListVisitorAttributeKeysResponse as ListVisitorAttributeKeysResponse |
|
871 | 869 | from linkbreakers.models.list_webhooks_response import ListWebhooksResponse as ListWebhooksResponse |
872 | 870 | from linkbreakers.models.list_workflow_steps_response import ListWorkflowStepsResponse as ListWorkflowStepsResponse |
873 | 871 | from linkbreakers.models.list_workspace_tokens_response import ListWorkspaceTokensResponse as ListWorkspaceTokensResponse |
| 872 | +from linkbreakers.models.location_request_outcome import LocationRequestOutcome as LocationRequestOutcome |
| 873 | +from linkbreakers.models.location_request_payload import LocationRequestPayload as LocationRequestPayload |
| 874 | +from linkbreakers.models.location_request_trace_data import LocationRequestTraceData as LocationRequestTraceData |
874 | 875 | from linkbreakers.models.media import Media as Media |
875 | 876 | from linkbreakers.models.media_kind import MediaKind as MediaKind |
876 | 877 | from linkbreakers.models.media_reference import MediaReference as MediaReference |
|
952 | 953 | from linkbreakers.models.resolve_step_collisions_response import ResolveStepCollisionsResponse as ResolveStepCollisionsResponse |
953 | 954 | from linkbreakers.models.response_format import ResponseFormat as ResponseFormat |
954 | 955 | from linkbreakers.models.role import Role as Role |
955 | | -from linkbreakers.models.sandbox import Sandbox as Sandbox |
956 | 956 | from linkbreakers.models.settings_service_update_link_setting_body import SettingsServiceUpdateLinkSettingBody as SettingsServiceUpdateLinkSettingBody |
957 | 957 | from linkbreakers.models.shape import Shape as Shape |
958 | 958 | from linkbreakers.models.shortlink_availability_response import ShortlinkAvailabilityResponse as ShortlinkAvailabilityResponse |
|
0 commit comments