Metricool ICS Calendar Rest Services for Metricool calendar (scheduler) API

The ICS Calendar Rest Services for Metricool calendar (scheduler) API from Metricool — 7 operation(s) for ics calendar rest services for metricool calendar (scheduler).

Operations 8

GET /v2/scheduler/calendars Get all system calendar data stored in database, only public #
GET /v2/scheduler/calendars/assigned Search all assigned calendars by mark or/and by user. #
GET /v2/scheduler/calendars/metadata Get calendar data from ics file url (don't store #
POST /v2/scheduler/calendars/{calendar-id}/assignation Add calendar to user and/or blog, this calendar can be of two types: system… #
DELETE /v2/scheduler/calendars/{calendar-id}/assignation Remove calendar (any calendar type) for user or blog #
POST /v2/scheduler/calendars/{calendar-id}/cache Refresh calendar cache and generate a new one by calendar ID for calendars with… #
GET /v2/scheduler/calendars/{calendar-id}/events get calendar with it events in time period #
POST /v2/scheduler/calendars/{calendar-type} Create Calendar by type (ex: 'user', calendar with type user), and assign it to… #

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-ics-calendar-rest-services-for-metricool-calendar-scheduler-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-ics-calendar-rest-services-for-metricool-calendar-scheduler-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: ICS Calendar Rest Services for Metricool calendar…
  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: ICS Calendar Rest Services for Metricool calendar (scheduler)
paths:
  /v2/scheduler/calendars:
    get:
      tags:
      - ICS Calendar Rest Services for Metricool calendar (scheduler)
      summary: Get all system calendar data stored in database, only public
      operationId: findCalendars
      parameters:
      - name: language
        in: query
        description: calendar language
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JsonOkListResponseICS_Calendar_Response_Data'
        '204':
          description: Not content
        '400':
          description: Bad request
        '403':
          description: Forbidden
        '500':
          description: Internal server error
  /v2/scheduler/calendars/assigned:
    get:
      tags:
      - ICS Calendar Rest Services for Metricool calendar (scheduler)
      summary: Search all assigned calendars by mark or/and by user.
      operationId: getSelectCalendars
      parameters:
      - name: language
        in: query
        description: calendar language
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JsonOkResponseTwo_List_With_CalendarDTO__User_s_Calendars_And_Blog_s_Calendars'
        '204':
          description: Not content
        '403':
          description: Forbidden
        '500':
          description: Internal server error
  /v2/scheduler/calendars/metadata:
    get:
      tags:
      - ICS Calendar Rest Services for Metricool calendar (scheduler)
      summary: Get calendar data from ics file url (don't store
      operationId: getCalendarFromURL
      parameters:
      - name: url
        in: query
        description: Public url to ics calendar file
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JsonOkResponseCalendarDto'
        '404':
          description: ics file don't found
        '400':
          description: Bad request
        '403':
          description: Forbidden
  /v2/scheduler/calendars/{calendar-id}/assignation:
    post:
      tags:
      - ICS Calendar Rest Services for Metricool calendar (scheduler)
      summary: 'Add calendar to user and/or blog, this calendar can be of two types: system…'
      operationId: addCalendar
      parameters:
      - name: calendar-id
        in: path
        description: internal calendar id
        required: true
        schema:
          type: integer
          format: int32
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Information_about_adding_a_calendar_to_an_user_or_blog'
        required: true
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JsonOkResponseResult_Information_About_Added_Calendar_To_A_User_Or_Blog'
        '204':
          description: Not content
        '400':
          description: Bad request
        '403':
          description: Forbidden
        '500':
          description: Internal server error
    delete:
      tags:
      - ICS Calendar Rest Services for Metricool calendar (scheduler)
      summary: Remove calendar (any calendar type) for user or blog
      operationId: removeCalendar
      parameters:
      - name: calendar-id
        in: path
        description: internal calendar id
        required: true
        schema:
          type: integer
          format: int32
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Response_about_remove_a_calendar_for_an_user_or_blog'
        required: true
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JsonOkResponseBoolean'
        '400':
          description: Bad request
        '403':
          description: Forbidden
        '500':
          description: Internal server error
  /v2/scheduler/calendars/{calendar-id}/cache:
    post:
      tags:
      - ICS Calendar Rest Services for Metricool calendar (scheduler)
      summary: Refresh calendar cache and generate a new one by calendar ID for calendars with…
      operationId: refreshCalendarCache
      parameters:
      - name: calendar-id
        in: path
        description: Calendar ID
        required: true
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: Cache refreshed and regenerated successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JsonOkResponseBoolean'
        '400':
          description: Bad request
        '403':
          description: Forbidden
        '500':
          description: Internal server error
  /v2/scheduler/calendars/{calendar-id}/events:
    get:
      tags:
      - ICS Calendar Rest Services for Metricool calendar (scheduler)
      summary: get calendar with it events in time period
      operationId: getCalendarEvents
      parameters:
      - name: initDate
        in: query
        description: init calendar period ('2025-02-01T00:00:00')
        required: true
        schema:
          type: string
      - name: endDate
        in: query
        description: end calendar period ('2025-03-01T00:00:00')
        required: true
        schema:
          type: string
      - name: timeZone
        in: query
        description: time zone
        required: true
        schema:
          type: string
      - name: calendar-id
        in: path
        description: Calendar identification
        required: true
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JsonOkResponseAll_Events_In_Limited_Time_In_One_Calendar'
        '204':
          description: Not content
        '400':
          description: Bad request
        '403':
          description: Forbidden
        '500':
          description: Internal server error
  /v2/scheduler/calendars/{calendar-type}:
    post:
      tags:
      - ICS Calendar Rest Services for Metricool calendar (scheduler)
      summary: 'Create Calendar by type (ex: ''user'', calendar with type user), and assign it to…'
      operationId: addTypeCalendar
      parameters:
      - name: calendar-type
        in: path
        description: Calendar type
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ICS_calendar_request_data'
        required: true
      responses:
        '201':
          description: Created
        '400':
          description: Bad request
        '403':
          description: Forbidden
        '500':
          description: Internal server error
components:
  schemas:
    two_list_with_CalendarDTO__user_s_calendars_and_blog_s_calendars:
      type: object
      properties:
        userCalendars:
          type: array
          description: Calendars assigned to current user
          items:
            $ref: '#/components/schemas/ICS_calendar_response_data'
        blogCalendars:
          type: array
          description: Calendars assigned to current blog
          items:
            $ref: '#/components/schemas/ICS_calendar_response_data'
    result_information_about_added_calendar_to_a_user_or_blog:
      type: object
      properties:
        calendarId:
          type: integer
          description: Internal calendar id
          format: int32
        aggregationTo:
          type: integer
          description: Blog id, if it is add for a blog
          format: int32
        userId:
          type: integer
          description: User id, if it is add for a user
          format: int32
    DailyFrecuency:
      type: object
      properties:
        dayOfWeek:
          type: string
          enum:
          - MONDAY
          - TUESDAY
          - WEDNESDAY
          - THURSDAY
          - FRIDAY
          - SATURDAY
          - SUNDAY
        position:
          type: integer
          format: int32
    JsonOkResponseCalendarDto:
      type: object
      properties:
        metadata:
          type: object
        page:
          $ref: '#/components/schemas/JsonPaging'
        data:
          $ref: '#/components/schemas/CalendarDto'
    JsonOkResponseAll_Events_In_Limited_Time_In_One_Calendar:
      type: object
      properties:
        metadata:
          type: object
        page:
          $ref: '#/components/schemas/JsonPaging'
        data:
          $ref: '#/components/schemas/All_events_in_limited_time_in_one_calendar'
    JsonOkResponseBoolean:
      type: object
      properties:
        metadata:
          type: object
        page:
          $ref: '#/components/schemas/JsonPaging'
        data:
          type: boolean
    EventDto:
      type: object
      properties:
        name:
          type: string
        description:
          type: string
        eventInit:
          type: string
          format: date-time
        eventEnd:
          type: string
          format: date-time
        repeatEvent:
          type: boolean
        repeat:
          $ref: '#/components/schemas/RepeatFrequencyDto'
        dailyEvent:
          type: boolean
        uid:
          type: string
    JsonOkListResponseICS_Calendar_Response_Data:
      type: object
      properties:
        metadata:
          type: object
        page:
          $ref: '#/components/schemas/JsonPaging'
        data:
          type: array
          items:
            $ref: '#/components/schemas/ICS_calendar_response_data'
    JsonPaging:
      type: object
      properties:
        next:
          type: string
    Information_about_adding_a_calendar_to_an_user_or_blog:
      required:
      - aggregationFrom
      type: object
      properties:
        aggregationFrom:
          minLength: 1
          type: string
          description: Adding for a user or blog
    ICS_calendar_response_data:
      type: object
      properties:
        id:
          type: integer
          description: Internal calendar Id
          format: int32
        url:
          type: string
          description: external url to access a public ICS file with this calendar information
        name:
          type: string
          description: Calendar name
        description:
          type: string
          description: Calendar description
        publicCalendar:
          type: boolean
          description: Is this calendar visible to user?
        language:
          type: string
          description: Calendar language
        type:
          type: string
          description: Calendar type
      description: Calendars assigned to current blog
    RepeatFrequencyDto:
      type: object
      properties:
        repeatPattern:
          type: string
        frequency:
          type: string
          enum:
          - Nanos
          - Micros
          - Millis
          - Seconds
          - Minutes
          - Hours
          - HalfDays
          - Days
          - Weeks
          - Months
          - Years
          - Decades
          - Centuries
          - Millennia
          - Eras
          - Forever
        daysOfWeek:
          type: array
          items:
            $ref: '#/components/schemas/DailyFrecuency'
        daysOfMoth:
          type: array
          items:
            type: integer
            format: int32
        interval:
          type: integer
          format: int32
        repeatCount:
          type: integer
          format: int32
        until:
          type: string
          format: date-time
    CalendarDto:
      type: object
      properties:
        id:
          type: integer
          format: int32
        url:
          type: string
        name:
          type: string
        description:
          type: string
        publicCalendar:
          type: boolean
        timeZone:
          type: string
        language:
          type: string
        type:
          type: string
          enum:
          - SYSTEM
          - USER
        events:
          type: array
          items:
            $ref: '#/components/schemas/EventDto'
    All_events_in_limited_time_in_one_calendar:
      type: object
      properties:
        calendar-id:
          type: integer
          description: Calendar id
          format: int32
        calendar-name:
          type: string
          description: Calendar name
        start-date:
          $ref: '#/components/schemas/DateTimeInfo'
        end-date:
          $ref: '#/components/schemas/DateTimeInfo'
        events-all-day:
          type: array
          description: Events all day
          items:
            $ref: '#/components/schemas/Atomic_event__with_init_and_end_one_time'
        events-by-hour:
          type: array
          description: Events with init hour and end hour
          items:
            $ref: '#/components/schemas/Atomic_event__with_init_and_end_one_time'
    Atomic_event__with_init_and_end_one_time:
      type: object
      properties:
        eventName:
          type: string
          description: Event name
        eventDescription:
          type: string
          description: Event description
        eventInit:
          $ref: '#/components/schemas/DateTimeInfo'
        eventEnd:
          $ref: '#/components/schemas/DateTimeInfo'
        uid:
          type: string
      description: Events with init hour and end hour
    JsonOkResponseTwo_List_With_CalendarDTO__User_s_Calendars_And_Blog_s_Calendars:
      type: object
      properties:
        metadata:
          type: object
        page:
          $ref: '#/components/schemas/JsonPaging'
        data:
          $ref: '#/components/schemas/two_list_with_CalendarDTO__user_s_calendars_and_blog_s_calendars'
    ICS_calendar_request_data:
      required:
      - aggregationFrom
      type: object
      properties:
        id:
          type: integer
          description: Internal calendar Id
          format: int32
        url:
          type: string
          description: external url to access a public ICS file with this calendar information
        name:
          type: string
          description: Calendar name
        description:
          type: string
          description: Calendar description
        publicCalendar:
          type: boolean
          description: Is this calendar visible to user?
        language:
          type: string
          description: Calendar language
        aggregationFrom:
          minLength: 1
          type: string
          description: Adding for a user or blog
    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
    JsonOkResponseResult_Information_About_Added_Calendar_To_A_User_Or_Blog:
      type: object
      properties:
        metadata:
          type: object
        page:
          $ref: '#/components/schemas/JsonPaging'
        data:
          $ref: '#/components/schemas/result_information_about_added_calendar_to_a_user_or_blog'
    Response_about_remove_a_calendar_for_an_user_or_blog:
      required:
      - removeFrom
      type: object
      properties:
        removeFrom:
          minLength: 1
          type: string
          description: Erase calendar for a user or blog