LateLate API
Core

Logs


Get publishing logs

Retrieve publishing logs for all posts. Logs show detailed information about each publishing attempt including API requests, responses, and timing data.

Filtering:

  • Filter by status (success, failed, pending, skipped)
  • Filter by platform (instagram, twitter, linkedin, etc.)
  • Filter by action (publish, retry, rate_limit_pause, etc.)

Retention: Logs are automatically deleted after 7 days.

GET
/v1/logs
AuthorizationBearer <token>

API key authentication - use your Late API key as a Bearer token

In: header

Query Parameters

status?string

Filter by log status

Value in"success" | "failed" | "pending" | "skipped" | "all"
platform?string

Filter by platform

Value in"tiktok" | "instagram" | "facebook" | "youtube" | "linkedin" | "twitter" | "threads" | "pinterest" | "reddit" | "bluesky" | "googlebusiness" | "telegram" | "all"
action?string

Filter by action type

Value in"publish" | "retry" | "media_upload" | "rate_limit_pause" | "token_refresh" | "cancelled" | "all"
days?integer

Number of days to look back (max 7)

Default7
Range1 <= value <= 7
limit?integer

Maximum number of logs to return (max 100)

Default50
Range1 <= value <= 100
skip?integer

Number of logs to skip (for pagination)

Default0
Range0 <= value

Response Body

application/json

application/json

curl -X GET "https://getlate.dev/api/v1/logs"
{
  "logs": [
    {
      "_id": "675f1c0a9e2b5af0012ab34cd",
      "postId": {
        "_id": "65f1c0a9e2b5af0012ab34cd",
        "content": "Check out our new feature!",
        "status": "published"
      },
      "userId": "64e1f0a9e2b5af0012ab34de",
      "platform": "instagram",
      "accountId": "64e1f0a9e2b5af0012ab34ef",
      "accountUsername": "@acmecorp",
      "action": "publish",
      "status": "success",
      "statusCode": 200,
      "endpoint": "graph.facebook.com/me/media_publish",
      "request": {
        "contentPreview": "Check out our new feature!",
        "mediaCount": 1,
        "mediaTypes": [
          "image"
        ],
        "mediaUrls": [
          "https://storage.getlate.dev/abc123.jpg"
        ]
      },
      "response": {
        "platformPostId": "17895695668004550",
        "platformPostUrl": "https://www.instagram.com/p/ABC123/"
      },
      "durationMs": 2340,
      "attemptNumber": 1,
      "createdAt": "2024-11-01T10:00:05Z"
    }
  ],
  "pagination": {
    "total": 150,
    "limit": 50,
    "skip": 0,
    "pages": 3,
    "hasMore": true
  }
}
{
  "error": "Unauthorized"
}

Get a single log entry

Retrieve detailed information about a specific log entry, including full request and response bodies for debugging.

GET
/v1/logs/{logId}
AuthorizationBearer <token>

API key authentication - use your Late API key as a Bearer token

In: header

Path Parameters

logIdstring

The log entry ID

Response Body

application/json

application/json

application/json

curl -X GET "https://getlate.dev/api/v1/logs/string"
{
  "log": {
    "_id": "675f1c0a9e2b5af0012ab34cd",
    "postId": {
      "_id": "65f1c0a9e2b5af0012ab34cd",
      "content": "Check out our new feature!",
      "status": "published",
      "scheduledFor": "2024-11-01T10:00:00Z",
      "mediaItems": [
        {
          "type": "image",
          "url": "https://storage.getlate.dev/abc123.jpg"
        }
      ]
    },
    "userId": "64e1f0a9e2b5af0012ab34de",
    "platform": "instagram",
    "accountId": {
      "_id": "64e1f0a9e2b5af0012ab34ef",
      "platform": "instagram",
      "username": "acmecorp",
      "displayName": "Acme Corporation"
    },
    "accountUsername": "acmecorp",
    "action": "publish",
    "status": "success",
    "statusCode": 200,
    "endpoint": "graph.facebook.com/me/media_publish",
    "request": {
      "contentPreview": "Check out our new feature!",
      "mediaCount": 1,
      "mediaTypes": [
        "image"
      ],
      "mediaUrls": [
        "https://storage.getlate.dev/abc123.jpg"
      ],
      "rawBody": "{\"image_url\":\"https://storage.getlate.dev/abc123.jpg\",\"caption\":\"Check out our new feature!\"}"
    },
    "response": {
      "platformPostId": "17895695668004550",
      "platformPostUrl": "https://www.instagram.com/p/ABC123/",
      "rawBody": "{\"id\":\"17895695668004550\"}"
    },
    "durationMs": 2340,
    "attemptNumber": 1,
    "createdAt": "2024-11-01T10:00:05Z"
  }
}
{
  "error": "Unauthorized"
}
Empty
{
  "error": "Not found"
}

Get logs for a specific post

Retrieve all publishing logs for a specific post. Shows the complete history of publishing attempts for that post across all platforms.

GET
/v1/posts/{postId}/logs
AuthorizationBearer <token>

API key authentication - use your Late API key as a Bearer token

In: header

Path Parameters

postIdstring

The post ID

Query Parameters

limit?integer

Maximum number of logs to return (max 100)

Default50
Range1 <= value <= 100

Response Body

application/json

application/json

application/json

curl -X GET "https://getlate.dev/api/v1/posts/string/logs"
{
  "logs": [
    {
      "_id": "675f1c0a9e2b5af0012ab34cd",
      "postId": "65f1c0a9e2b5af0012ab34cd",
      "userId": "64e1f0a9e2b5af0012ab34de",
      "platform": "instagram",
      "accountUsername": "@acmecorp",
      "action": "publish",
      "status": "success",
      "statusCode": 200,
      "durationMs": 2340,
      "createdAt": "2024-11-01T10:00:05Z"
    },
    {
      "_id": "675f1c0a9e2b5af0012ab34ce",
      "postId": "65f1c0a9e2b5af0012ab34cd",
      "userId": "64e1f0a9e2b5af0012ab34de",
      "platform": "twitter",
      "accountUsername": "@acme",
      "action": "publish",
      "status": "failed",
      "statusCode": 429,
      "response": {
        "errorMessage": "Rate limit exceeded",
        "errorCode": "RATE_LIMITED"
      },
      "durationMs": 150,
      "attemptNumber": 1,
      "createdAt": "2024-11-01T10:00:03Z"
    }
  ],
  "count": 2,
  "postId": "65f1c0a9e2b5af0012ab34cd"
}
{
  "error": "Unauthorized"
}
Empty
{
  "error": "Not found"
}