Approval Task Api Service

Approve or reject the posts on a reviewer's task list

Authenticated. Records this reviewer's approve/reject decision on one or more of the posts waiting for them — one target or many, same contract — and returns a per-post result. The targets may span several brands: each brand is authorized on its own, and the caller must be allowed to approve posts (or hold full planner access) on it. Applied best-effort: a post that is not in the reviewer's set, is no longer actionable, or sits in a brand the caller may no longer approve on is reported as a failed result, not a 4xx. NOT_FOUND, NOT_ACTIONABLE and FORBIDDEN are terminal; ERROR is transient and retryable. An empty post list, more than 100 posts, a target missing its brand or post id, or a status other than 'approved' or 'rejected', is a 400 naming the offending field: a malformed list is rejected rather than partly acted on, so a decision is never applied to only part of what was sent. Repeated posts count once. The note is used only when rejecting.

put/v2/scheduler/tasks/{userId}/approvals

Request

  • Base URL: https://app.metricool.com/api
  • URL: https://app.metricool.com/api/v2/scheduler/tasks/{userId}/approvals
  • Auth: none declared

Path parameters

userIdinteger required

Request body

status'approved' | 'rejected' required

The decision, applied to every listed post.

notestring

Optional note; used only when rejecting. Attached as a post note and included in the rejection email to each post's creator.

Example request

{
  "posts": [
    {
      "blogId": 91,
      "postId": 480123
    }
  ],
  "status": "approved"
}

Response

OK

metadataobject

Example response

{
  "data": {
    "results": [
      {
        "postId": 1024,
        "reviewerStatus": "approved",
        "postApprovalStatus": "approved",
        "error": "NOT_FOUND"
      }
    ]
  }
}

Changes

No recorded changes to this operation across all 4 revisions of this API.