Rocket Matter Timer API

Operations for timer activities to track billable time worked.

Operations 8

POST /Timer.svc/json/Start Start #
POST /Timer.svc/json/Pause Pause #
POST /Timer.svc/json/Bill Bill #
POST /Timer.svc/json/Get Get #
POST /Timer.svc/json/GetAllNonBilledForUser Get all non billed for user #
POST /Timer.svc/json/Save Save #
POST /Timer.svc/json/Delete Delete #
POST /Timer.svc/json/GetEvenIfDeleted Get even if deleted #

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/rocket-matter:rocket-matter-timer-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

rocket-matter-timer-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  description: Welcome to the Rocket Matter API.
  version: '2.0'
  title: Rocket Matter Timer API
  termsOfService: www.rocketmatter.com
  contact:
    email: developer@rocketmatter.com
  license:
    name: Rocket Matter
    url: www.rocketmatter.com
  x-logo:
    url: https://support.rocketmatter.com/wp-content/themes/rm-support/img/rm-logo.png
servers:
- url: https://<DOMAIN>/<INSTALL>/API_V2
tags:
- name: Timer
  description: Operations for timer activities to track billable time worked.
paths:
  /Timer.svc/json/Start:
    post:
      tags:
      - Timer
      description: Start a new timer.
      operationId: Start
      responses:
        '200':
          description: Successfully processed request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TimerResponse'
        '400':
          description: Internal server error
        '401':
          description: Unauthorized
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/StartTimerRequest'
        required: true
      summary: Start
      x-summary-source: derived
  /Timer.svc/json/Pause:
    post:
      tags:
      - Timer
      description: Pause an active timer.
      operationId: Pause
      responses:
        '200':
          description: Successfully processed request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TimerResponse'
        '400':
          description: Internal server error
        '401':
          description: Unauthorized
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PauseTimerRequest'
        required: true
      summary: Pause
      x-summary-source: derived
  /Timer.svc/json/Bill:
    post:
      tags:
      - Timer
      description: Bills for the elapsed time on a timer. Will also delete the active timer.
      operationId: Bill
      responses:
        '200':
          description: Successfully processed request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BaseResponse'
        '400':
          description: Internal server error
        '401':
          description: Unauthorized
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BillTimerRequest'
        required: true
      summary: Bill
      x-summary-source: derived
  /Timer.svc/json/Get:
    post:
      tags:
      - Timer
      description: View a specific timer activity based on ID.
      operationId: Get
      responses:
        '200':
          description: Successfully processed request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TimerResponse'
        '400':
          description: Internal server error
        '401':
          description: Unauthorized
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetTimerRequest'
        required: true
      summary: Get
      x-summary-source: derived
  /Timer.svc/json/GetAllNonBilledForUser:
    post:
      tags:
      - Timer
      description: Get all non-billed active timers.
      operationId: GetAllNonBilledForUser
      responses:
        '200':
          description: Successfully processed request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TimersResponse'
        '400':
          description: Internal server error
        '401':
          description: Unauthorized
      summary: Get all non billed for user
      x-summary-source: derived
  /Timer.svc/json/Save:
    post:
      tags:
      - Timer
      description: Saves existing timer information.
      operationId: Save
      responses:
        '200':
          description: Successfully processed request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TimerResponse'
        '400':
          description: Internal server error
        '401':
          description: Unauthorized
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TimerRequest'
        required: true
      summary: Save
      x-summary-source: derived
  /Timer.svc/json/Delete:
    post:
      tags:
      - Timer
      description: Deletes timer activity based on ID.
      operationId: Delete
      responses:
        '200':
          description: Successfully processed request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BaseResponse'
        '400':
          description: Internal server error
        '401':
          description: Unauthorized
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DeleteTimerRequest'
        required: true
      summary: Delete
      x-summary-source: derived
  /Timer.svc/json/GetEvenIfDeleted:
    post:
      tags:
      - Timer
      description: Retrieves deleted timer based on ID.
      operationId: GetEvenIfDeleted
      responses:
        '200':
          description: Successfully processed request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetEvenIfDeletedResponse'
        '400':
          description: Internal server error
        '401':
          description: Unauthorized
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetEvenIfDeletedRequest'
        required: true
      summary: Get even if deleted
      x-summary-source: derived
components:
  schemas:
    TimerRequest:
      type: object
      properties:
        ActiveTimer:
          type: object
          $ref: '#/components/schemas/ActiveTimer'
        BrowserSession:
          type: string
    TimersResponse:
      type: object
      properties:
        ActiveTimers:
          type: array
          items:
            $ref: '#/components/schemas/ActiveTimer'
        Success:
          type: boolean
        Message:
          type: string
        ErrorMessage:
          type: string
        ErrorNumber:
          type: integer
          format: int32
        FailedValidations:
          type: array
          items:
            $ref: '#/components/schemas/ValidationResult'
        Errors:
          type: array
          items:
            type: string
    StartTimerRequest:
      type: object
      properties:
        StartedAt:
          type: string
          format: date-time
        ActiveTimer:
          type: object
          $ref: '#/components/schemas/ActiveTimer'
        BrowserSession:
          type: string
    CharacterValidationRule:
      type: object
      properties:
        ShouldMatch:
          type: boolean
        Message:
          type: string
        Regex:
          type: string
    GetEvenIfDeletedResponse:
      type: object
      properties:
        ActiveTimer:
          type: object
          $ref: '#/components/schemas/ActiveTimer'
        Success:
          type: boolean
        Message:
          type: string
        ErrorMessage:
          type: string
        ErrorNumber:
          type: integer
          format: int32
        FailedValidations:
          type: array
          items:
            $ref: '#/components/schemas/ValidationResult'
        Errors:
          type: array
          items:
            type: string
    ValidationResult:
      type: object
      properties:
        MinValue:
          type: boolean
        MaxValue:
          type: boolean
        MinLength:
          type: boolean
        MaxLength:
          type: boolean
        Required:
          type: boolean
        PropertyDisplayName:
          type: string
        Precision:
          type: boolean
        ValueEntered:
          type: object
        Name:
          type: string
        ObjectName:
          type: string
        ExternalID:
          type: string
        MinValueMessage:
          type: string
        MaxValueMessage:
          type: string
        MinLengthMessage:
          type: string
        MaxLengthMessage:
          type: string
        RequiredMessage:
          type: string
        RequiredPrecisionMessage:
          type: string
        BaseFailureMessage:
          type: string
        FailedValidationMessages:
          type: array
          items:
            type: string
        FailedCharacterValidations:
          type: array
          items:
            $ref: '#/components/schemas/CharacterValidationRule'
        IsValid:
          type: boolean
    BaseResponse:
      type: object
      properties:
        Success:
          type: boolean
        Message:
          type: string
        ErrorMessage:
          type: string
        ErrorNumber:
          type: integer
          format: int32
        FailedValidations:
          type: array
          items:
            $ref: '#/components/schemas/ValidationResult'
        Errors:
          type: array
          items:
            type: string
    GetTimerRequest:
      type: object
      properties:
        Id:
          type: string
    PauseTimerRequest:
      type: object
      properties:
        PausedAt:
          type: string
          format: date-time
        ActiveTimer:
          type: object
          $ref: '#/components/schemas/ActiveTimer'
        BrowserSession:
          type: string
    GetEvenIfDeletedRequest:
      type: object
      properties:
        Id:
          type: string
    ActiveTimer:
      type: object
      properties:
        TimerStart:
          type: string
          format: date-time
        AccumulatedTime:
          type: integer
          format: int32
        UserId:
          type: integer
          format: int32
        BillingDate:
          type: string
          format: date-time
        ClientMatter:
          type: string
        MatterId:
          type: integer
          format: int32
        Description:
          type: string
        NoCharge:
          type: boolean
        NonBillable:
          type: boolean
        BilledActivityId:
          type: integer
          format: int32
        BillableUnits:
          type: number
          format: double
        IsDeleted:
          type: boolean
        Id:
          type: string
    DeleteTimerRequest:
      type: object
      properties:
        Id:
          type: string
    TimerResponse:
      type: object
      properties:
        ActiveTimer:
          type: object
          $ref: '#/components/schemas/ActiveTimer'
        Success:
          type: boolean
        Message:
          type: string
        ErrorMessage:
          type: string
        ErrorNumber:
          type: integer
          format: int32
        FailedValidations:
          type: array
          items:
            $ref: '#/components/schemas/ValidationResult'
        Errors:
          type: array
          items:
            type: string
    BillTimerRequest:
      type: object
      properties:
        PausedAt:
          type: string
          format: date-time
        ActiveTimer:
          type: object
          $ref: '#/components/schemas/ActiveTimer'
        BrowserSession:
          type: string