openapi: 3.2.0 info: title: Gtm Antidetect Browser Proxies API version: '1.0' contact: name: GTM API url: https://gtm-api.com email: support@gtm-api.com license: name: Proprietary url: https://gtm-api.com/license description: 'Operations tagged antidetect_browser_proxies across 2 of this provider''s published API definitions: gtm-api-openapi-openapi.yml, gtm-api-linkedin-openapi.yaml. Each path carries the servers of the definition it was published in.' servers: - url: https://app.gtm-api.com/linkedin/v4 description: Production, through the app.gtm-api.com gateway security: - BearerJwt: [] TeamSid: [] tags: - name: antidetect_browser_proxies description: Registry package `mcp.linkedin/antidetect_browser_proxies`, served on MCP mount `linkedin.browsers`. paths: /api/antidetect-browser-proxies/check-proxy-connectivity: post: operationId: check_antidetect_browser_proxy_connectivity summary: Check proxy connectivity description: 'Probe connectivity + latency for one or many proxies. Target EXACTLY ONE of sid (ab_px_) or filter; filter mode checks up to an inline cap and reports total_matched (truncated:true when the cap was hit). Read-only probe, no row mutation. Contract: - MCP tool `check_antidetect_browser_proxy_connectivity`, registry package `mcp.linkedin/antidetect_browser_proxies`, mount `linkedin.browsers`. - Operation `action`, response envelope `action`. - Flags: mass action: this verb''s own request accepts a filter or targets[] set, which the owning service drains.' tags: - antidetect_browser_proxies requestBody: required: false content: application/json: schema: $ref: '#/components/schemas/CheckAntidetectBrowserProxyConnectivityRequest' responses: '200': description: '`action` success envelope.' content: application/json: schema: $ref: '#/components/schemas/CheckAntidetectBrowserProxyConnectivityResponse' 4XX: $ref: '#/components/responses/McpClientError' 5XX: $ref: '#/components/responses/McpServerError' x-gtm-mcp-tool: check_antidetect_browser_proxy_connectivity x-gtm-mcp-mount: linkedin.browsers x-gtm-entity: antidetect_browser_proxies x-gtm-operation: action x-gtm-envelope: action x-gtm-availability: ga x-gtm-dangerous: false x-gtm-mass-action: true x-gtm-step-eligible: false x-gtm-schedule-required: false x-gtm-tool-class: typical servers: - url: https://app.gtm-api.com/linkedin/v4 description: Production, through the app.gtm-api.com gateway /api/antidetect-browser-proxies/check-proxy-location: post: operationId: check_antidetect_browser_proxy_location summary: Check proxy location description: 'Run a multi-vendor geo + fraud check on one or many proxies. Target EXACTLY ONE of sid (ab_px_) or filter; filter mode checks up to an inline cap and reports total_matched (truncated:true when the cap was hit). A verdict moves the row: an exit country that disagrees with country_code flips it to country_mismatch, a fraud score over the threshold to fraud_flagged (each emits its event). Rows the vendors could not settle are listed in inconclusive with a reason (no_ip_port / exit_unreachable / no_corroboration) and left untouched, so total_checked counts only rows that got a verdict. Contract: - MCP tool `check_antidetect_browser_proxy_location`, registry package `mcp.linkedin/antidetect_browser_proxies`, mount `linkedin.browsers`. - Operation `action`, response envelope `action`. - Flags: mass action: this verb''s own request accepts a filter or targets[] set, which the owning service drains.' tags: - antidetect_browser_proxies requestBody: required: false content: application/json: schema: $ref: '#/components/schemas/CheckAntidetectBrowserProxyLocationRequest' responses: '200': description: '`action` success envelope.' content: application/json: schema: $ref: '#/components/schemas/CheckAntidetectBrowserProxyLocationResponse' 4XX: $ref: '#/components/responses/McpClientError' 5XX: $ref: '#/components/responses/McpServerError' x-gtm-mcp-tool: check_antidetect_browser_proxy_location x-gtm-mcp-mount: linkedin.browsers x-gtm-entity: antidetect_browser_proxies x-gtm-operation: action x-gtm-envelope: action x-gtm-availability: ga x-gtm-dangerous: false x-gtm-mass-action: true x-gtm-step-eligible: false x-gtm-schedule-required: false x-gtm-tool-class: typical servers: - url: https://app.gtm-api.com/linkedin/v4 description: Production, through the app.gtm-api.com gateway /api/antidetect-browser-proxies/search: post: operationId: search_antidetect_browser_proxies summary: Search antidetect browser proxies description: 'List antidetect browser proxies (platform-wide pool) with filters, sorting and cursor pagination. Live proxies by default (filter {"deleted_at": {"is_null": true}}). Credentials (ip / port / username / password) are masked to null on this public read surface. Contract: - MCP tool `search_antidetect_browser_proxies`, registry package `mcp.linkedin/antidetect_browser_proxies`, mount `linkedin.browsers`. - Operation `search`, response envelope `search`. - Flags: read only.' tags: - antidetect_browser_proxies requestBody: required: false content: application/json: schema: $ref: '#/components/schemas/SearchAntidetectBrowserProxiesRequest' responses: '200': description: '`search` success envelope.' content: application/json: schema: $ref: '#/components/schemas/SearchAntidetectBrowserProxiesResponse' 4XX: $ref: '#/components/responses/McpClientError' 5XX: $ref: '#/components/responses/McpServerError' x-gtm-mcp-tool: search_antidetect_browser_proxies x-gtm-mcp-mount: linkedin.browsers x-gtm-entity: antidetect_browser_proxies x-gtm-operation: search x-gtm-envelope: search x-gtm-availability: ga x-gtm-dangerous: false x-gtm-mass-action: false x-gtm-step-eligible: false x-gtm-schedule-required: false x-gtm-tool-class: typical servers: - url: https://app.gtm-api.com/linkedin/v4 description: Production, through the app.gtm-api.com gateway components: schemas: CheckAntidetectBrowserProxyConnectivityRequest: type: object description: Request body of `check_antidetect_browser_proxy_connectivity`. properties: sid: type: string minLength: 18 maxLength: 18 pattern: ^ab_px_ description: Antidetect browser proxy sid (ab_px_…). filter: type: object properties: sid: type: object properties: eq: type: string in: type: array items: type: string additionalProperties: false type: type: object properties: eq: type: string in: type: array items: type: string additionalProperties: false country_code: type: object properties: eq: type: string in: type: array items: type: string additionalProperties: false vendor_zone: type: object properties: eq: type: string in: type: array items: type: string is_null: type: boolean additionalProperties: false status: type: object properties: eq: type: string in: type: array items: type: string additionalProperties: false last_health_check_at: type: object properties: gte: type: string lte: type: string gt: type: string lt: type: string is_null: type: boolean additionalProperties: false avg_connection_time_ms: type: object properties: gte: type: number lte: type: number gt: type: number lt: type: number is_null: type: boolean additionalProperties: false created_at: type: object properties: gte: type: string lte: type: string gt: type: string lt: type: string additionalProperties: false updated_at: type: object properties: gte: type: string lte: type: string gt: type: string lt: type: string additionalProperties: false deleted_at: type: object properties: gte: type: string lte: type: string is_null: type: boolean additionalProperties: false description: 'Default scope is { is_null: true } (live proxies).' McpError: type: object properties: success: type: boolean enum: - false error: type: object properties: code: type: string enum: - validation_failed - nothing_to_update - not_found - relation_not_found - invalid_transition - limit_exceeded - payment_required - duplicate_rejected - conflict - delete_blocked - unauthorized - forbidden - rate_limited - internal_error - service_unavailable - not_implemented message: type: string recoverable: type: boolean suggestion: type: string field_errors: type: object additionalProperties: type: array items: type: object properties: rule: type: string message: type: string required: - rule - message blockers: type: array items: type: object properties: type: type: string description: Machine-readable blocker type (active_flow, pending_tasks, …). severity: type: string enum: - hard - soft description: hard = external action required; soft = acknowledge is enough. description: type: string entity_sid: type: - string - 'null' count: type: integer resolution: type: string description: 'Hard: tool name to call. Soft: code for acknowledge[].' resolution_hint: type: string required: - type - severity - description - entity_sid - resolution - resolution_hint context: type: object additionalProperties: {} required: - code - message - recoverable meta: type: object properties: trace_id: type: string description: UUID v7; same 128-bit value as the X-Trace-Id header. span_id: type: string pattern: ^[0-9a-f]{16}$ description: 16 hex chars, root span of this request. timestamp: type: string description: ISO 8601 UTC (Y-m-dTH:i:sZ), response time. duration_ms: type: integer minimum: 0 description: Server-side wall clock. team_sid: type: - string - 'null' description: The team this call ran in (the token team, or the team_sid override). Null when unauthenticated; absent from pre-2026-08-20 backends. actor_type: type: - string - 'null' description: user | agent | api_key | system. Null when unauthenticated; absent from pre-2026-08-20 backends. required: - trace_id - span_id - timestamp - duration_ms required: - success - error CheckAntidetectBrowserProxyLocationRequest: type: object description: Request body of `check_antidetect_browser_proxy_location`. properties: sid: type: string minLength: 18 maxLength: 18 pattern: ^ab_px_ description: Antidetect browser proxy sid (ab_px_…). filter: type: object properties: sid: type: object properties: eq: type: string in: type: array items: type: string additionalProperties: false type: type: object properties: eq: type: string in: type: array items: type: string additionalProperties: false country_code: type: object properties: eq: type: string in: type: array items: type: string additionalProperties: false vendor_zone: type: object properties: eq: type: string in: type: array items: type: string is_null: type: boolean additionalProperties: false status: type: object properties: eq: type: string in: type: array items: type: string additionalProperties: false last_health_check_at: type: object properties: gte: type: string lte: type: string gt: type: string lt: type: string is_null: type: boolean additionalProperties: false avg_connection_time_ms: type: object properties: gte: type: number lte: type: number gt: type: number lt: type: number is_null: type: boolean additionalProperties: false created_at: type: object properties: gte: type: string lte: type: string gt: type: string lt: type: string additionalProperties: false updated_at: type: object properties: gte: type: string lte: type: string gt: type: string lt: type: string additionalProperties: false deleted_at: type: object properties: gte: type: string lte: type: string is_null: type: boolean additionalProperties: false description: 'Default scope is { is_null: true } (live proxies).' SearchAntidetectBrowserProxiesResponse: type: object properties: success: type: boolean enum: - true operation: type: string enum: - search items: type: array items: type: object properties: item: type: object properties: sid: type: string type: type: string enum: - residential - datacenter country_code: type: string vendor_zone: type: - string - 'null' ip: type: - string - 'null' port: type: - number - 'null' username: type: - string - 'null' password: type: - string - 'null' status: type: string enum: - active - no_connect - country_mismatch - fraud_flagged - replaced last_health_check_at: type: - string - 'null' avg_connection_time_ms: type: - number - 'null' created_at: type: string updated_at: type: string deleted_at: type: - string - 'null' required: - sid - type - country_code - vendor_zone - ip - port - username - password - status - last_health_check_at - avg_connection_time_ms - created_at - updated_at - deleted_at included: type: object additionalProperties: {} required: - item - included pagination: type: object properties: next_cursor: type: - string - 'null' has_more: type: boolean total_count: type: - integer - 'null' required: - next_cursor - has_more - total_count applied_filters: type: object additionalProperties: {} includes: type: array items: type: string meta: type: object properties: trace_id: type: string description: UUID v7; same 128-bit value as the X-Trace-Id header. span_id: type: string pattern: ^[0-9a-f]{16}$ description: 16 hex chars, root span of this request. timestamp: type: string description: ISO 8601 UTC (Y-m-dTH:i:sZ), response time. duration_ms: type: integer minimum: 0 description: Server-side wall clock. team_sid: type: - string - 'null' description: The team this call ran in (the token team, or the team_sid override). Null when unauthenticated; absent from pre-2026-08-20 backends. actor_type: type: - string - 'null' description: user | agent | api_key | system. Null when unauthenticated; absent from pre-2026-08-20 backends. required: - trace_id - span_id - timestamp - duration_ms counts: type: object additionalProperties: {} required: - success - operation - items - pagination - applied_filters - includes - meta SearchAntidetectBrowserProxiesRequest: type: object description: Request body of `search_antidetect_browser_proxies`. properties: filter: type: object properties: sid: type: object properties: eq: type: string in: type: array items: type: string additionalProperties: false type: type: object properties: eq: type: string in: type: array items: type: string additionalProperties: false country_code: type: object properties: eq: type: string in: type: array items: type: string additionalProperties: false vendor_zone: type: object properties: eq: type: string in: type: array items: type: string is_null: type: boolean additionalProperties: false status: type: object properties: eq: type: string in: type: array items: type: string additionalProperties: false last_health_check_at: type: object properties: gte: type: string lte: type: string gt: type: string lt: type: string is_null: type: boolean additionalProperties: false avg_connection_time_ms: type: object properties: gte: type: number lte: type: number gt: type: number lt: type: number is_null: type: boolean additionalProperties: false created_at: type: object properties: gte: type: string lte: type: string gt: type: string lt: type: string additionalProperties: false updated_at: type: object properties: gte: type: string lte: type: string gt: type: string lt: type: string additionalProperties: false deleted_at: type: object properties: gte: type: string lte: type: string is_null: type: boolean additionalProperties: false description: 'Default scope is { is_null: true } (live proxies).' sort: type: object properties: field: type: string direction: type: string enum: - asc - desc description: Default desc. required: - field page_size: type: integer minimum: 0 maximum: 200 description: 0..200, default 50. page_size=0 = count-only, page_size=1 = getFirst. cursor: type: - string - 'null' description: Opaque forward cursor from a previous response pagination.next_cursor. CheckAntidetectBrowserProxyLocationResponse: type: object properties: success: type: boolean enum: - true operation: type: string enum: - action action: type: string description: kebab-case verb; matches the route segment. item: {} result: type: object properties: total_matched: type: integer description: True count of matched proxies (before the inline cap). truncated: type: boolean description: true when total_matched exceeded the inline check cap. required: - total_matched meta: type: object properties: trace_id: type: string description: UUID v7; same 128-bit value as the X-Trace-Id header. span_id: type: string pattern: ^[0-9a-f]{16}$ description: 16 hex chars, root span of this request. timestamp: type: string description: ISO 8601 UTC (Y-m-dTH:i:sZ), response time. duration_ms: type: integer minimum: 0 description: Server-side wall clock. team_sid: type: - string - 'null' description: The team this call ran in (the token team, or the team_sid override). Null when unauthenticated; absent from pre-2026-08-20 backends. actor_type: type: - string - 'null' description: user | agent | api_key | system. Null when unauthenticated; absent from pre-2026-08-20 backends. required: - trace_id - span_id - timestamp - duration_ms required: - success - operation - action - item - result - meta CheckAntidetectBrowserProxyConnectivityResponse: type: object properties: success: type: boolean enum: - true operation: type: string enum: - action action: type: string description: kebab-case verb; matches the route segment. item: {} result: type: object properties: total_matched: type: integer description: True count of matched proxies (before the inline cap). truncated: type: boolean description: true when total_matched exceeded the inline check cap. required: - total_matched meta: type: object properties: trace_id: type: string description: UUID v7; same 128-bit value as the X-Trace-Id header. span_id: type: string pattern: ^[0-9a-f]{16}$ description: 16 hex chars, root span of this request. timestamp: type: string description: ISO 8601 UTC (Y-m-dTH:i:sZ), response time. duration_ms: type: integer minimum: 0 description: Server-side wall clock. team_sid: type: - string - 'null' description: The team this call ran in (the token team, or the team_sid override). Null when unauthenticated; absent from pre-2026-08-20 backends. actor_type: type: - string - 'null' description: user | agent | api_key | system. Null when unauthenticated; absent from pre-2026-08-20 backends. required: - trace_id - span_id - timestamp - duration_ms required: - success - operation - action - item - result - meta responses: McpServerError: description: MCP error envelope with `error.code` internal_error or service_unavailable. content: application/json: schema: $ref: '#/components/schemas/McpError' McpClientError: description: MCP error envelope. `error.code` is one of validation_failed, nothing_to_update, not_found, relation_not_found, invalid_transition, limit_exceeded, payment_required, duplicate_rejected, conflict, delete_blocked, unauthorized, forbidden, rate_limited, not_implemented. content: application/json: schema: $ref: '#/components/schemas/McpError' securitySchemes: BearerJwt: type: http scheme: bearer bearerFormat: JWT description: Access token issued by gtm.service.id. Its `access_identity` claim carries `team_sid`, `actor_sid` and `actor_type`, and that team scope is authoritative. TeamSid: type: apiKey in: header name: Team-SID description: Team scope for tokens that do not carry one. Ignored when the token already names a team. x-refined-from: - gtm-api-openapi-openapi.yml - gtm-api-linkedin-openapi.yaml