Browse Achievement Definitions
curl --request GET \
--url https://api.{tenant}.getomneo.com/api/v3/achievements/definitionsimport requests
url = "https://api.{tenant}.getomneo.com/api/v3/achievements/definitions"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.{tenant}.getomneo.com/api/v3/achievements/definitions', 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.{tenant}.getomneo.com/api/v3/achievements/definitions",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$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.{tenant}.getomneo.com/api/v3/achievements/definitions"
req, _ := http.NewRequest("GET", url, nil)
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.{tenant}.getomneo.com/api/v3/achievements/definitions")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.{tenant}.getomneo.com/api/v3/achievements/definitions")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"data": [
{
"id": 123,
"name": "<string>",
"handle": "<string>",
"region_id": 123,
"region": {
"id": 123,
"name": "<string>",
"handle": "<string>"
},
"currency": "<string>",
"description": "<string>",
"internal_notes": "<string>",
"type": "<string>",
"starts_at": "2023-11-07T05:31:56Z",
"ends_at": "2023-11-07T05:31:56Z",
"is_published": true,
"display_level": true,
"display_option": "<string>",
"short_description": "<string>",
"long_description": "<string>",
"terms_conditions": "<string>",
"earn_instructions": "<string>",
"icon": "<string>",
"image_url": "<string>",
"levels": [
{
"id": 123,
"name": "<string>",
"achievement_definition_id": 123,
"display_number": 123,
"description": "<string>",
"trigger": 123,
"repeats": true,
"repeat_interval": 123,
"allow_multiple_earn": true,
"computed_display_number": "<string>",
"computed_trigger": "<string>",
"meta": [
"<unknown>"
]
}
],
"tags": [
"<string>"
],
"meta": [
"<unknown>"
],
"timezone": "<string>",
"period": "<string>",
"created_at": "<string>",
"updated_at": "<string>",
"enable_annual_earn_cycle": true
}
]
}{
"message": "<string>"
}{
"message": "<string>"
}Achievement Definition
Browse Achievement Definitions
A GET to the /achievements/definitions endpoint allows your application to retrieve all a tenants Achievement Definitions.
GET
/
v3
/
achievements
/
definitions
Browse Achievement Definitions
curl --request GET \
--url https://api.{tenant}.getomneo.com/api/v3/achievements/definitionsimport requests
url = "https://api.{tenant}.getomneo.com/api/v3/achievements/definitions"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.{tenant}.getomneo.com/api/v3/achievements/definitions', 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.{tenant}.getomneo.com/api/v3/achievements/definitions",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$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.{tenant}.getomneo.com/api/v3/achievements/definitions"
req, _ := http.NewRequest("GET", url, nil)
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.{tenant}.getomneo.com/api/v3/achievements/definitions")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.{tenant}.getomneo.com/api/v3/achievements/definitions")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"data": [
{
"id": 123,
"name": "<string>",
"handle": "<string>",
"region_id": 123,
"region": {
"id": 123,
"name": "<string>",
"handle": "<string>"
},
"currency": "<string>",
"description": "<string>",
"internal_notes": "<string>",
"type": "<string>",
"starts_at": "2023-11-07T05:31:56Z",
"ends_at": "2023-11-07T05:31:56Z",
"is_published": true,
"display_level": true,
"display_option": "<string>",
"short_description": "<string>",
"long_description": "<string>",
"terms_conditions": "<string>",
"earn_instructions": "<string>",
"icon": "<string>",
"image_url": "<string>",
"levels": [
{
"id": 123,
"name": "<string>",
"achievement_definition_id": 123,
"display_number": 123,
"description": "<string>",
"trigger": 123,
"repeats": true,
"repeat_interval": 123,
"allow_multiple_earn": true,
"computed_display_number": "<string>",
"computed_trigger": "<string>",
"meta": [
"<unknown>"
]
}
],
"tags": [
"<string>"
],
"meta": [
"<unknown>"
],
"timezone": "<string>",
"period": "<string>",
"created_at": "<string>",
"updated_at": "<string>",
"enable_annual_earn_cycle": true
}
]
}{
"message": "<string>"
}{
"message": "<string>"
}Filtering
This endpoint accepts
filter and sort query parameters. See Filtering, sorting, and search for paging and for the shared search_with, custom_field, and json_contains filters.Examples
curl -X GET "https://api.[tenant].getomneo.com/api/v3/achievements/definitions?filter[handle]={handle}" \
-H "Authorization: Bearer ${TOKEN}"
curl -X GET "https://api.[tenant].getomneo.com/api/v3/achievements/definitions?filter[starts_at][gte]=2026-01-01&filter[starts_at][lt]=2026-02-01" \
-H "Authorization: Bearer ${TOKEN}"
Operators
| Operator | Meaning | Example |
|---|---|---|
eq | Equal to. Applied when you give no operator. | filter[handle]={handle} |
ne | Not equal to. | filter[handle][ne]={handle} |
gt | Greater than. | filter[starts_at][gt]=2026-01-01 |
gte | Greater than or equal to. | filter[starts_at][gte]=2026-01-01 |
lt | Less than. | filter[starts_at][lt]=2026-02-01 |
lte | Less than or equal to. | filter[starts_at][lte]=2026-02-01 |
in | Matches any value in a comma separated list. | filter[region_id][in]=123,456 |
not_in | Excludes every value in a comma separated list. | filter[region_id][not_in]=123,456 |
nullable | 1 returns records where the attribute is empty. Any other value returns records where it is set. | filter[starts_at][nullable]=1 |
not_has operator applies to related attributes, which this endpoint does not have.
Filter attributes
| Attribute | Attribute | Attribute |
|---|---|---|
name | handle | description |
internal_notes | display_level | display_option |
long_description | short_description | terms_conditions |
icon | image_url | earn_instructions |
type | starts_at | ends_at |
is_published | meta | enable_annual_earn_cycle |
timezone | period | region_id |
currency |
sort key, for example ?sort=-starts_at for descending order.
Search attributes
filter[search] runs one partial match term across name, handle, is_published, starts_at, ends_at, type, enable_annual_earn_cycle, period. A record matches when any one of those attributes contains the term.
curl -X GET "https://api.[tenant].getomneo.com/api/v3/achievements/definitions?filter[search]={term}" \
-H "Authorization: Bearer ${TOKEN}"
⌘I