Timeular Authentication API

The Authentication API from Timeular — 3 operation(s) for authentication.

Operations 4

POST /api/v4/developer/sign-in Sign-in with API Key & API Secret #
GET /api/v4/developer/api-access Fetch API Key #
POST /api/v4/developer/api-access Generate new API Key & API Secret #
POST /api/v4/developer/logout Logout #

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/timeular-authentication-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

timeular-authentication-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: EARLY (Timeular) Public Activities Authentication 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: Authentication
paths:
  /api/v4/developer/sign-in:
    post:
      summary: Sign-in with API Key & API Secret
      operationId: signInWithApiKeyApiSecret
      tags:
      - Authentication
      description: 'With this endpoint you can obtain an Access Token, which is required to access secured endpoints. To do so, you have to provide both an API Key and an API Secret.

        They can be generated on https://product.early.app or, if you have an Access Token already, with a POST request to /developer/api-access.

        If you have an Access Token, you need to set the Authorization Header in every secured request to Bearer your_access_token.'
      requestBody:
        required: true
        content:
          application/json:
            example:
              apiKey: '{{API_KEY}}'
              apiSecret: '{{API_SECRET}}'
      responses:
        '200':
          description: Access Token
          content:
            application/json:
              example:
                token: 1234abcdEFGH
        '401':
          description: Unauthorized
          content:
            application/json:
              example:
                message: Explanation of what has happened
        '400':
          description: Bad Request
          content:
            application/json:
              example:
                message: Explanation of what has happened
      security: []
  /api/v4/developer/api-access:
    get:
      summary: Fetch API Key
      operationId: fetchApiKey
      tags:
      - Authentication
      description: "With this endpoint you can fetch your API Key. If you haven't generated one yet, null will be returned.\n You cannot obtain an API Secret in this way, since it’s visible only once right after generation. If you have lost your API Secret, please generate a new pair of API Key & API Secret."
      responses:
        '200':
          description: API Key
          content:
            application/json:
              example:
                apiKey: ABCDefgh1234=
        '400':
          description: Missing Authorization header
          content:
            application/json:
              example:
                message: Explanation of what has happened
        '401':
          description: Unauthorized
          content:
            application/json:
              example:
                message: Explanation of what has happened
    post:
      summary: Generate new API Key & API Secret
      operationId: generateNewApiKeyApiSecret
      tags:
      - Authentication
      description: 'With this endpoint you can generate a new pair of API Key & API Secret.

        Every time you generate a new pair, the old one becomes invalid. Your API Secret won’t be accessible later, so please note it down in some secret place. If you have lost your API Secret, you can generate a new pair of API Key & API Secret here.'
      responses:
        '200':
          description: API Key & API Secret
          content:
            application/json:
              example:
                apiKey: ABCDefgh1234=
                apiSecret: EFGHijkl5678=
        '400':
          description: Missing Authorization header
          content:
            application/json:
              example:
                message: Explanation of what has happened
        '401':
          description: Unauthorized
          content:
            application/json:
              example:
                message: Explanation of what has happened
  /api/v4/developer/logout:
    post:
      summary: Logout
      operationId: logout
      tags:
      - Authentication
      description: With this endpoint you are invalidating the current Access Token meaning all access wil be denied if you are using it afterwards again.
      responses:
        '200':
          description: API Key & API Secret
          content:
            application/json:
              example:
                apiKey: ABCDefgh1234=
                apiSecret: EFGHijkl5678=
        '401':
          description: Unauthorized
          content:
            application/json:
              example:
                message: Explanation of what has happened
        '400':
          description: Missing Authorization header
          content:
            application/json:
              example:
                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.