Agency time
Read the caller's running timer
Requires an admin-tier user session whose user is a kept member of the agency, confirmed again on this request. Returns the caller’s running entry in this agency with its ticket and company, or null when no timer runs here. The ticket may have left the queue (in_queue is then false). Time is private to the agency: it appears in no customer read, history event or Mist tool, and root admin does not stand in for membership.
GET
/
api
/
v202604
/
agencies
/
{agency}
/
timer
Read the caller's running timer
curl --request GET \
--url https://api.fluid.app/api/v202604/agencies/{agency}/timer \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.fluid.app/api/v202604/agencies/{agency}/timer"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.fluid.app/api/v202604/agencies/{agency}/timer', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.fluid.app/api/v202604/agencies/{agency}/timer",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.fluid.app/api/v202604/agencies/{agency}/timer"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.fluid.app/api/v202604/agencies/{agency}/timer")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.fluid.app/api/v202604/agencies/{agency}/timer")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"time_entry": {
"id": "0197d4e2-9b10-7a3d-8c21-5e6f7a8b9c01",
"user": {
"id": "4120",
"name": "Maya Okafor",
"kind": "user"
},
"logged_by": {
"id": "4120",
"name": "Maya Okafor",
"kind": "user"
},
"spent_on": "2026-10-15",
"duration_seconds": 0,
"started_at": "2026-10-15T21:10:05.000Z",
"ended_at": null,
"running": true,
"note": null,
"editable": true,
"lock_version": 0,
"task": {
"id": "0197d4e2-7a31-7c3e-9b52-4f1d8a6e2c11",
"title": "Add customer videos",
"company": {
"id": 42,
"name": "Acme Supply"
},
"in_queue": true,
"request_state": "sent"
}
},
"status": 200,
"meta": {
"request_uuid": "0c5b1f0e-6d52-4e0a-9f6a-2d3a1e8f7b41",
"timestamp": "2026-10-15T21:10:05Z"
}
}{
"error": {
"message": "<string>",
"details": {}
},
"status": 123,
"meta": {
"request_uuid": "<string>",
"timestamp": "2023-11-07T05:31:56Z"
}
}{
"error": {
"message": "<string>",
"details": {}
},
"status": 123,
"meta": {
"request_uuid": "<string>",
"timestamp": "2023-11-07T05:31:56Z"
}
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
The agency key, as a root admin created it.
Maximum string length:
64Pattern:
^[a-z0-9_]+$⌘I
Read the caller's running timer
curl --request GET \
--url https://api.fluid.app/api/v202604/agencies/{agency}/timer \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.fluid.app/api/v202604/agencies/{agency}/timer"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.fluid.app/api/v202604/agencies/{agency}/timer', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.fluid.app/api/v202604/agencies/{agency}/timer",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.fluid.app/api/v202604/agencies/{agency}/timer"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.fluid.app/api/v202604/agencies/{agency}/timer")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.fluid.app/api/v202604/agencies/{agency}/timer")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"time_entry": {
"id": "0197d4e2-9b10-7a3d-8c21-5e6f7a8b9c01",
"user": {
"id": "4120",
"name": "Maya Okafor",
"kind": "user"
},
"logged_by": {
"id": "4120",
"name": "Maya Okafor",
"kind": "user"
},
"spent_on": "2026-10-15",
"duration_seconds": 0,
"started_at": "2026-10-15T21:10:05.000Z",
"ended_at": null,
"running": true,
"note": null,
"editable": true,
"lock_version": 0,
"task": {
"id": "0197d4e2-7a31-7c3e-9b52-4f1d8a6e2c11",
"title": "Add customer videos",
"company": {
"id": 42,
"name": "Acme Supply"
},
"in_queue": true,
"request_state": "sent"
}
},
"status": 200,
"meta": {
"request_uuid": "0c5b1f0e-6d52-4e0a-9f6a-2d3a1e8f7b41",
"timestamp": "2026-10-15T21:10:05Z"
}
}{
"error": {
"message": "<string>",
"details": {}
},
"status": 123,
"meta": {
"request_uuid": "<string>",
"timestamp": "2023-11-07T05:31:56Z"
}
}{
"error": {
"message": "<string>",
"details": {}
},
"status": 123,
"meta": {
"request_uuid": "<string>",
"timestamp": "2023-11-07T05:31:56Z"
}
}