Every API here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for apis
7 MCP tools reach this
find_apisBrowse and filter every API in the catalog.
get_api_artifactsOne API's artifacts, grouped by type.
get_openapiThe primary OpenAPI for this API.
find_similar_apisAPIs that look like this one.
apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
resolveTurn a domain, URL or GitHub org into the provider it belongs to.
find_cohortsEvery scored population of providers in the catalog.
All 92 tools →
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/gtm-api:gtm-api-linkedin-account-activity-log-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we
store it to create your key and to recognise you if you sign in with another
provider. See our Privacy Policy and
Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Gtm Linkedin Account Activity Log 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 linkedin_account_activity_log 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: linkedin_account_activity_log
description: Registry package `mcp.linkedin/linkedin_account_activity_log`, served on MCP mount `linkedin.account-monitor`.
paths:
/api/linkedin-account-activity-log/metrics:
post:
operationId: get_linkedin_account_activity_log_metrics
summary: LinkedIn account activity-log metrics
description: 'Period-bound aggregates over a filtered activity-log set (avg plugin duration, avg pending age) plus the counts block and an optional group_by axis (action_type | status | linkedin_account_sid). Use for: "what was done today/this week grouped by action_type", at-a-glance fail rate (group_by status). Guardrail (high-write table): period {from,to} is REQUIRED and filter must include linkedin_account_sid.eq/.in. Unbounded scans are rejected; window may not exceed 90 days. The filter here is NARROWER than search: linkedin_account_sid and status are the only axes the aggregation applies. Slice any other dimension with group_by, or use search.
Contract:
- MCP tool `get_linkedin_account_activity_log_metrics`, registry package `mcp.linkedin/linkedin_account_activity_log`, mount `linkedin.account-monitor`.
- Operation `metrics`, response envelope `metrics`.
- Flags: read only.'
tags:
- linkedin_account_activity_log
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/GetLinkedinAccountActivityLogMetricsRequest'
responses:
'200':
description: '`metrics` success envelope.'
content:
application/json:
schema:
$ref: '#/components/schemas/GetLinkedinAccountActivityLogMetricsResponse'
4XX:
$ref: '#/components/responses/McpClientError'
5XX:
$ref: '#/components/responses/McpServerError'
x-gtm-mcp-tool: get_linkedin_account_activity_log_metrics
x-gtm-mcp-mount: linkedin.account-monitor
x-gtm-entity: linkedin_account_activity_log
x-gtm-operation: metrics
x-gtm-envelope: metrics
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
/api/linkedin-account-activity-log/search:
post:
operationId: search_linkedin_account_activity_log
summary: Search LinkedIn account activity log
description: 'List activity-log rows, one per plugin call (Task↔Result cycle): pending on dispatch, then success / failed / skipped. Use for: "why is account X failing" (status:failed + created_at window, read error_message/error_code), inspecting in-flight pending tasks, cross-referencing a Grafana trace_id, and polling an MCP-triggered async action by sid until status flips terminal. NOT for LinkedIn quota hits (linkedin-account-quota-hits), the rolling limit count (linkedin-account-smart-limits), or account state (linkedin-accounts). No q. Sort: created_at (default desc) | duration_ms. include[]: linkedin_account, linkedin_account_smart_limit, sync_run. page_size: 0 is count mode: no rows, and the counts block over the filter (total_count, the per-status scalars, groups by action_type / status / linkedin_account_sid); a page fetch carries no counts and a null pagination.total_count.
Contract:
- MCP tool `search_linkedin_account_activity_log`, registry package `mcp.linkedin/linkedin_account_activity_log`, mount `linkedin.account-monitor`.
- Operation `search`, response envelope `search`.
- Flags: read only.'
tags:
- linkedin_account_activity_log
requestBody:
required: false
content:
application/json:
schema:
$ref: '#/components/schemas/SearchLinkedinAccountActivityLogRequest'
responses:
'200':
description: '`search` success envelope.'
content:
application/json:
schema:
$ref: '#/components/schemas/SearchLinkedinAccountActivityLogResponse'
4XX:
$ref: '#/components/responses/McpClientError'
5XX:
$ref: '#/components/responses/McpServerError'
x-gtm-mcp-tool: search_linkedin_account_activity_log
x-gtm-mcp-mount: linkedin.account-monitor
x-gtm-entity: linkedin_account_activity_log
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:
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
SearchLinkedinAccountActivityLogRequest:
type: object
description: Request body of `search_linkedin_account_activity_log`.
properties:
filter:
type: object
properties:
sid:
type: object
properties:
eq:
type: string
in:
type: array
items:
type: string
additionalProperties: false
linkedin_account_sid:
type: object
properties:
eq:
type: string
in:
type: array
items:
type: string
additionalProperties: false
description: Required for metrics (service-layer guardrail).
trace_id:
type: object
properties:
eq:
type: string
in:
type: array
items:
type: string
additionalProperties: false
description: Grafana Tempo / Loki cross-lookup.
action_type:
type: object
properties:
eq:
type: string
ne:
type: string
in:
type: array
items:
type: string
nin:
type: array
items:
type: string
additionalProperties: false
status:
type: object
properties:
eq:
type: string
ne:
type: string
in:
type: array
items:
type: string
nin:
type: array
items:
type: string
additionalProperties: false
description: pending | success | failed | skipped.
sync_run_sid:
type: object
properties:
eq:
type: string
in:
type: array
items:
type: string
is_null:
type: boolean
additionalProperties: false
error_code:
type: object
properties:
eq:
type: string
in:
type: array
items:
type: string
is_null:
type: boolean
additionalProperties: false
description: §6.4 open taxonomy; eq:'target_blocked' surfaces backend-derived block outcomes.
target_ln_id:
type: object
properties:
eq:
type: string
in:
type: array
items:
type: string
is_null:
type: boolean
additionalProperties: false
target_ln_member_id:
type: object
properties:
eq:
type: string
in:
type: array
items:
type: string
is_null:
type: boolean
additionalProperties: false
description: Canonical cross-surface key.
target_sn_id:
type: object
properties:
eq:
type: string
in:
type: array
items:
type: string
is_null:
type: boolean
additionalProperties: false
target_nickname:
type: object
properties:
eq:
type: string
in:
type: array
items:
type: string
is_null:
type: boolean
additionalProperties: false
target_recruiter_id:
type: object
properties:
eq:
type: string
in:
type: array
items:
type: string
is_null:
type: boolean
additionalProperties: false
description: The Recruiter (talent) envelope of the person the action addressed; matches the person, like target_ln_id.
target_entity_urn:
type: object
properties:
eq:
type: string
in:
type: array
items:
type: string
is_null:
type: boolean
additionalProperties: false
description: 'The object the action acted on: the post a reaction or a comment landed on (urn:li:activity / ugcPost), the comment a delete removed. "What did this account like?" is target_entity_type:post on like_post rows.'
target_entity_type:
type: object
properties:
eq:
type: string
enum:
- post
- comment
- message
- conversation
- invitation
in:
type: array
items:
type: string
enum:
- post
- comment
- message
- conversation
- invitation
is_null:
type: boolean
additionalProperties: false
duration_ms:
type: object
properties:
eq:
type: integer
ne:
type: integer
gte:
type: integer
lte:
type: integer
gt:
type: integer
lt:
type: integer
is_null:
type: boolean
additionalProperties: false
description: is_null:true ⇒ pending row.
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_null: true }.'
include:
type: array
items:
type: string
enum:
- linkedin_account
- linkedin_account_smart_limit
- sync_run
description: Relations to eager-load (see entity Includes).
sort:
type: object
properties:
field:
type: string
enum:
- created_at
- duration_ms
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.
GetLinkedinAccountActivityLogMetricsRequest:
type: object
description: Request body of `get_linkedin_account_activity_log_metrics`.
properties:
filter:
type: object
properties:
linkedin_account_sid:
type: object
properties:
eq:
type: string
in:
type: array
items:
type: string
additionalProperties: false
description: 'REQUIRED: metrics rejects an unbounded scan with bounded_scan_required.'
status:
type: object
properties:
eq:
type: string
additionalProperties: false
description: pending | success | failed | skipped. Only .eq is applied here.
period:
type: object
properties:
from:
type: string
description: ISO 8601 UTC window start (inclusive).
to:
type: string
description: ISO 8601 UTC window end (exclusive); must be after from.
required:
- from
- to
description: Required metrics window [from, to), max 90 days.
group_by:
type: string
enum:
- action_type
- status
- linkedin_account_sid
description: Optional single split axis.
required:
- period
SearchLinkedinAccountActivityLogResponse:
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
team_sid:
type: string
linkedin_account_sid:
type: string
trace_id:
type: string
action_type:
type: string
status:
type: string
enum:
- pending
- success
- failed
- skipped
sync_run_sid:
type:
- string
- 'null'
limit_type_override:
type:
- string
- 'null'
target_ln_member_id:
type:
- string
- 'null'
target_ln_id:
type:
- string
- 'null'
target_sn_id:
type:
- string
- 'null'
target_nickname:
type:
- string
- 'null'
error_code:
type:
- string
- 'null'
description: '§6.4 OPEN taxonomy: string, not enum.'
error_message:
type:
- string
- 'null'
duration_ms:
type:
- number
- 'null'
created_at:
type: string
updated_at:
type: string
deleted_at:
type:
- string
- 'null'
required:
- sid
- team_sid
- linkedin_account_sid
- trace_id
- action_type
- status
- sync_run_sid
- limit_type_override
- target_ln_member_id
- target_ln_id
- target_sn_id
- target_nickname
- error_code
- error_message
- duration_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
properties:
total_count:
type: integer
pending_count:
type: integer
success_count:
type: integer
failed_count:
type: integer
skipped_count:
type: integer
groups:
type: object
additionalProperties: {}
required:
- total_count
- pending_count
- success_count
- failed_count
- skipped_count
- groups
required:
- success
- operation
- items
- pagination
- applied_filters
- includes
- meta
GetLinkedinAccountActivityLogMetricsResponse:
type: object
properties:
success:
type: boolean
enum:
- true
operation:
type: string
enum:
- metrics
metrics:
type: object
properties:
filter:
type: object
additionalProperties: {}
period:
type: object
properties:
from:
type: string
to:
type: string
required:
- from
- to
aggregated:
type: object
properties:
counts:
type: object
additionalProperties: {}
metrics:
type: object
properties:
avg_duration_ms:
type:
- number
- 'null'
avg_pending_age_seconds:
type:
- number
- 'null'
required:
- avg_duration_ms
- avg_pending_age_seconds
metrics:
type: object
properties:
avg_duration_ms:
type:
- number
- 'null'
avg_pending_age_seconds:
type:
- number
- 'null'
required:
- avg_duration_ms
- avg_pending_age_seconds
applied_filters:
type: object
additionalProperties: {}
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
- metrics
- 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