---
title: "APIs"
canonical: "https://support.appfire.com/space/7TFM/2183200933/APIs"
format: markdown
---
> Macro (aura-html)

## About this API

The **7pace Timetracker for monday.com** API enables secure and efficient access to your 7pace worklog data and account custom field settings. This lets you access your worklog data in external systems, such as dashboards, PowerBI reports, or HR systems.

Obtain OpenAPI Specification from the **Endpoint specification** section below.

> 📝 **Note**: When connecting to your 7pace Timetracker API, the base URL for all connections is:
> 📝 
> 📝 `https://timehubmdy.7pace.com/api`
> 📝 
> 📝 Additionally, multiple versions of the API are currently available, using the version number in the URL. For example `https://timehubmdy.7pace.com/api/v2` will access version 2.
> 📝 
> 📝 **You must include a version number in your API call**, otherwise you will get an error message.  
> 📝 
> 📝 Configure your connection with your API token (see below), and you will be able to access the data for your account.

## Endpoints

> Macro (children)

## Contact

If you require assistance, please contact our support team using the [Support Portal](https://appfire.atlassian.net/servicedesk/customer/portal/32).

## Endpoint specification

> ✅ Developer documentation is available! This includes endpoint definitions and all current schemas. You can access those here: 
> ✅ 
> ✅ - [Version 1 Endpoint specification](https://timehubmdy.7pace.com/swagger/index.html?urls.primaryName=7pace+REST+API+v1)
> ✅ - [Version 2 Endpoint specification](https://timehubmdy.7pace.com/swagger/index.html?urls.primaryName=7pace+REST+API+v2)

## Create an API token

The API requires JWT Bearer Token authentication. Use the following steps to create a new token:

1. Navigate to 7pace Timetracker Settings, click > **API Tokens**.
2. Click **+ Create token**.
3. Name the token and set an expiration date.
  
4. Click **Create**.
5. Copy the API token and save it.

## Authentication

Include your token in the Authorization header of each request.

Example:

```shell
curl https://timehubmdy.7pace.com/api/v1/worklogs --header 'Authorization: Bearer YOUR_TOKEN'
```

## Error handling

- General Errors:
  - Title: INTERNAL_ERROR
  - Status: 500
  - Detail: Exception message.
  - Trace ID included (traceId) for debugging.
- Timeout Errors:
  - Title: BAD_REQUEST
  - Status: 400
  - Special handling for timeouts.
- GraphQL Errors:
  - Title: BAD_REQUEST
  - Status: 400
  - Detail: Single or multiple API error messages.
  - Special handling for timeouts.
- Validation Errors:
  - Title: VALIDATION_ERROR
  - Status: 400
  - Detail: “One or more validation errors occurred. Check your input parameters.”

### Examples

```json
{
    "title": "VALIDATION_ERROR",
    "status": 400,
    "detail": "One or more validation errors occurred. Check your input parameters.",
    "errors": {
        "queryValues": [
            "Unsupported query value for key 'createdAt.end': 'Provided value '123' is not a valid date.'"
        ],
        "queryParameters": [
            "Unexpected query parameters: createdAt.stat"
        ]
    },
    "traceId": "00-163698a761739c0c-01"
}

{
  "title": "BAD_REQUEST",
  "status": 400,
  "detail": "Your request takes too long, try to simplify it or try again later.",
  "traceId": "00-abc123def456-xyz789-01"
}

{
  "title": "INTERNAL_ERROR",
  "status": 500,
  "detail": "Unexpected error occurred.",
  "traceId": "00-abc123def456-xyz789-01"
}
```

## Rate limiting

The 7pace Reporting API applies dynamic rate limiting to ensure service stability. If rate limits are exceeded, requests will be throttled and a `429 Too Many Requests` status will be returned. Clients are advised to implement exponential backoff or retry logic as needed.

## Future enhancements

> ℹ️ Have a request for future API improvements or updates? [Submit it here!](https://portal.productboard.com/7pace/4-7pace-timetracker-for-monday-com/tabs/10-under-consideration)

We plan to further enhance APIs by allowing customers to obtain incremental changes only (thus increasing the speed of responses) and introducing an improved structure of custom time tracking fields for easier processing. Stay tuned!