Metricool Library Posts Assignee Api Service API

The Library Posts Assignee Api Service API from Metricool — 2 operation(s) for library posts assignee api service.

Business capability
Content Marketing Management BC-400.70

Operations 2

GET /v2/scheduler/library/posts/assignable-users Get the users that can be assigned to library posts of the brand. #
PUT /v2/scheduler/library/posts/{postId}/assignee Set or clear the assignee (responsible team member) of a library post. #

Work with this as data

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/metricool:metricool-library-posts-assignee-api-service-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

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 Specification

metricool-library-posts-assignee-api-service-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Metricool Library Posts Assignee Api Service API
  description: 'Metricool API


    The base URL for all endpoints is: https://app.metricool.com/api


    All endpoints require authentication.'
  version: 2.0.0
servers:
- url: https://app.metricool.com/api
tags:
- name: Library Posts Assignee Api Service
paths:
  /v2/scheduler/library/posts/assignable-users:
    get:
      tags:
      - Library Posts Assignee Api Service
      summary: Get the users that can be assigned to library posts of the brand.
      operationId: getAssignableUsers
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JsonOkListResponseLibraryPostAssignableUserDto'
  /v2/scheduler/library/posts/{postId}/assignee:
    put:
      tags:
      - Library Posts Assignee Api Service
      summary: Set or clear the assignee (responsible team member) of a library post.
      operationId: updateAssignee
      parameters:
      - name: postId
        in: path
        description: id of the library post.
        required: true
        schema:
          type: integer
          format: int64
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateLibraryPostAssigneeRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JsonOkResponseLibraryPostDto'
components:
  schemas:
    InstagramCollaboratorTag:
      type: object
      properties:
        username:
          type: string
        deleted:
          type: boolean
    LibraryPostLocationCoordinates:
      type: object
      properties:
        city:
          type: string
        country:
          type: string
        state:
          type: string
        street:
          type: string
        zip:
          type: string
        latitude:
          type: number
          format: double
        longitude:
          type: number
          format: double
    NoteMentionDto:
      type: object
      properties:
        userId:
          type: integer
          description: Regular user id of the mentioned user. Absent for an agency end client.
          format: int32
          example: 12345
        agencyId:
          type: integer
          description: Agency id of the mentioned user. Only for an agency end client.
          format: int32
          example: 37
        agencyUserId:
          type: integer
          description: Agency user id of the mentioned user. Only for an agency end client.
          format: int32
          example: 156
        name:
          type: string
          description: Current display name of the mentioned user. Absent when the account was deleted, in which case the frontend renders its own localized deleted-user label.
        deleted:
          type: boolean
          description: 'True when the mentioned account no longer exists. A user that merely lost access to the brand is not deleted: their mention keeps rendering as it always did.'
      description: A user mentioned in the content of a note, resolved when the note is read.
    YoutubeConfigurationDto:
      type: object
      properties:
        enabled:
          type: boolean
        title:
          type: string
        type:
          type: string
        privacy:
          type: string
        tags:
          uniqueItems: true
          type: array
          items:
            type: string
        category:
          type: string
        madeForKids:
          type: boolean
        playlistId:
          type: string
        isAiGeneratedContent:
          type: boolean
        notifySubscribers:
          type: boolean
    LinkedinPollDto:
      type: object
      properties:
        question:
          type: string
        options:
          type: array
          items:
            $ref: '#/components/schemas/LinkedinOptionDto'
        settings:
          $ref: '#/components/schemas/LinkedinSettingsDto'
    TwitterConfigurationDto:
      type: object
      properties:
        enabled:
          type: boolean
        tags:
          uniqueItems: true
          type: array
          items:
            type: string
        replySettings:
          type: string
        type:
          type: string
        poll:
          $ref: '#/components/schemas/ScheduledPostTwitterPoll'
    LinkedinSettingsDto:
      type: object
      properties:
        duration:
          type: string
    LibraryPostCommonConfigurationDto:
      required:
      - content
      type: object
      properties:
        content:
          type: string
        firstCommentText:
          type: string
        publishMode:
          type: string
        smartlinkData:
          $ref: '#/components/schemas/SmartlinkData'
    LibraryPostAssigneeDto:
      type: object
      properties:
        label:
          type: string
          description: 'Badge to show next to the user, relative to the requesting session: CLIENT (an agency end client, as seen by a Metricool session), STAFF (anyone who is not an agency end client, as seen by an agency end-client session), or absent for no badge.'
          enum:
          - CLIENT
          - STAFF
        userId:
          type: integer
          description: Regular user id of the assignee. Absent for an agency end client.
          format: int64
          example: 12345
        agencyId:
          type: integer
          description: Agency id of the assignee. Only for an agency end client.
          format: int32
          example: 42
        agencyUserId:
          type: integer
          description: Agency user id of the assignee. Only for an agency end client.
          format: int32
          example: 7
        name:
          type: string
          description: Display name of the assignee, or null when it cannot be resolved.
        deleted:
          type: boolean
          description: True when the assignee account has been deleted (frontend shows 'deleted user').
        hasBrandAccess:
          type: boolean
          description: False when the assignee no longer has access to this brand (frontend shows a warning).
        profilePicture:
          type: string
          description: Absolute URL of the assignee's profile picture. Omitted when it has none; the UI then renders its initials. Filled for both assignee kinds (ES5MPTM3-7292).
      description: Team member assigned to a library post.
    TikTokConfigurationDto:
      type: object
      properties:
        enabled:
          type: boolean
        disableComment:
          type: boolean
        disableDuet:
          type: boolean
        disableStitch:
          type: boolean
        privacyOption:
          type: string
        commercialContentThirdParty:
          type: boolean
        commercialContentOwnBrand:
          type: boolean
        title:
          type: string
        autoAddMusic:
          type: boolean
        photoCoverIndex:
          type: integer
          format: int32
        music:
          $ref: '#/components/schemas/TikTokTrackDto'
        isAigc:
          type: boolean
    ScheduledPostTwitterPollSettings:
      type: object
      properties:
        durationMinutes:
          type: integer
          format: int32
    LinkedinConfigurationDto:
      required:
      - previewIncluded
      - publishImagesAsPDF
      type: object
      properties:
        enabled:
          type: boolean
        documentTitle:
          type: string
        publishImagesAsPDF:
          type: boolean
        previewIncluded:
          type: boolean
        type:
          type: string
        poll:
          $ref: '#/components/schemas/LinkedinPollDto'
    JsonPaging:
      type: object
      properties:
        next:
          type: string
    TikTokTrackDto:
      type: object
      properties:
        musicId:
          type: string
        title:
          type: string
        author:
          type: string
        previewUrl:
          type: string
        thumbnailUrl:
          type: string
        soundVolume:
          type: integer
          format: int32
        originalVolume:
          type: integer
          format: int32
        startMillis:
          type: integer
          format: int64
        endMillis:
          type: integer
          format: int64
    BlueskyConfigurationDto:
      type: object
      properties:
        enabled:
          type: boolean
        postLanguages:
          type: array
          items:
            type: string
    ScheduledPostTwitterPoll:
      type: object
      properties:
        options:
          type: array
          items:
            $ref: '#/components/schemas/ScheduledPostTwitterPollOption'
        settings:
          $ref: '#/components/schemas/ScheduledPostTwitterPollSettings'
    LibraryPostPeopleTagDto:
      type: object
      properties:
        username:
          type: string
        x:
          type: number
          format: double
        y:
          type: number
          format: double
    LibraryPostMediaDto:
      required:
      - position
      type: object
      properties:
        id:
          type: integer
          format: int64
        position:
          type: integer
          format: int32
        url:
          type: string
        altText:
          type: string
        videoCoverMilliseconds:
          type: integer
          format: int32
        videoThumbnailUrl:
          type: string
    ScheduledPostTwitterPollOption:
      type: object
      properties:
        text:
          type: string
    LibraryPostLocationDto:
      type: object
      properties:
        name:
          type: string
        link:
          type: string
        id:
          type: string
        locationCoordinates:
          $ref: '#/components/schemas/LibraryPostLocationCoordinates'
    UpdateLibraryPostAssigneeRequest:
      type: object
      properties:
        assigneeUserId:
          type: integer
          description: Regular user id to assign; null (or omitted) to unassign.
          format: int64
          example: 12345
        assigneeAgencyUserId:
          type: integer
          description: Agency user id (agency end client) to assign; null (or omitted) to unassign. Mutually exclusive with assigneeUserId.
          format: int32
          example: 7
      description: Body to set or clear the assignee of a library post.
    LibraryPostProductTagDto:
      type: object
      properties:
        productName:
          type: string
        productId:
          type: string
        x:
          type: number
          format: double
        y:
          type: number
          format: double
        catalogId:
          type: string
        position:
          type: integer
          format: int32
    LibraryPostNoteDto:
      required:
      - content
      - created
      - id
      - libraryPostId
      - userName
      type: object
      properties:
        id:
          type: integer
          format: int64
        libraryPostId:
          type: integer
          format: int64
        userId:
          type: integer
          format: int32
        agencyId:
          type: integer
          format: int32
        agencyUserId:
          type: integer
          format: int32
        userName:
          minLength: 1
          type: string
        created:
          $ref: '#/components/schemas/DateTimeInfo'
        content:
          minLength: 1
          type: string
        updatedDate:
          $ref: '#/components/schemas/DateTimeInfo'
        updated:
          type: boolean
        deleted:
          type: boolean
        profilePicture:
          type: string
          description: Public URL of the author's 400x400 profile picture. Absent when they have none, in which case the frontend renders its initials fallback. Filled for agency-authored notes too.
        mentions:
          type: array
          description: Users mentioned in the content of the note, resolved when the note is read. Empty when the note mentions nobody.
          items:
            $ref: '#/components/schemas/NoteMentionDto'
        mentionId:
          type: string
          description: 'Identity of the note author, and the field to compare against your own to tell whether a note is yours. `12345` for a regular user, `a:<agencyId>:<agencyUserId>` for an agency end client. Prefer it over the raw id fields: an agency author has no `userId` at all, so comparing that one answers "not mine" on their own note. Same shape as the `mentionId` of the mention picker, so the author of a note and the entry that mentions them carry the same string. Absent only for a note whose author could not be resolved.'
          example: a:37:156
    LibraryPostStateDto:
      type: object
      properties:
        id:
          type: integer
          description: State id.
          format: int64
          example: 123
        name:
          type: string
          description: Display name of the state.
        color:
          type: string
          description: Color of the state.
        position:
          type: integer
          description: Ordering position of the state within the brand's workflow (ascending).
          format: int32
          example: 0
      description: A workflow state of a library post.
    PinterestConfigurationDto:
      type: object
      properties:
        enabled:
          type: boolean
        boardId:
          type: string
        pinTitle:
          type: string
        pinLink:
          type: string
        pinNewFormat:
          type: boolean
    JsonOkResponseLibraryPostDto:
      type: object
      properties:
        metadata:
          type: object
        page:
          $ref: '#/components/schemas/JsonPaging'
        data:
          $ref: '#/components/schemas/LibraryPostDto'
    FacebookConfigurationDto:
      type: object
      properties:
        enabled:
          type: boolean
        boostBudget:
          type: number
        boostPayer:
          type: string
        boostBeneficiary:
          type: string
        location:
          $ref: '#/components/schemas/LibraryPostLocationDto'
        type:
          type: string
        reelTitle:
          type: string
    SmartlinkData:
      type: object
      properties:
        targetUrl:
          type: string
        ids:
          type: array
          items:
            type: integer
            format: int32
    LinkedinOptionDto:
      type: object
      properties:
        text:
          type: string
    DateTimeInfo:
      required:
      - dateTime
      type: object
      properties:
        dateTime:
          type: string
          description: 'Local Date-time represented with a certain timezone '
        timezone:
          type: string
          description: Timezone applied to the datetime
    GbpConfigurationDto:
      type: object
      properties:
        enabled:
          type: boolean
        type:
          type: string
    JsonOkListResponseLibraryPostAssignableUserDto:
      type: object
      properties:
        metadata:
          type: object
        page:
          $ref: '#/components/schemas/JsonPaging'
        data:
          type: array
          items:
            $ref: '#/components/schemas/LibraryPostAssignableUserDto'
    InstagramConfigurationDto:
      type: object
      properties:
        enabled:
          type: boolean
        carouselTags:
          type: object
          additionalProperties:
            type: array
            items:
              $ref: '#/components/schemas/LibraryPostPeopleTagDto'
        carouselProductTags:
          type: object
          additionalProperties:
            type: array
            items:
              $ref: '#/components/schemas/LibraryPostProductTagDto'
        type:
          type: string
        showReelOnFeed:
          type: boolean
        isAiGenerated:
          type: boolean
          description: Whether the Instagram post is flagged as AI-generated content (sent as is_ai_generated on publish).
        boostBudget:
          type: number
        boostPayer:
          type: string
        boostBeneficiary:
          type: string
        location:
          $ref: '#/components/schemas/LibraryPostLocationDto'
        reelAudioName:
          type: string
        collaborators:
          uniqueItems: true
          type: array
          items:
            $ref: '#/components/schemas/InstagramCollaboratorTag'
        shareTrialAutomatically:
          type: boolean
        audioConfiguration:
          $ref: '#/components/schemas/InstagramAudioConfigurationDto'
    LibraryPostAssignableUserDto:
      type: object
      properties:
        label:
          type: string
          description: 'Badge to show next to the user, relative to the requesting session: CLIENT (an agency end client, as seen by a Metricool session), STAFF (anyone who is not an agency end client, as seen by an agency end-client session), or absent for no badge.'
          enum:
          - CLIENT
          - STAFF
        userId:
          type: integer
          description: Regular user id of the user. Absent for an agency end client.
          format: int64
          example: 12345
        agencyId:
          type: integer
          description: Agency id of the user. Only for an agency end client.
          format: int32
          example: 42
        agencyUserId:
          type: integer
          description: Agency user id of the user. Only for an agency end client.
          format: int32
          example: 7
        name:
          type: string
          description: Display name of the user, or null when it cannot be resolved.
        email:
          type: string
          description: Email of the user. Omitted for agency end-client sessions, which must not see the emails of the agency staff nor of the other clients.
        profilePicture:
          type: string
          description: Public URL of the user's 400x400 profile picture. Absent when they have none, in which case the frontend renders its initials fallback. Filled for agency end clients too (ES5MPTM3-7292), resolved separately in one bulk call per picker response.
      description: A user that can be assigned to library posts of a brand.
    InstagramAudioConfigurationDto:
      required:
      - audioId
      type: object
      properties:
        audioId:
          minLength: 1
          type: string
          description: Unique identifier of the audio asset from the Instagram Audio API.
        audioType:
          type: string
          description: 'Audio type. Allowed values: ''music'', ''original_sound''.'
          enum:
          - music
          - original_sound
          - music
          - original_sound
        title:
          type: string
          description: Title of the audio track.
        displayArtist:
          type: string
          description: Display artist name (populated for 'music' type).
        igUsername:
          type: string
          description: Instagram username of the creator (populated for 'original_sound' type).
        coverArtworkUrl:
          type: string
          description: URL of the cover artwork thumbnail.
        durationMs:
          type: integer
          description: Duration of the audio in milliseconds.
          format: int64
        audioVolume:
          maximum: 100
          minimum: 0
          type: integer
          description: Volume level for the audio asset, from 0 (muted) to 100 (full volume). Defaults to 100.
          format: int32
        videoVolume:
          maximum: 100
          minimum: 0
          type: integer
          description: Volume level for the video's original audio, from 0 (muted) to 100 (full volume). Defaults to 100.
          format: int32
    LibraryPostDto:
      type: object
      properties:
        id:
          type: integer
          format: int64
        creationDate:
          $ref: '#/components/schemas/DateTimeInfo'
        updatedDate:
          $ref: '#/components/schemas/DateTimeInfo'
        shortener:
          type: boolean
        draft:
          type: boolean
        commonData:
          $ref: '#/components/schemas/LibraryPostCommonConfigurationDto'
        media:
          type: array
          items:
            $ref: '#/components/schemas/LibraryPostMediaDto'
        saveExternalMediaFiles:
          type: boolean
        parentId:
          type: integer
          format: int64
        twitterData:
          $ref: '#/components/schemas/TwitterConfigurationDto'
        facebookData:
          $ref: '#/components/schemas/FacebookConfigurationDto'
        instagramData:
          $ref: '#/components/schemas/InstagramConfigurationDto'
        threadsData:
          $ref: '#/components/schemas/ThreadsConfigurationDto'
        linkedinData:
          $ref: '#/components/schemas/LinkedinConfigurationDto'
        pinterestData:
          $ref: '#/components/schemas/PinterestConfigurationDto'
        tiktokData:
          $ref: '#/components/schemas/TikTokConfigurationDto'
        youtubeData:
          $ref: '#/components/schemas/YoutubeConfigurationDto'
        gbpData:
          $ref: '#/components/schemas/GbpConfigurationDto'
        blueskyData:
          $ref: '#/components/schemas/BlueskyConfigurationDto'
        descendants:
          type: array
          items:
            $ref: '#/components/schemas/LibraryPostDto'
        notes:
          type: array
          items:
            $ref: '#/components/schemas/LibraryPostNoteDto'
        hasNotReadNotes:
          type: boolean
        tags:
          type: string
        performanceDashboardIds:
          type: array
          items:
            type: integer
            format: int64
        assignee:
          $ref: '#/components/schemas/LibraryPostAssigneeDto'
        state:
          $ref: '#/components/schemas/LibraryPostStateDto'
    ThreadsConfigurationDto:
      type: object
      properties:
        enabled:
          type: boolean
          description: A boolean that represents if the Threads configuration is enabled for this library post
        allowedCountryCodes:
          uniqueItems: true
          type: array
          description: 'A string list of valid ISO 3166-1 alpha-2 country codes that represents the countries where this media should be shown. '
          items:
            type: string
            description: 'A string list of valid ISO 3166-1 alpha-2 country codes that represents the countries where this media should be shown. '
        replyControl:
          type: string
          description: A string that represents who can reply to a Threads post, been EVERYONE by default. (EVERYONE, ACCOUNTS_YOU_FOLLOW,MENTIONED_ONLY,PARENT_POST_AUTHOR_ONLY,FOLLOWERS_ONLY)
        type:
          type: string
          description: Post type (POST or GHOST)
        shareAsInstagramStory:
          type: boolean
          description: A boolean that represents if the Threads post must be cross-shared as an Instagram Story. The Story is published on the Instagram account linked to the Threads account, which may not match the Instagram account connected to this brand.
        instagramStoryTheme:
          type: string
          description: Theme used when the Threads post is cross-shared as an Instagram Story (LIGHT or DARK). Only allowed when shareAsInstagramStory is enabled; must be absent otherwise.
        isSpoiler:
          type: boolean
          description: A boolean that represents if isSpoiler is activated or not