lemlist Schedules API

Sending schedules - CRUD and association with campaigns.

Operations 7

GET /schedules Retrieve All Schedules
POST /schedules Create a new schedule
GET /schedules/{scheduleId} Retrieve One Schedule
PATCH /schedules/{scheduleId} Update a schedule
DELETE /schedules/{scheduleId} Delete a schedule
GET /campaigns/{campaignId}/schedules/ Retrieve Campaign Schedules
POST /campaigns/{campaignId}/schedules/{scheduleId} Associate schedule with campaign

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/lemlist-schedules-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

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

lemlist-schedules-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Lemlist Schedules API
  version: 1.0.0
  description: 'Operations tagged Schedules across 3 of this provider''s published API definitions: lemlist-openapi-v1-legacy.json, lemlist-openapi-v2.json, lemlist-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.lemlist.com/api
tags:
- name: Schedules
paths:
  /schedules:
    parameters: []
    get:
      summary: Retrieve All Schedules
      tags:
      - Schedules
      parameters:
      - name: page
        in: query
        required: false
        description: '(Optional): The page number to retrieve'
        example: '1'
        schema:
          type: integer
      - name: offset
        in: query
        required: false
        description: '(Optional,): The number of records to skip. Used if page is not provided'
        example: '0'
        schema:
          type: integer
      - name: limit
        in: query
        required: false
        description: '(Optional,): The maximum number of records to return'
        example: '2'
        schema:
          type: integer
      - name: sortBy
        in: query
        required: false
        description: '(Optional,): The field by which to sort the schedules. Currently, only "createdAt" is supported'
        example: createdAt
        schema:
          type: string
      - name: sortOrder
        in: query
        required: false
        description: '(Optional,): The sort direction. Use "desc" for descending order; any other value (or omission) will sort in ascending order'
        example: desc
        schema:
          type: string
      - name: Content
        in: header
        required: false
        example: application/json
        schema:
          type: string
      responses:
        '200':
          headers:
            Content-Type:
              schema:
                type: string
              example: application/json
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  schedules:
                    type: array
                    items:
                      type: object
                      properties:
                        _id:
                          type: string
                        name:
                          type: string
                        secondsToWait:
                          type: integer
                        timezone:
                          type: string
                        start:
                          type: string
                          format: style
                        end:
                          type: string
                        weekdays:
                          type: array
                          items:
                            type: integer
                        teamId:
                          type: string
                        createdBy:
                          type: string
                        createdAt:
                          type: string
                          format: date-time
                  pagination:
                    type: object
                    properties:
                      totalRecords:
                        type: integer
                      currentPage:
                        type: integer
                      nextPage:
                        type: integer
                      totalPage:
                        type: integer
              example:
                schedules:
                - _id: skd_Cyf3LZJuJamrmCMrv
                  name: Test 2
                  secondsToWait: 1200
                  timezone: Atlantic/Reykjavik
                  start: 08:00
                  end: '18:00'
                  weekdays:
                  - 1
                  - 2
                  - 3
                  - 4
                  - 5
                  teamId: tea_b834id4r7skME8mfW
                  createdBy: usr_F7iPChEQ3pSmuTiCe
                  createdAt: '2025-02-06T16:29:10.217Z'
                - _id: skd_ZmBiTE9xA4yo5yigu
                  name: Default schedule
                  secondsToWait: 1200
                  timezone: Europe/Paris
                  start: 09:00
                  end: '18:00'
                  weekdays:
                  - 1
                  - 2
                  - 3
                  - 4
                  - 5
                  teamId: tea_b834id4r7skME8mfW
                  createdBy: usr_F7iPChEQ3pSmuTiCe
                  createdAt: '2025-02-06T16:28:30.913Z'
                - _id: skd_7AJHLRRxpRhcPxopG
                  name: Default schedule
                  secondsToWait: 1200
                  timezone: Europe/Paris
                  start: 09:00
                  end: '18:00'
                  weekdays:
                  - 1
                  - 2
                  - 3
                  - 4
                  - 5
                  teamId: tea_b834id4r7skME8mfW
                  createdBy: usr_F7iPChEQ3pSmuTiCe
                  createdAt: '2025-02-06T16:25:47.049Z'
                pagination:
                  totalRecords: 5780
                  currentPage: 1
                  nextPage: 2
                  totalPage: 1927
    post:
      summary: Create a new schedule
      tags:
      - Schedules
      parameters:
      - name: Content
        in: header
        required: false
        example: application/json
        schema:
          type: string
      responses:
        '200':
          headers:
            Content-Type:
              schema:
                type: string
              example: application/json
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  _id:
                    type: string
                  name:
                    type: string
                  secondsToWait:
                    type: integer
                  timezone:
                    type: string
                  start:
                    type: string
                    format: style
                  end:
                    type: string
                  weekdays:
                    type: array
                    items:
                      type: integer
                  public:
                    type: boolean
                  teamId:
                    type: string
                  createdBy:
                    type: string
                  createdAt:
                    type: string
                    format: date-time
              example:
                _id: skd_JTb4gjdiizqPoYqzh
                name: Default schedule
                secondsToWait: 120
                timezone: Europe/Paris
                start: 09:00
                end: '18:00'
                weekdays:
                - 1
                - 2
                - 3
                - 4
                - 5
                public: false
                teamId: tea_Lq4kN7R2pqEA4YFst
                createdBy: usr_n2PG5aHnsGErYS2Yg
                createdAt: '2025-01-17T15:17:59.207Z'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                secondsToWait:
                  type: string
                timezone:
                  type: string
                start:
                  type: string
                end:
                  type: string
                weekdays:
                  type: array
                  items:
                    type: string
                public:
                  type: string
            example:
              name: '{{name}}'
              secondsToWait: '{{seconds}}'
              timezone: '{{timezone}}'
              start: '{{start}}'
              end: '{{end}}'
              weekdays:
              - '{{days}}'
              public: '{{public}}'
    servers:
    - url: https://api.lemlist.com/api
  /schedules/{scheduleId}:
    parameters:
    - name: scheduleId
      in: path
      required: true
      example: '{{scheduleId}}'
      schema:
        type: string
    get:
      summary: Retrieve One Schedule
      tags:
      - Schedules
      parameters:
      - name: Content
        in: header
        required: false
        example: application/json
        schema:
          type: string
      responses:
        '200':
          headers:
            Content-Type:
              schema:
                type: string
              example: application/json
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  _id:
                    type: string
                  name:
                    type: string
                  secondsToWait:
                    type: integer
                  timezone:
                    type: string
                  start:
                    type: string
                    format: style
                  end:
                    type: string
                  weekdays:
                    type: array
                    items:
                      type: integer
                  teamId:
                    type: string
                  createdBy:
                    type: string
                  createdAt:
                    type: string
                    format: date-time
              example:
                _id: skd_JTb4gjdiizqPoYqzh
                name: Default schedule
                secondsToWait: 120
                timezone: Europe/Paris
                start: 09:00
                end: '18:00'
                weekdays:
                - 1
                - 2
                - 3
                - 4
                - 5
                teamId: tea_Lq4kN7R2pqEA4YFst
                createdBy: usr_n2PG5aHnsGErYS2Yg
                createdAt: '2025-01-17T15:17:59.207Z'
    patch:
      summary: Update a schedule
      tags:
      - Schedules
      parameters:
      - name: Content
        in: header
        required: false
        example: application/json
        schema:
          type: string
      responses:
        '200':
          headers:
            Content-Type:
              schema:
                type: string
              example: application/json
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  _id:
                    type: string
                  name:
                    type: string
                  secondsToWait:
                    type: integer
                  timezone:
                    type: string
                  start:
                    type: string
                    format: style
                  end:
                    type: string
                  weekdays:
                    type: array
                    items:
                      type: integer
                  public:
                    type: boolean
                  teamId:
                    type: string
                  createdBy:
                    type: string
                  createdAt:
                    type: string
                    format: date-time
              example:
                _id: skd_JTb4gjdiizqPoYqzh
                name: Schedule new name
                secondsToWait: 120
                timezone: Europe/Paris
                start: 09:00
                end: '18:00'
                weekdays:
                - 1
                - 2
                - 3
                - 4
                - 5
                public: false
                teamId: tea_Lq4kN7R2pqEA4YFst
                createdBy: usr_n2PG5aHnsGErYS2Yg
                createdAt: '2025-01-17T15:17:59.207Z'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                secondsToWait:
                  type: string
                timezone:
                  type: string
                start:
                  type: string
                end:
                  type: string
                weekdays:
                  type: array
                  items:
                    type: string
                public:
                  type: string
            example:
              name: '{{name}}'
              secondsToWait: '{{seconds}}'
              timezone: '{{timezone}}'
              start: '{{start}}'
              end: '{{end}}'
              weekdays:
              - '{{days}}'
              public: '{{public}}'
    delete:
      summary: Delete a schedule
      tags:
      - Schedules
      parameters:
      - name: Content
        in: header
        required: false
        example: application/json
        schema:
          type: string
      responses:
        '200':
          headers:
            Content-Type:
              schema:
                type: string
              example: application/json
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  _id:
                    type: string
              example:
                _id: skd_L2sKZ3HMddtrfmHGr
    servers:
    - url: https://api.lemlist.com/api
  /campaigns/{campaignId}/schedules/:
    parameters:
    - name: campaignId
      in: path
      required: true
      example: '{{campaignId}}'
      schema:
        type: string
    get:
      summary: Retrieve Campaign Schedules
      tags:
      - Schedules
      parameters:
      - name: Content
        in: header
        required: false
        example: application/json
        schema:
          type: string
      responses:
        '200':
          headers:
            Content-Type:
              schema:
                type: string
              example: application/json
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    _id:
                      type: string
                    name:
                      type: string
                    secondsToWait:
                      type: integer
                    timezone:
                      type: string
                    start:
                      type: string
                      format: style
                    end:
                      type: string
                    weekdays:
                      type: array
                      items:
                        type: integer
                    teamId:
                      type: string
                    createdBy:
                      type: string
                    createdAt:
                      type: string
                      format: date-time
              example:
              - _id: skd_Cyf3LZJuJamrmCMrv
                name: Test 2
                secondsToWait: 1200
                timezone: Atlantic/Reykjavik
                start: 08:00
                end: '18:00'
                weekdays:
                - 1
                - 2
                - 3
                - 4
                - 5
                teamId: tea_b834id4r7skME8mfW
                createdBy: usr_F7iPChEQ3pSmuTiCe
                createdAt: '2025-02-06T16:29:10.217Z'
              - _id: skd_hCG7J8K4EcLYM3GS9
                name: Default schedule
                secondsToWait: 1200
                timezone: Africa/Ceuta
                start: 09:00
                end: '18:00'
                weekdays:
                - 1
                - 2
                - 3
                - 4
                - 5
                teamId: tea_b834id4r7skME8mfW
                createdBy: usr_cTWih7tcKWicFRiQj
                createdAt: '2025-02-06T15:36:01.531Z'
              - _id: skd_sxKnxqQ9Qx9vMEyyZ
                name: Default schedule
                secondsToWait: 1200
                timezone: Europe/Paris
                start: 09:00
                end: '18:00'
                weekdays:
                - 1
                - 2
                - 3
                - 4
                - 5
                teamId: tea_b834id4r7skME8mfW
                createdBy: usr_cTWih7tcKWicFRiQj
                createdAt: '2025-02-06T15:35:52.079Z'
    servers:
    - url: https://api.lemlist.com/api
  /campaigns/{campaignId}/schedules/{scheduleId}:
    parameters:
    - name: campaignId
      in: path
      required: true
      example: '{{campaignId}}'
      schema:
        type: string
    - name: scheduleId
      in: path
      required: true
      example: '{{scheduleId}}'
      schema:
        type: string
    post:
      summary: Associate schedule with campaign
      tags:
      - Schedules
      parameters:
      - name: Content
        in: header
        required: false
        example: application/json
        schema:
          type: string
      responses:
        '200':
          headers:
            Content-Type:
              schema:
                type: string
              example: application/json
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  scheduleId:
                    type: string
                  campaignId:
                    type: string
              example:
                scheduleId: skd_CBHNKLZsZr3FFJHPK
                campaignId: cam_SaAarzTsXms8BENvR
    servers:
    - url: https://api.lemlist.com/api
components:
  schemas:
    Schedule:
      type: object
      description: Sending time windows defining when campaigns can send messages (days and hours).
      properties:
        _id:
          type: string
          description: Unique schedule identifier
        name:
          type: string
          description: Schedule name
        secondsToWait:
          type: integer
          description: Seconds between sends
        timezone:
          type: string
          description: Schedule timezone (e.g., 'Europe/Paris')
        start:
          type: string
          description: Daily start time (HH:mm)
          pattern: ^([01]\d|2[0-3]):[0-5]\d$
        end:
          type: string
          description: Daily end time (HH:mm)
          pattern: ^([01]\d|2[0-3]):[0-5]\d$
        weekdays:
          type: array
          items:
            type: integer
            minimum: 1
            maximum: 7
          description: Active weekdays (1=Monday, 7=Sunday)
        public:
          type: boolean
          description: Whether the schedule is available as a template for other users
        teamId:
          type: string
          description: Unique identifier of the team that owns this schedule
        createdBy:
          type: string
          description: Unique identifier of the user who created this schedule
        createdAt:
          type: string
          format: date-time
          description: Timestamp when the schedule was created
        deletedAt:
          type: string
          format: date-time
          description: Timestamp when the schedule was deleted (only present if deleted)
        deletedBy:
          type: string
          description: Unique identifier of the user who deleted this schedule (only present if deleted)
    ScheduleListResponse:
      type: object
      description: Paginated response containing multiple schedules.
      properties:
        schedules:
          type: array
          description: Array of schedule objects
          items:
            $ref: '#/components/schemas/Schedule'
        pagination:
          type: object
          description: Pagination information
          properties:
            totalRecords:
              type: integer
              description: Total number of schedules across all pages
            currentPage:
              type: integer
              description: Current page number
            nextPage:
              type: integer
              description: Next page number (null if on last page)
            totalPage:
              type: integer
              description: Total number of pages
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic
x-refined-from:
- lemlist-openapi-v1-legacy.json
- lemlist-openapi-v2.json
- lemlist-openapi.yml