Timeular Authentication API

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

OpenAPI Specification

timeular-authentication-api-openapi.yml Raw ↑
openapi: 3.0.3
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.