|
7 | 7 |
|
8 | 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. ## Identifying your client Send a `Linkbreakers-Client` request header saying which client made the call: `<client>/<version> (<details>)`, for example `my-integration/1.2.0 (python 3.12; linux)`. The official SDKs, the CLI and the MCP bridge set it for you, as `sdk-python/2.3.1 (python 3.12.4; linux)` or `cli/1.4.0 (darwin arm64)`. It is optional and changes nothing about how a request is handled; it tells us which clients and versions are in use, so we know what can be retired and what to fix first. Keep the details short and free of personal data. Browsers may send it too: it is allowed by CORS. |
9 | 9 |
|
10 | | - The version of the OpenAPI document: 1.187.0 |
| 10 | + The version of the OpenAPI document: 1.187.1 |
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.187.0" |
| 18 | +__version__ = "1.187.1" |
19 | 19 |
|
20 | 20 | # Define package exports |
21 | 21 | __all__ = [ |
22 | 22 | "APIScopesApi", |
23 | 23 | "AgentIdentityApi", |
| 24 | + "AgentsApi", |
24 | 25 | "AllowancesApi", |
25 | 26 | "AnalyticsDashboardApi", |
26 | 27 | "AnalyticsDataApi", |
|
63 | 64 | "ApiAttributeError", |
64 | 65 | "ApiException", |
65 | 66 | "Action", |
| 67 | + "Agent", |
66 | 68 | "AgentClaim", |
67 | 69 | "AgentClaimStatus", |
| 70 | + "AgentGuardrail", |
| 71 | + "AgentGuardrailList", |
| 72 | + "AgentGuardrailPreset", |
| 73 | + "AgentKnowledgeDocument", |
| 74 | + "AgentLimits", |
| 75 | + "AgentQuestionHandling", |
| 76 | + "AgentQuestionHandlingPreset", |
| 77 | + "AgentReplyLength", |
| 78 | + "AgentReplyLengthPreset", |
| 79 | + "AgentRole", |
| 80 | + "AgentRolePreset", |
| 81 | + "AgentTone", |
| 82 | + "AgentTonePreset", |
| 83 | + "AgentUsage", |
| 84 | + "AgentsServiceCreateKnowledgeDocumentBody", |
| 85 | + "AgentsServiceUpdateBody", |
| 86 | + "AgentsServiceUpdateKnowledgeDocumentBody", |
68 | 87 | "AnalyticsDashboard", |
69 | 88 | "AnalyticsDashboardServiceGenerateWidgetSummaryBody", |
70 | 89 | "AnalyticsDashboardServiceUpdateDashboardBody", |
|
99 | 118 | "BillingInterval", |
100 | 119 | "BreakdownDataPoint", |
101 | 120 | "CanvasPosition", |
| 121 | + "ChatBotCollectedValue", |
| 122 | + "ChatBotMessageAuthor", |
| 123 | + "ChatBotObjective", |
| 124 | + "ChatBotOutcome", |
| 125 | + "ChatBotPayload", |
| 126 | + "ChatBotTraceData", |
| 127 | + "ChatBotTraceMessage", |
102 | 128 | "ChatDisplayMessage", |
103 | 129 | "ChatUIAction", |
104 | 130 | "ChatUIOption", |
|
123 | 149 | "CountryConditionPayload", |
124 | 150 | "CountryConditionTraceData", |
125 | 151 | "CountryConditionTraceOption", |
| 152 | + "CreateAgentKnowledgeDocumentResponse", |
| 153 | + "CreateAgentRequest", |
| 154 | + "CreateAgentResponse", |
126 | 155 | "CreateBulkLinksRequest", |
127 | 156 | "CreateBulkLinksResponse", |
128 | 157 | "CreateContactLinkRequest", |
|
244 | 273 | "GenerateWidgetSummaryResponse", |
245 | 274 | "GeoDataPoint", |
246 | 275 | "GetAgentClaimRequest", |
| 276 | + "GetAgentResponse", |
247 | 277 | "GetAttributeDistributionRequest", |
248 | 278 | "GetAttributeDistributionResponse", |
249 | 279 | "GetAttributeMetricRequest", |
|
323 | 353 | "LinksBulkCreateResult", |
324 | 354 | "LinksServiceRenderQrcodeImagesBody", |
325 | 355 | "LinksServiceUpdateBody", |
| 356 | + "ListAgentPresetsResponse", |
| 357 | + "ListAgentsResponse", |
326 | 358 | "ListAllowancesResponse", |
327 | 359 | "ListApiScopesResponse", |
328 | 360 | "ListCustomDomainsResponse", |
|
503 | 535 | "TopLinkDataPoint", |
504 | 536 | "TriggeredBy", |
505 | 537 | "TypeDate", |
| 538 | + "UpdateAgentKnowledgeDocumentResponse", |
| 539 | + "UpdateAgentResponse", |
506 | 540 | "UpdateCustomDomainResponse", |
507 | 541 | "UpdateDashboardResponse", |
508 | 542 | "UpdateDataCollectionRequest", |
|
594 | 628 | # import apis into sdk package |
595 | 629 | from linkbreakers.api.api_scopes_api import APIScopesApi as APIScopesApi |
596 | 630 | from linkbreakers.api.agent_identity_api import AgentIdentityApi as AgentIdentityApi |
| 631 | +from linkbreakers.api.agents_api import AgentsApi as AgentsApi |
597 | 632 | from linkbreakers.api.allowances_api import AllowancesApi as AllowancesApi |
598 | 633 | from linkbreakers.api.analytics_dashboard_api import AnalyticsDashboardApi as AnalyticsDashboardApi |
599 | 634 | from linkbreakers.api.analytics_data_api import AnalyticsDataApi as AnalyticsDataApi |
|
640 | 675 |
|
641 | 676 | # import models into sdk package |
642 | 677 | from linkbreakers.models.action import Action as Action |
| 678 | +from linkbreakers.models.agent import Agent as Agent |
643 | 679 | from linkbreakers.models.agent_claim import AgentClaim as AgentClaim |
644 | 680 | from linkbreakers.models.agent_claim_status import AgentClaimStatus as AgentClaimStatus |
| 681 | +from linkbreakers.models.agent_guardrail import AgentGuardrail as AgentGuardrail |
| 682 | +from linkbreakers.models.agent_guardrail_list import AgentGuardrailList as AgentGuardrailList |
| 683 | +from linkbreakers.models.agent_guardrail_preset import AgentGuardrailPreset as AgentGuardrailPreset |
| 684 | +from linkbreakers.models.agent_knowledge_document import AgentKnowledgeDocument as AgentKnowledgeDocument |
| 685 | +from linkbreakers.models.agent_limits import AgentLimits as AgentLimits |
| 686 | +from linkbreakers.models.agent_question_handling import AgentQuestionHandling as AgentQuestionHandling |
| 687 | +from linkbreakers.models.agent_question_handling_preset import AgentQuestionHandlingPreset as AgentQuestionHandlingPreset |
| 688 | +from linkbreakers.models.agent_reply_length import AgentReplyLength as AgentReplyLength |
| 689 | +from linkbreakers.models.agent_reply_length_preset import AgentReplyLengthPreset as AgentReplyLengthPreset |
| 690 | +from linkbreakers.models.agent_role import AgentRole as AgentRole |
| 691 | +from linkbreakers.models.agent_role_preset import AgentRolePreset as AgentRolePreset |
| 692 | +from linkbreakers.models.agent_tone import AgentTone as AgentTone |
| 693 | +from linkbreakers.models.agent_tone_preset import AgentTonePreset as AgentTonePreset |
| 694 | +from linkbreakers.models.agent_usage import AgentUsage as AgentUsage |
| 695 | +from linkbreakers.models.agents_service_create_knowledge_document_body import AgentsServiceCreateKnowledgeDocumentBody as AgentsServiceCreateKnowledgeDocumentBody |
| 696 | +from linkbreakers.models.agents_service_update_body import AgentsServiceUpdateBody as AgentsServiceUpdateBody |
| 697 | +from linkbreakers.models.agents_service_update_knowledge_document_body import AgentsServiceUpdateKnowledgeDocumentBody as AgentsServiceUpdateKnowledgeDocumentBody |
645 | 698 | from linkbreakers.models.analytics_dashboard import AnalyticsDashboard as AnalyticsDashboard |
646 | 699 | from linkbreakers.models.analytics_dashboard_service_generate_widget_summary_body import AnalyticsDashboardServiceGenerateWidgetSummaryBody as AnalyticsDashboardServiceGenerateWidgetSummaryBody |
647 | 700 | from linkbreakers.models.analytics_dashboard_service_update_dashboard_body import AnalyticsDashboardServiceUpdateDashboardBody as AnalyticsDashboardServiceUpdateDashboardBody |
|
676 | 729 | from linkbreakers.models.billing_interval import BillingInterval as BillingInterval |
677 | 730 | from linkbreakers.models.breakdown_data_point import BreakdownDataPoint as BreakdownDataPoint |
678 | 731 | from linkbreakers.models.canvas_position import CanvasPosition as CanvasPosition |
| 732 | +from linkbreakers.models.chat_bot_collected_value import ChatBotCollectedValue as ChatBotCollectedValue |
| 733 | +from linkbreakers.models.chat_bot_message_author import ChatBotMessageAuthor as ChatBotMessageAuthor |
| 734 | +from linkbreakers.models.chat_bot_objective import ChatBotObjective as ChatBotObjective |
| 735 | +from linkbreakers.models.chat_bot_outcome import ChatBotOutcome as ChatBotOutcome |
| 736 | +from linkbreakers.models.chat_bot_payload import ChatBotPayload as ChatBotPayload |
| 737 | +from linkbreakers.models.chat_bot_trace_data import ChatBotTraceData as ChatBotTraceData |
| 738 | +from linkbreakers.models.chat_bot_trace_message import ChatBotTraceMessage as ChatBotTraceMessage |
679 | 739 | from linkbreakers.models.chat_display_message import ChatDisplayMessage as ChatDisplayMessage |
680 | 740 | from linkbreakers.models.chat_ui_action import ChatUIAction as ChatUIAction |
681 | 741 | from linkbreakers.models.chat_ui_option import ChatUIOption as ChatUIOption |
|
700 | 760 | from linkbreakers.models.country_condition_payload import CountryConditionPayload as CountryConditionPayload |
701 | 761 | from linkbreakers.models.country_condition_trace_data import CountryConditionTraceData as CountryConditionTraceData |
702 | 762 | from linkbreakers.models.country_condition_trace_option import CountryConditionTraceOption as CountryConditionTraceOption |
| 763 | +from linkbreakers.models.create_agent_knowledge_document_response import CreateAgentKnowledgeDocumentResponse as CreateAgentKnowledgeDocumentResponse |
| 764 | +from linkbreakers.models.create_agent_request import CreateAgentRequest as CreateAgentRequest |
| 765 | +from linkbreakers.models.create_agent_response import CreateAgentResponse as CreateAgentResponse |
703 | 766 | from linkbreakers.models.create_bulk_links_request import CreateBulkLinksRequest as CreateBulkLinksRequest |
704 | 767 | from linkbreakers.models.create_bulk_links_response import CreateBulkLinksResponse as CreateBulkLinksResponse |
705 | 768 | from linkbreakers.models.create_contact_link_request import CreateContactLinkRequest as CreateContactLinkRequest |
|
821 | 884 | from linkbreakers.models.generate_widget_summary_response import GenerateWidgetSummaryResponse as GenerateWidgetSummaryResponse |
822 | 885 | from linkbreakers.models.geo_data_point import GeoDataPoint as GeoDataPoint |
823 | 886 | from linkbreakers.models.get_agent_claim_request import GetAgentClaimRequest as GetAgentClaimRequest |
| 887 | +from linkbreakers.models.get_agent_response import GetAgentResponse as GetAgentResponse |
824 | 888 | from linkbreakers.models.get_attribute_distribution_request import GetAttributeDistributionRequest as GetAttributeDistributionRequest |
825 | 889 | from linkbreakers.models.get_attribute_distribution_response import GetAttributeDistributionResponse as GetAttributeDistributionResponse |
826 | 890 | from linkbreakers.models.get_attribute_metric_request import GetAttributeMetricRequest as GetAttributeMetricRequest |
|
900 | 964 | from linkbreakers.models.links_bulk_create_result import LinksBulkCreateResult as LinksBulkCreateResult |
901 | 965 | from linkbreakers.models.links_service_render_qrcode_images_body import LinksServiceRenderQrcodeImagesBody as LinksServiceRenderQrcodeImagesBody |
902 | 966 | from linkbreakers.models.links_service_update_body import LinksServiceUpdateBody as LinksServiceUpdateBody |
| 967 | +from linkbreakers.models.list_agent_presets_response import ListAgentPresetsResponse as ListAgentPresetsResponse |
| 968 | +from linkbreakers.models.list_agents_response import ListAgentsResponse as ListAgentsResponse |
903 | 969 | from linkbreakers.models.list_allowances_response import ListAllowancesResponse as ListAllowancesResponse |
904 | 970 | from linkbreakers.models.list_api_scopes_response import ListApiScopesResponse as ListApiScopesResponse |
905 | 971 | from linkbreakers.models.list_custom_domains_response import ListCustomDomainsResponse as ListCustomDomainsResponse |
|
1080 | 1146 | from linkbreakers.models.top_link_data_point import TopLinkDataPoint as TopLinkDataPoint |
1081 | 1147 | from linkbreakers.models.triggered_by import TriggeredBy as TriggeredBy |
1082 | 1148 | from linkbreakers.models.type_date import TypeDate as TypeDate |
| 1149 | +from linkbreakers.models.update_agent_knowledge_document_response import UpdateAgentKnowledgeDocumentResponse as UpdateAgentKnowledgeDocumentResponse |
| 1150 | +from linkbreakers.models.update_agent_response import UpdateAgentResponse as UpdateAgentResponse |
1083 | 1151 | from linkbreakers.models.update_custom_domain_response import UpdateCustomDomainResponse as UpdateCustomDomainResponse |
1084 | 1152 | from linkbreakers.models.update_dashboard_response import UpdateDashboardResponse as UpdateDashboardResponse |
1085 | 1153 | from linkbreakers.models.update_data_collection_request import UpdateDataCollectionRequest as UpdateDataCollectionRequest |
|
0 commit comments