curl --request GET \
--url https://api.zivio.net/api/v4/skill_taxonomies \
--header 'Authorization: Bearer <token>' \
--header 'zivio-tenant-id: <api-key>'import requests
url = "https://api.zivio.net/api/v4/skill_taxonomies"
headers = {
"Authorization": "Bearer <token>",
"zivio-tenant-id": "<api-key>"
}
response = requests.get(url, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {Authorization: 'Bearer <token>', 'zivio-tenant-id': '<api-key>'}
};
fetch('https://api.zivio.net/api/v4/skill_taxonomies', 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.zivio.net/api/v4/skill_taxonomies",
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>",
"zivio-tenant-id: <api-key>"
],
]);
$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.zivio.net/api/v4/skill_taxonomies"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("zivio-tenant-id", "<api-key>")
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.zivio.net/api/v4/skill_taxonomies")
.header("Authorization", "Bearer <token>")
.header("zivio-tenant-id", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.zivio.net/api/v4/skill_taxonomies")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
request["zivio-tenant-id"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"skill_taxonomies": [
{
"id": 101,
"name": "Acme Corporation",
"uuid": "Example uuid",
"created_at": "2024-01-16T10:30:00+00:00",
"updated_at": "2024-01-16T10:30:00+00:00",
"skills": [
{
"id": 101,
"name": "Acme Corporation",
"slug": "Example slug",
"popularity": 101,
"override_popularity": true,
"uuid": "Example uuid",
"edited": true,
"created_at": "2024-01-16T10:30:00+00:00",
"updated_at": "2024-01-16T10:30:00+00:00"
},
{
"id": 102,
"name": "Global Services Ltd",
"slug": "Example slug",
"popularity": 102,
"override_popularity": true,
"uuid": "Example uuid",
"edited": true,
"created_at": "2024-01-17T10:30:00+00:00",
"updated_at": "2024-01-17T10:30:00+00:00"
}
],
"skill_categories": [
{
"id": 101,
"skill_taxonomy_id": 501,
"name": "Acme Corporation",
"slug": "Example slug",
"precedence": 101,
"parent_id": 501,
"parent_name": "Example parent_name",
"parent_slug": "Example parent_slug",
"hidden": true,
"uuid": "Example uuid",
"edited": true,
"code": "Example code",
"created_at": "2024-01-16T10:30:00+00:00",
"updated_at": "2024-01-16T10:30:00+00:00"
},
{
"id": 102,
"skill_taxonomy_id": 502,
"name": "Global Services Ltd",
"slug": "Example slug",
"precedence": 102,
"parent_id": 502,
"parent_name": "Example parent_name",
"parent_slug": "Example parent_slug",
"hidden": true,
"uuid": "Example uuid",
"edited": true,
"code": "Example code",
"created_at": "2024-01-17T10:30:00+00:00",
"updated_at": "2024-01-17T10:30:00+00:00"
}
]
},
{
"id": 102,
"name": "Global Services Ltd",
"uuid": "Example uuid",
"created_at": "2024-01-17T10:30:00+00:00",
"updated_at": "2024-01-17T10:30:00+00:00",
"skills": [
{
"id": 102,
"name": "Global Services Ltd",
"slug": "Example slug",
"popularity": 102,
"override_popularity": true,
"uuid": "Example uuid",
"edited": true,
"created_at": "2024-01-17T10:30:00+00:00",
"updated_at": "2024-01-17T10:30:00+00:00"
},
{
"id": 103,
"name": "Global Services Ltd",
"slug": "Example slug",
"popularity": 103,
"override_popularity": true,
"uuid": "Example uuid",
"edited": true,
"created_at": "2024-01-18T10:30:00+00:00",
"updated_at": "2024-01-18T10:30:00+00:00"
}
],
"skill_categories": [
{
"id": 102,
"skill_taxonomy_id": 502,
"name": "Global Services Ltd",
"slug": "Example slug",
"precedence": 102,
"parent_id": 502,
"parent_name": "Example parent_name",
"parent_slug": "Example parent_slug",
"hidden": true,
"uuid": "Example uuid",
"edited": true,
"code": "Example code",
"created_at": "2024-01-17T10:30:00+00:00",
"updated_at": "2024-01-17T10:30:00+00:00"
},
{
"id": 103,
"skill_taxonomy_id": 503,
"name": "Global Services Ltd",
"slug": "Example slug",
"precedence": 103,
"parent_id": 503,
"parent_name": "Example parent_name",
"parent_slug": "Example parent_slug",
"hidden": true,
"uuid": "Example uuid",
"edited": true,
"code": "Example code",
"created_at": "2024-01-18T10:30:00+00:00",
"updated_at": "2024-01-18T10:30:00+00:00"
}
]
}
]
}List Skill Taxonomies
Retrieve a paginated list of skill_taxonomies. Use filters to narrow results.
Filtering
Use the filter[<attribute>] parameter to filter results. Multiple filters are combined with AND logic.
Basic Examples
# Equality (implicit)
GET /api/v4/skill_taxonomies?filter[name]=active
# Multiple values (implicit IN)
GET /api/v4/skill_taxonomies?filter[name]=draft,pending
# With explicit operator
GET /api/v4/skill_taxonomies?filter[created_at][gte]=2024-01-01
# Range query
GET /api/v4/skill_taxonomies?filter[budget][between]=1000,5000
# Multiple filters (AND)
GET /api/v4/skill_taxonomies?filter[name]=active&filter[budget][gte]=1000
Available Attributes
| Attribute | Type | Operators | Permitted Values |
|---|---|---|---|
| created_at | datetime | eq, not_eq, gt, gte, lt, lte, between | - |
| id | integer | eq, not_eq, in, not_in, gt, gte, lt, lte, between | - |
| name | string | eq, not_eq, in, not_in, like, not_like | - |
| updated_at | datetime | eq, not_eq, gt, gte, lt, lte, between | - |
| uuid | string | eq, not_eq, in, not_in, like, not_like | - |
OR Conditions
Use or[group] to combine filter groups with OR logic. Filters within a group are ANDed:
# Simple OR
GET /api/v4/skill_taxonomies?or[1][name]=pending&or[2][name]=active
# Complex OR (name=pending AND budget>=1000) OR (name=active)
GET /api/v4/skill_taxonomies?or[1][name]=pending&or[1][budget][gte]=1000&or[2][name]=active
Sorting
Use sort[<attribute>] to order results. Default direction is ascending.
# Ascending (implicit)
GET /api/v4/skill_taxonomies?sort[created_at]=
# Descending
GET /api/v4/skill_taxonomies?sort[created_at]=desc
# Combined with filters
GET /api/v4/skill_taxonomies?filter[name]=active&sort[created_at]=desc
curl --request GET \
--url https://api.zivio.net/api/v4/skill_taxonomies \
--header 'Authorization: Bearer <token>' \
--header 'zivio-tenant-id: <api-key>'import requests
url = "https://api.zivio.net/api/v4/skill_taxonomies"
headers = {
"Authorization": "Bearer <token>",
"zivio-tenant-id": "<api-key>"
}
response = requests.get(url, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {Authorization: 'Bearer <token>', 'zivio-tenant-id': '<api-key>'}
};
fetch('https://api.zivio.net/api/v4/skill_taxonomies', 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.zivio.net/api/v4/skill_taxonomies",
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>",
"zivio-tenant-id: <api-key>"
],
]);
$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.zivio.net/api/v4/skill_taxonomies"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("zivio-tenant-id", "<api-key>")
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.zivio.net/api/v4/skill_taxonomies")
.header("Authorization", "Bearer <token>")
.header("zivio-tenant-id", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.zivio.net/api/v4/skill_taxonomies")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
request["zivio-tenant-id"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"skill_taxonomies": [
{
"id": 101,
"name": "Acme Corporation",
"uuid": "Example uuid",
"created_at": "2024-01-16T10:30:00+00:00",
"updated_at": "2024-01-16T10:30:00+00:00",
"skills": [
{
"id": 101,
"name": "Acme Corporation",
"slug": "Example slug",
"popularity": 101,
"override_popularity": true,
"uuid": "Example uuid",
"edited": true,
"created_at": "2024-01-16T10:30:00+00:00",
"updated_at": "2024-01-16T10:30:00+00:00"
},
{
"id": 102,
"name": "Global Services Ltd",
"slug": "Example slug",
"popularity": 102,
"override_popularity": true,
"uuid": "Example uuid",
"edited": true,
"created_at": "2024-01-17T10:30:00+00:00",
"updated_at": "2024-01-17T10:30:00+00:00"
}
],
"skill_categories": [
{
"id": 101,
"skill_taxonomy_id": 501,
"name": "Acme Corporation",
"slug": "Example slug",
"precedence": 101,
"parent_id": 501,
"parent_name": "Example parent_name",
"parent_slug": "Example parent_slug",
"hidden": true,
"uuid": "Example uuid",
"edited": true,
"code": "Example code",
"created_at": "2024-01-16T10:30:00+00:00",
"updated_at": "2024-01-16T10:30:00+00:00"
},
{
"id": 102,
"skill_taxonomy_id": 502,
"name": "Global Services Ltd",
"slug": "Example slug",
"precedence": 102,
"parent_id": 502,
"parent_name": "Example parent_name",
"parent_slug": "Example parent_slug",
"hidden": true,
"uuid": "Example uuid",
"edited": true,
"code": "Example code",
"created_at": "2024-01-17T10:30:00+00:00",
"updated_at": "2024-01-17T10:30:00+00:00"
}
]
},
{
"id": 102,
"name": "Global Services Ltd",
"uuid": "Example uuid",
"created_at": "2024-01-17T10:30:00+00:00",
"updated_at": "2024-01-17T10:30:00+00:00",
"skills": [
{
"id": 102,
"name": "Global Services Ltd",
"slug": "Example slug",
"popularity": 102,
"override_popularity": true,
"uuid": "Example uuid",
"edited": true,
"created_at": "2024-01-17T10:30:00+00:00",
"updated_at": "2024-01-17T10:30:00+00:00"
},
{
"id": 103,
"name": "Global Services Ltd",
"slug": "Example slug",
"popularity": 103,
"override_popularity": true,
"uuid": "Example uuid",
"edited": true,
"created_at": "2024-01-18T10:30:00+00:00",
"updated_at": "2024-01-18T10:30:00+00:00"
}
],
"skill_categories": [
{
"id": 102,
"skill_taxonomy_id": 502,
"name": "Global Services Ltd",
"slug": "Example slug",
"precedence": 102,
"parent_id": 502,
"parent_name": "Example parent_name",
"parent_slug": "Example parent_slug",
"hidden": true,
"uuid": "Example uuid",
"edited": true,
"code": "Example code",
"created_at": "2024-01-17T10:30:00+00:00",
"updated_at": "2024-01-17T10:30:00+00:00"
},
{
"id": 103,
"skill_taxonomy_id": 503,
"name": "Global Services Ltd",
"slug": "Example slug",
"precedence": 103,
"parent_id": 503,
"parent_name": "Example parent_name",
"parent_slug": "Example parent_slug",
"hidden": true,
"uuid": "Example uuid",
"edited": true,
"code": "Example code",
"created_at": "2024-01-18T10:30:00+00:00",
"updated_at": "2024-01-18T10:30:00+00:00"
}
]
}
]
}Authorizations
OAuth 2.0 client credentials. The access token from POST /oauth/token is sent as a bearer token. Request only the scopes you need.
Your Zivio organisation identifier. The regional API endpoints serve every Zivio organisation, so each request must identify yours.
Query Parameters
Page number for pagination
Number of results per page (max 100)
x <= 100Filterable attributes:
integer (operators: eq, not_eq, in, not_in, gt, gte, lt, lte, between): id datetime (operators: eq, not_eq, gt, gte, lt, lte, between): created_at, updated_at string (operators: eq, not_eq, in, not_in, like, not_like): name, uuid
Note: like is a case-insensitive substring match — pass the bare term (filter[title][like]=redesign). Do not add % wildcards; they are not needed.
OR condition groups. Filters within a group are ANDed; groups are ORed.
Syntax: or[group_key][<attribute>]=value or or[group_key][<attribute>][operator]=value
Examples:
- Simple OR:
or[1][state]=draft&or[2][state]=pending - Complex:
or[1][state]=draft&or[1][budget][gte]=50000&or[2][state]=closed - With custom fields:
or[1][cf][priority]=high&or[2][state]=pending
Group keys can be any string (1, 2, a, b, etc.) - they just need to be unique.
Sort results by attribute. Direction defaults to ascending.
Syntax: sort[<attribute>]= (ascending) or sort[<attribute>]=desc (descending)
Sortable attributes: created_at, id, name, updated_at, uuid
Examples:
- Ascending:
sort[created_at]=orsort[created_at]=asc - Descending:
sort[created_at]=desc
Response
List of skill_taxonomies
Show child attributes
Show child attributes

