Skip to content

Integrations API

Endpoints for connecting and managing external platform integrations.

Integration Status

GET /connect/status

Get status of all integrations for the current tenant.

Request

curl https://api.amp.dev/v1/connect/status \
  -H "Authorization: Bearer $AMP_API_KEY"

Response

{
  "integrations": {
    "metricool": {
      "connected": true,
      "status": "healthy",
      "last_sync": "2024-01-15T10:00:00Z",
      "accounts_connected": 3
    }
  },
  "platforms": {
    "twitter": {"connected": true, "account": "@yourbrand"},
    "linkedin": {"connected": true, "account": "Your Company"},
    "instagram": {"connected": false, "account": null}
  }
}

Connect Metricool

POST /connect/metricool

Connect Metricool for multi-platform publishing.

Request

curl -X POST https://api.amp.dev/v1/connect/metricool \
  -H "Authorization: Bearer $AMP_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "token": "your_metricool_api_token",
    "blog_id": "your_blog_id",
    "user_id": "your_user_id"
  }'

Parameters

Parameter Type Required Description
token string Yes Metricool API token
blog_id string Yes Metricool brand/blog ID
user_id string No Metricool user ID

Response

{
  "status": "connected",
  "metricool": {
    "blog_id": "xxx",
    "blog_name": "Your Brand",
    "connected_at": "2024-01-15T10:30:00Z"
  },
  "available_platforms": ["twitter", "linkedin", "instagram", "facebook"]
}

Get Metricool Configuration

GET /connect/metricool

Get current Metricool configuration.

Request

curl https://api.amp.dev/v1/connect/metricool \
  -H "Authorization: Bearer $AMP_API_KEY"

Response

{
  "enabled": true,
  "blog_id": "xxx",
  "blog_name": "Your Brand",
  "connected_at": "2024-01-15T10:30:00Z",
  "last_sync": "2024-01-15T10:00:00Z"
}

Test Metricool Connection

GET /connect/metricool/test

Test the Metricool integration.

Request

curl https://api.amp.dev/v1/connect/metricool/test \
  -H "Authorization: Bearer $AMP_API_KEY"

Response

{
  "status": "healthy",
  "latency_ms": 234,
  "api_version": "v1",
  "rate_limit_remaining": 450,
  "features": {
    "scheduling": true,
    "analytics": true,
    "media_upload": true
  }
}

List Metricool Brands

GET /connect/metricool/brands

List available brands/blogs in the Metricool account.

Request

curl https://api.amp.dev/v1/connect/metricool/brands \
  -H "Authorization: Bearer $AMP_API_KEY"

Response

{
  "data": [
    {
      "id": "blog_xxx",
      "name": "Main Brand",
      "platforms": ["twitter", "linkedin", "instagram"],
      "is_current": true
    },
    {
      "id": "blog_yyy",
      "name": "Sub Brand",
      "platforms": ["twitter", "facebook"],
      "is_current": false
    }
  ]
}

List Connected Accounts

GET /connect/metricool/accounts

List all social media accounts connected via Metricool.

Request

curl https://api.amp.dev/v1/connect/metricool/accounts \
  -H "Authorization: Bearer $AMP_API_KEY"

Response

{
  "data": [
    {
      "platform": "twitter",
      "account_id": "123456789",
      "username": "@yourbrand",
      "display_name": "Your Brand",
      "profile_image": "https://...",
      "status": "active",
      "features": ["post", "thread", "poll"]
    },
    {
      "platform": "linkedin",
      "account_id": "company/12345",
      "username": "Your Company",
      "display_name": "Your Company, Inc.",
      "profile_image": "https://...",
      "status": "active",
      "features": ["post", "article"]
    }
  ]
}

Remove Metricool Integration

DELETE /connect/metricool

Disconnect Metricool integration.

Request

curl -X DELETE https://api.amp.dev/v1/connect/metricool \
  -H "Authorization: Bearer $AMP_API_KEY"

Response

{
  "status": "disconnected",
  "disconnected_at": "2024-01-15T10:30:00Z"
}

Impact

Disconnecting Metricool will:

  • Cancel all scheduled posts
  • Disable publishing for active missions
  • Preserve historical analytics data