Typescript (SDK)
import { Crevio } from "@crevio/sdk";
const crevio = new Crevio({
apiKey: process.env["CREVIO_API_KEY"] ?? "",
});
async function run() {
const result = await crevio.skills.list({});
console.log(result);
}
run();curl --request GET \
--url https://api.crevio.co/v1/skills \
--header 'Authorization: <api-key>'import requests
url = "https://api.crevio.co/v1/skills"
headers = {"Authorization": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: '<api-key>'}};
fetch('https://api.crevio.co/v1/skills', 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.crevio.co/v1/skills",
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: <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.crevio.co/v1/skills"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "<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.crevio.co/v1/skills")
.header("Authorization", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.crevio.co/v1/skills")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"object": "list",
"data": [
{
"object": "<string>",
"id": "<string>",
"slug": "<string>",
"name": "<string>",
"description": "<string>",
"category": "<string>",
"tags": [
"<string>"
],
"version": "<string>",
"creator_name": "<string>",
"creator_avatar_url": "<string>",
"install_count": 123,
"status": "draft",
"visibility": "public",
"install_status": "<string>",
"installed_version": "<string>",
"update_available": true,
"external_source": "<string>",
"external_url": "<string>",
"created_at": "2023-11-07T05:31:56Z"
}
],
"has_more": true,
"url": "<string>"
}{
"error": {
"type": "invalid_request_error",
"code": "bad_request",
"message": "The request was malformed or contained invalid parameters"
}
}{
"error": {
"type": "invalid_request_error",
"code": "authentication_required",
"message": "You did not provide an API key."
}
}{
"error": {
"type": "invalid_request_error",
"code": "forbidden",
"message": "You do not have permission to perform this action"
}
}{
"error": {
"type": "invalid_request_error",
"code": "resource_missing",
"message": "The requested resource was not found"
}
}{
"error": {
"type": "validation_error",
"code": "validation_failed",
"message": "Email is required",
"errors": {
"email": [
"can't be blank"
]
}
}
}{
"error": {
"type": "invalid_request_error",
"code": "rate_limit_exceeded",
"message": "Too many requests. Please retry later."
}
}{
"error": {
"type": "api_error",
"code": "internal_error",
"message": "An unexpected error occurred"
}
}Skills
Search skills
Searches the AI skills catalog, plus the skills your account uploaded (visibility: "private", never in the public catalog). Filter by free-text search (matches name and description) and category, or pass installed=true for only the skills installed on your account. Each result includes install_status, installed_version and update_available for your account.
GET
/
skills
Typescript (SDK)
import { Crevio } from "@crevio/sdk";
const crevio = new Crevio({
apiKey: process.env["CREVIO_API_KEY"] ?? "",
});
async function run() {
const result = await crevio.skills.list({});
console.log(result);
}
run();curl --request GET \
--url https://api.crevio.co/v1/skills \
--header 'Authorization: <api-key>'import requests
url = "https://api.crevio.co/v1/skills"
headers = {"Authorization": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: '<api-key>'}};
fetch('https://api.crevio.co/v1/skills', 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.crevio.co/v1/skills",
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: <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.crevio.co/v1/skills"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "<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.crevio.co/v1/skills")
.header("Authorization", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.crevio.co/v1/skills")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"object": "list",
"data": [
{
"object": "<string>",
"id": "<string>",
"slug": "<string>",
"name": "<string>",
"description": "<string>",
"category": "<string>",
"tags": [
"<string>"
],
"version": "<string>",
"creator_name": "<string>",
"creator_avatar_url": "<string>",
"install_count": 123,
"status": "draft",
"visibility": "public",
"install_status": "<string>",
"installed_version": "<string>",
"update_available": true,
"external_source": "<string>",
"external_url": "<string>",
"created_at": "2023-11-07T05:31:56Z"
}
],
"has_more": true,
"url": "<string>"
}{
"error": {
"type": "invalid_request_error",
"code": "bad_request",
"message": "The request was malformed or contained invalid parameters"
}
}{
"error": {
"type": "invalid_request_error",
"code": "authentication_required",
"message": "You did not provide an API key."
}
}{
"error": {
"type": "invalid_request_error",
"code": "forbidden",
"message": "You do not have permission to perform this action"
}
}{
"error": {
"type": "invalid_request_error",
"code": "resource_missing",
"message": "The requested resource was not found"
}
}{
"error": {
"type": "validation_error",
"code": "validation_failed",
"message": "Email is required",
"errors": {
"email": [
"can't be blank"
]
}
}
}{
"error": {
"type": "invalid_request_error",
"code": "rate_limit_exceeded",
"message": "Too many requests. Please retry later."
}
}{
"error": {
"type": "api_error",
"code": "internal_error",
"message": "An unexpected error occurred"
}
}Authorizations
API key in the format: Bearer {api_token}
Query Parameters
Free-text query matched against skill name and description.
Filter by exact category.
true returns only the skills installed on your account, to check what is installed or which have an update available.
Cursor for pagination — the ID of the last item in the previous page
Items per page
Required range:
1 <= x <= 100Was this page helpful?

