Timeular Folders API

The Folders API from Timeular — 4 operation(s) for folders.

OpenAPI Specification

timeular-folders-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: EARLY (Timeular) Public Activities Folders API
  version: v4
  description: Public REST API for EARLY (formerly Timeular) time tracking. Manage activities, time entries, live tracking, tags & mentions, folders, users, leaves, and webhook subscriptions. Authentication is via API Key + API Secret exchanged for a Bearer Access Token. Derived by API Evangelist from the provider-published public Postman collection.
  contact:
    name: EARLY Developer Support
    url: https://developers.early.app/
  x-derived-from: https://developers.early.app/ public Postman collection T1DwdEke
servers:
- url: https://api.early.app/api/v4
  description: Production (V4 - current)
security:
- bearerAuth: []
tags:
- name: Folders
paths:
  /api/v4/folders:
    get:
      summary: List all Folders
      operationId: listAllFolders
      tags:
      - Folders
      responses:
        '200':
          description: List of Folders
          content:
            application/json:
              example:
                folders:
                - id: '1'
                  name: My folder
                  status: active
                  members:
                  - id: '1'
                    name: My name
                    email: my-email@example.com
                    accessLevel: full
                  - id: '2'
                    name: My teammate
                    email: my-teammate@example.com
                    accessLevel: personal
                  retiredMembers:
                  - id: '3'
                    name: My old teammate
                - id: '2'
                  name: Other folder
                  status: active
                  members:
                  - id: '1'
                    name: My name
                    email: my-email@example.com
                    accessLevel: personal
                  - id: '2'
                    name: My teammate
                    email: my-teammate@example.com
                    accessLevel: full
                  retiredMembers: []
        '401':
          description: Unauthorized
          content:
            application/json:
              example:
                error:
                  message: Explanation of what has happened
    post:
      summary: Create a Folder
      operationId: createAFolder
      tags:
      - Folders
      description: 'With this endpoint you can create a new Folder. It should have a name, but the name doesn’t have to be unique.

        If you don''t want a new Folder to become a Workspace Folder, add an optional field isWorkspaceFolder: false (defaults to true).'
      requestBody:
        required: true
        content:
          application/json:
            example:
              name: My folder
      responses:
        '201':
          description: Created Folder
          content:
            application/json:
              example:
                id: '1'
                name: My folder
                status: active
                members:
                - id: '1'
                  name: My name
                  email: my-email@example.com
                  accessLevel: full
                retiredMembers: []
        '401':
          description: Unauthorized
          content:
            application/json:
              example:
                error:
                  message: Explanation of what has happened
  /api/v4/folders/{id}:
    get:
      summary: Find Folder by its ID
      operationId: findFolderByItsId
      tags:
      - Folders
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Found Folder
          content:
            application/json:
              example:
                id: '1'
                name: My folder
                status: active
                members:
                - id: '1'
                  name: My name
                  email: my-email@example.com
                  accessLevel: full
                - id: '2'
                  name: My teammate
                  email: my-teammate@example.com
                  accessLevel: personal
                retiredMembers:
                - id: '3'
                  name: My old teammate
        '401':
          description: Unauthorized
          content:
            application/json:
              example:
                error:
                  message: Explanation of what has happened
    patch:
      summary: Edit a Folder
      operationId: editAFolder
      tags:
      - Folders
      description: With this endpoint you can edit a name of an existing Folder.
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            example:
              name: Better name
      responses:
        '200':
          description: Edited Folder
          content:
            application/json:
              example:
                id: '1'
                name: Better name
                status: active
                members:
                - id: '1'
                  name: My name
                  email: my-email@example.com
                  accessLevel: full
                - id: '2'
                  name: My teammate
                  email: my-teammate@example.com
                  accessLevel: personal
                retiredMembers:
                - id: '3'
                  name: My old teammate
        '401':
          description: Unauthorized
          content:
            application/json:
              example:
                error:
                  message: Explanation of what has happened
    delete:
      summary: Delete a Folder
      operationId: deleteAFolder
      tags:
      - Folders
      description: With this endpoint you can delete existing Folder. Deleting a Folder is NOT reversible and cannot be undone. You may consider archiving a Folder instead. Deletion can take a few minutes.
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '202':
          description: Accepted
          content:
            application/json:
              example:
                message: pending
        '401':
          description: Unauthorized
          content:
            application/json:
              example:
                error:
                  message: Explanation of what has happened
  /api/v4/folders/{id}/archive:
    post:
      summary: Archive a folder
      operationId: archiveAFolder
      tags:
      - Folders
      description: When a Folder is no longer needed, you can archive it. It will not be possible to edit the Folder settings or add new Members. All folder Activities, Tags and Mentions will be archived. Unlike deleting a Folder, archiving can be undone.
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Folder Archived
          content:
            application/json:
              example:
                id: '1'
                name: My folder
                status: archived
                members:
                - id: '1'
                  name: My name
                  email: my-email@example.com
                  accessLevel: full
                retiredMembers: []
        '401':
          description: Unauthorized
          content:
            application/json:
              example:
                error:
                  message: Explanation of what has happened
  /api/v4/folders/{id}/unarchive:
    post:
      summary: Unarchive a Folder
      operationId: unarchiveAFolder
      tags:
      - Folders
      description: Undo archiving a Folder. All folder Activities, Tags and Mentions will be unarchived.
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Folder Unarchived
          content:
            application/json:
              example:
                id: '1'
                name: My folder
                status: active
                members:
                - id: '1'
                  name: My name
                  email: my-email@example.com
                  accessLevel: full
                retiredMembers: []
        '401':
          description: Unauthorized
          content:
            application/json:
              example:
                error:
                  message: Explanation of what has happened
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: Access Token obtained from POST /developer/sign-in using your API Key and API Secret.