/
Settings cURL JavaScript Python Go
curl -X GET 'https://shoehorn.example.com/api/v1/admin/settings' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/admin/settings', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.get(
'https://shoehorn.example.com/api/v1/admin/settings',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("GET", "https://shoehorn.example.com/api/v1/admin/settings", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req)
Request body
required Content-Type: application/json
Free-form JSON object (no fixed schema).
cURL JavaScript Python Go
curl -X PUT 'https://shoehorn.example.com/api/v1/admin/settings' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY' \
-H 'Content-Type: application/json' \
-d '{}'const res = await fetch('https://shoehorn.example.com/api/v1/admin/settings', {
method: 'PUT',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({}),
});
const data = await res.json();import os, requests
r = requests.put(
'https://shoehorn.example.com/api/v1/admin/settings',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
json={},
)
data = r.json()req, _ := http.NewRequest("PUT", "https://shoehorn.example.com/api/v1/admin/settings", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
req.Header.Set("Content-Type", "application/json")
res, err := http.DefaultClient.Do(req) API Keys cURL JavaScript Python Go
curl -X GET 'https://shoehorn.example.com/api/v1/admin/api-keys' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/admin/api-keys', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.get(
'https://shoehorn.example.com/api/v1/admin/api-keys',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("GET", "https://shoehorn.example.com/api/v1/admin/api-keys", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req)
Request body
required Content-Type: application/json
object
3properties expires_atstring<date-time>
cURL JavaScript Python Go
curl -X POST 'https://shoehorn.example.com/api/v1/admin/api-keys' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY' \
-H 'Content-Type: application/json' \
-d '{}'const res = await fetch('https://shoehorn.example.com/api/v1/admin/api-keys', {
method: 'POST',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({}),
});
const data = await res.json();import os, requests
r = requests.post(
'https://shoehorn.example.com/api/v1/admin/api-keys',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
json={},
)
data = r.json()req, _ := http.NewRequest("POST", "https://shoehorn.example.com/api/v1/admin/api-keys", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
req.Header.Set("Content-Type", "application/json")
res, err := http.DefaultClient.Do(req) cURL JavaScript Python Go
curl -X POST 'https://shoehorn.example.com/api/v1/admin/api-keys/{id}/revoke' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/admin/api-keys/{id}/revoke', {
method: 'POST',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.post(
'https://shoehorn.example.com/api/v1/admin/api-keys/{id}/revoke',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("POST", "https://shoehorn.example.com/api/v1/admin/api-keys/{id}/revoke", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req) Policies cURL JavaScript Python Go
curl -X GET 'https://shoehorn.example.com/api/v1/admin/policies' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/admin/policies', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.get(
'https://shoehorn.example.com/api/v1/admin/policies',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("GET", "https://shoehorn.example.com/api/v1/admin/policies", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req)
Request body
required Content-Type: application/json
cURL JavaScript Python Go
curl -X PUT 'https://shoehorn.example.com/api/v1/admin/policies/{id}' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY' \
-H 'Content-Type: application/json' \
-d '{}'const res = await fetch('https://shoehorn.example.com/api/v1/admin/policies/{id}', {
method: 'PUT',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({}),
});
const data = await res.json();import os, requests
r = requests.put(
'https://shoehorn.example.com/api/v1/admin/policies/{id}',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
json={},
)
data = r.json()req, _ := http.NewRequest("PUT", "https://shoehorn.example.com/api/v1/admin/policies/{id}", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
req.Header.Set("Content-Type", "application/json")
res, err := http.DefaultClient.Do(req) Features cURL JavaScript Python Go
curl -X GET 'https://shoehorn.example.com/api/v1/admin/features' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/admin/features', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.get(
'https://shoehorn.example.com/api/v1/admin/features',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("GET", "https://shoehorn.example.com/api/v1/admin/features", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req)
Request body
required Content-Type: application/json
object
4properties enabledboolean
Default: false
cURL JavaScript Python Go
curl -X POST 'https://shoehorn.example.com/api/v1/admin/features' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY' \
-H 'Content-Type: application/json' \
-d '{}'const res = await fetch('https://shoehorn.example.com/api/v1/admin/features', {
method: 'POST',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({}),
});
const data = await res.json();import os, requests
r = requests.post(
'https://shoehorn.example.com/api/v1/admin/features',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
json={},
)
data = r.json()req, _ := http.NewRequest("POST", "https://shoehorn.example.com/api/v1/admin/features", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
req.Header.Set("Content-Type", "application/json")
res, err := http.DefaultClient.Do(req) cURL JavaScript Python Go
curl -X PUT 'https://shoehorn.example.com/api/v1/admin/features/{key}' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/admin/features/{key}', {
method: 'PUT',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.put(
'https://shoehorn.example.com/api/v1/admin/features/{key}',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("PUT", "https://shoehorn.example.com/api/v1/admin/features/{key}", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req) cURL JavaScript Python Go
curl -X DELETE 'https://shoehorn.example.com/api/v1/admin/features/{key}' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/admin/features/{key}', {
method: 'DELETE',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.delete(
'https://shoehorn.example.com/api/v1/admin/features/{key}',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("DELETE", "https://shoehorn.example.com/api/v1/admin/features/{key}", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req) Path parameters keystring required
tenantIdstring required
cURL JavaScript Python Go
curl -X POST 'https://shoehorn.example.com/api/v1/admin/features/{key}/tenants/{tenantId}' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/admin/features/{key}/tenants/{tenantId}', {
method: 'POST',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.post(
'https://shoehorn.example.com/api/v1/admin/features/{key}/tenants/{tenantId}',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("POST", "https://shoehorn.example.com/api/v1/admin/features/{key}/tenants/{tenantId}", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req) Path parameters keystring required
tenantIdstring required
cURL JavaScript Python Go
curl -X DELETE 'https://shoehorn.example.com/api/v1/admin/features/{key}/tenants/{tenantId}' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/admin/features/{key}/tenants/{tenantId}', {
method: 'DELETE',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.delete(
'https://shoehorn.example.com/api/v1/admin/features/{key}/tenants/{tenantId}',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("DELETE", "https://shoehorn.example.com/api/v1/admin/features/{key}/tenants/{tenantId}", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req) Scorecards cURL JavaScript Python Go
curl -X GET 'https://shoehorn.example.com/api/v1/admin/scorecards/categories' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/admin/scorecards/categories', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.get(
'https://shoehorn.example.com/api/v1/admin/scorecards/categories',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("GET", "https://shoehorn.example.com/api/v1/admin/scorecards/categories", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req)
Request body
required Content-Type: application/json
cURL JavaScript Python Go
curl -X POST 'https://shoehorn.example.com/api/v1/admin/scorecards/categories' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY' \
-H 'Content-Type: application/json' \
-d '{}'const res = await fetch('https://shoehorn.example.com/api/v1/admin/scorecards/categories', {
method: 'POST',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({}),
});
const data = await res.json();import os, requests
r = requests.post(
'https://shoehorn.example.com/api/v1/admin/scorecards/categories',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
json={},
)
data = r.json()req, _ := http.NewRequest("POST", "https://shoehorn.example.com/api/v1/admin/scorecards/categories", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
req.Header.Set("Content-Type", "application/json")
res, err := http.DefaultClient.Do(req) cURL JavaScript Python Go
curl -X PUT 'https://shoehorn.example.com/api/v1/admin/scorecards/categories/{id}' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/admin/scorecards/categories/{id}', {
method: 'PUT',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.put(
'https://shoehorn.example.com/api/v1/admin/scorecards/categories/{id}',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("PUT", "https://shoehorn.example.com/api/v1/admin/scorecards/categories/{id}", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req) cURL JavaScript Python Go
curl -X DELETE 'https://shoehorn.example.com/api/v1/admin/scorecards/categories/{id}' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/admin/scorecards/categories/{id}', {
method: 'DELETE',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.delete(
'https://shoehorn.example.com/api/v1/admin/scorecards/categories/{id}',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("DELETE", "https://shoehorn.example.com/api/v1/admin/scorecards/categories/{id}", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req) cURL JavaScript Python Go
curl -X GET 'https://shoehorn.example.com/api/v1/admin/scorecards/rules' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/admin/scorecards/rules', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.get(
'https://shoehorn.example.com/api/v1/admin/scorecards/rules',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("GET", "https://shoehorn.example.com/api/v1/admin/scorecards/rules", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req) cURL JavaScript Python Go
curl -X POST 'https://shoehorn.example.com/api/v1/admin/scorecards/rules' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/admin/scorecards/rules', {
method: 'POST',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.post(
'https://shoehorn.example.com/api/v1/admin/scorecards/rules',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("POST", "https://shoehorn.example.com/api/v1/admin/scorecards/rules", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req) cURL JavaScript Python Go
curl -X PUT 'https://shoehorn.example.com/api/v1/admin/scorecards/rules/{id}' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/admin/scorecards/rules/{id}', {
method: 'PUT',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.put(
'https://shoehorn.example.com/api/v1/admin/scorecards/rules/{id}',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("PUT", "https://shoehorn.example.com/api/v1/admin/scorecards/rules/{id}", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req) cURL JavaScript Python Go
curl -X DELETE 'https://shoehorn.example.com/api/v1/admin/scorecards/rules/{id}' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/admin/scorecards/rules/{id}', {
method: 'DELETE',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.delete(
'https://shoehorn.example.com/api/v1/admin/scorecards/rules/{id}',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("DELETE", "https://shoehorn.example.com/api/v1/admin/scorecards/rules/{id}", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req) cURL JavaScript Python Go
curl -X GET 'https://shoehorn.example.com/api/v1/admin/scorecards/grading' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/admin/scorecards/grading', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.get(
'https://shoehorn.example.com/api/v1/admin/scorecards/grading',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("GET", "https://shoehorn.example.com/api/v1/admin/scorecards/grading", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req) cURL JavaScript Python Go
curl -X PUT 'https://shoehorn.example.com/api/v1/admin/scorecards/grading' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/admin/scorecards/grading', {
method: 'PUT',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.put(
'https://shoehorn.example.com/api/v1/admin/scorecards/grading',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("PUT", "https://shoehorn.example.com/api/v1/admin/scorecards/grading", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req) Role Bundles cURL JavaScript Python Go
curl -X GET 'https://shoehorn.example.com/api/v1/admin/role-bundles' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/admin/role-bundles', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.get(
'https://shoehorn.example.com/api/v1/admin/role-bundles',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("GET", "https://shoehorn.example.com/api/v1/admin/role-bundles", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req) cURL JavaScript Python Go
curl -X POST 'https://shoehorn.example.com/api/v1/admin/role-bundles' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/admin/role-bundles', {
method: 'POST',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.post(
'https://shoehorn.example.com/api/v1/admin/role-bundles',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("POST", "https://shoehorn.example.com/api/v1/admin/role-bundles", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req) cURL JavaScript Python Go
curl -X GET 'https://shoehorn.example.com/api/v1/admin/role-bundles/{bundleId}' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/admin/role-bundles/{bundleId}', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.get(
'https://shoehorn.example.com/api/v1/admin/role-bundles/{bundleId}',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("GET", "https://shoehorn.example.com/api/v1/admin/role-bundles/{bundleId}", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req) cURL JavaScript Python Go
curl -X PUT 'https://shoehorn.example.com/api/v1/admin/role-bundles/{bundleId}' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/admin/role-bundles/{bundleId}', {
method: 'PUT',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.put(
'https://shoehorn.example.com/api/v1/admin/role-bundles/{bundleId}',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("PUT", "https://shoehorn.example.com/api/v1/admin/role-bundles/{bundleId}", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req) cURL JavaScript Python Go
curl -X DELETE 'https://shoehorn.example.com/api/v1/admin/role-bundles/{bundleId}' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/admin/role-bundles/{bundleId}', {
method: 'DELETE',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.delete(
'https://shoehorn.example.com/api/v1/admin/role-bundles/{bundleId}',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("DELETE", "https://shoehorn.example.com/api/v1/admin/role-bundles/{bundleId}", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req) Roles cURL JavaScript Python Go
curl -X GET 'https://shoehorn.example.com/api/v1/roles' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/roles', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.get(
'https://shoehorn.example.com/api/v1/roles',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("GET", "https://shoehorn.example.com/api/v1/roles", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req) cURL JavaScript Python Go
curl -X POST 'https://shoehorn.example.com/api/v1/roles/users/{userId}/roles' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/roles/users/{userId}/roles', {
method: 'POST',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.post(
'https://shoehorn.example.com/api/v1/roles/users/{userId}/roles',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("POST", "https://shoehorn.example.com/api/v1/roles/users/{userId}/roles", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req) cURL JavaScript Python Go
curl -X DELETE 'https://shoehorn.example.com/api/v1/roles/users/{userId}/roles' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/roles/users/{userId}/roles', {
method: 'DELETE',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.delete(
'https://shoehorn.example.com/api/v1/roles/users/{userId}/roles',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("DELETE", "https://shoehorn.example.com/api/v1/roles/users/{userId}/roles", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req) Database cURL JavaScript Python Go
curl -X GET 'https://shoehorn.example.com/api/v1/database/info' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/database/info', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.get(
'https://shoehorn.example.com/api/v1/database/info',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("GET", "https://shoehorn.example.com/api/v1/database/info", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req) cURL JavaScript Python Go
curl -X GET 'https://shoehorn.example.com/api/v1/database/connections' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/database/connections', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.get(
'https://shoehorn.example.com/api/v1/database/connections',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("GET", "https://shoehorn.example.com/api/v1/database/connections", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req) cURL JavaScript Python Go
curl -X GET 'https://shoehorn.example.com/api/v1/database/backups' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/database/backups', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.get(
'https://shoehorn.example.com/api/v1/database/backups',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("GET", "https://shoehorn.example.com/api/v1/database/backups", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req) cURL JavaScript Python Go
curl -X POST 'https://shoehorn.example.com/api/v1/database/backup' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/database/backup', {
method: 'POST',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.post(
'https://shoehorn.example.com/api/v1/database/backup',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("POST", "https://shoehorn.example.com/api/v1/database/backup", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req) System cURL JavaScript Python Go
curl -X GET 'https://shoehorn.example.com/api/v1/system' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/system', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.get(
'https://shoehorn.example.com/api/v1/system',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("GET", "https://shoehorn.example.com/api/v1/system", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req) License Responses 200 Current license info
Schema (application/json) LicenseStatus
17properties editionstring *
"free""beta""standard""airgapped"
typestring
"selfhosted""saas""partner"
clustersinteger
Per-license cluster-limit override (0 = use tier default)
issued_atstring<date-time>
expires_atstring<date-time> nullable
activated_atstring<date-time> nullable
resource_limitsobject *
2properties clustersinteger *
0 = unlimited
nodesinteger *
0 = unlimited
resource_usagearray<object>
4properties resourcestring
"clusters""nodes"
limitinteger
0 = unlimited
warningsarray<object>
3properties typestring
"expired""expiring_soon""resource_high""resource_exceeded"
levelstring
"warning""error"
beta_ends_atstring<date-time> nullable
For Beta licenses: when the 6-month free period ends. Floored at
2026-11-10 for legacy Beta licenses so existing customers don't
flip read-only the day per-cluster pricing took over.
beta_grace_ends_atstring<date-time> nullable
For Beta licenses: when the 30-day post-end grace expires. Set
only after the first license-status read past beta_ends_at has
marked the grace start. After this timestamp the auto-disconnect
job runs.
is_read_onlyboolean *
True while a Beta tenant is inside the 30-day grace window. UI
mutations return 423 BETA_ENDED_READ_ONLY. Catalog reads and
agent traffic stay live; license activation also keeps working
so the tenant can switch to Standard without restoring writes
first.
cURL JavaScript Python Go
curl -X GET 'https://shoehorn.example.com/api/v1/license' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/license', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.get(
'https://shoehorn.example.com/api/v1/license',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("GET", "https://shoehorn.example.com/api/v1/license", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req) cURL JavaScript Python Go
curl -X POST 'https://shoehorn.example.com/api/v1/license/activate' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/license/activate', {
method: 'POST',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.post(
'https://shoehorn.example.com/api/v1/license/activate',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("POST", "https://shoehorn.example.com/api/v1/license/activate", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req) cURL JavaScript Python Go
curl -X POST 'https://shoehorn.example.com/api/v1/license/deactivate' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/license/deactivate', {
method: 'POST',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.post(
'https://shoehorn.example.com/api/v1/license/deactivate',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("POST", "https://shoehorn.example.com/api/v1/license/deactivate", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req) cURL JavaScript Python Go
curl -X GET 'https://shoehorn.example.com/api/v1/license/pending-clusters' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/license/pending-clusters', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.get(
'https://shoehorn.example.com/api/v1/license/pending-clusters',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("GET", "https://shoehorn.example.com/api/v1/license/pending-clusters", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req) cURL JavaScript Python Go
curl -X DELETE 'https://shoehorn.example.com/api/v1/license/pending-clusters/{cluster_id}' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/license/pending-clusters/{cluster_id}', {
method: 'DELETE',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.delete(
'https://shoehorn.example.com/api/v1/license/pending-clusters/{cluster_id}',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("DELETE", "https://shoehorn.example.com/api/v1/license/pending-clusters/{cluster_id}", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req) No operations match this filter.
/
Statistics cURL JavaScript Python Go
curl -X GET 'https://shoehorn.example.com/api/v1/stats' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/stats', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.get(
'https://shoehorn.example.com/api/v1/stats',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("GET", "https://shoehorn.example.com/api/v1/stats", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req) cURL JavaScript Python Go
curl -X GET 'https://shoehorn.example.com/api/v1/stats/entity-types' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/stats/entity-types', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.get(
'https://shoehorn.example.com/api/v1/stats/entity-types',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("GET", "https://shoehorn.example.com/api/v1/stats/entity-types", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req) cURL JavaScript Python Go
curl -X GET 'https://shoehorn.example.com/api/v1/stats/languages' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/stats/languages', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.get(
'https://shoehorn.example.com/api/v1/stats/languages',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("GET", "https://shoehorn.example.com/api/v1/stats/languages", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req) cURL JavaScript Python Go
curl -X GET 'https://shoehorn.example.com/api/v1/stats/lifecycle' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/stats/lifecycle', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.get(
'https://shoehorn.example.com/api/v1/stats/lifecycle',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("GET", "https://shoehorn.example.com/api/v1/stats/lifecycle", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req) cURL JavaScript Python Go
curl -X GET 'https://shoehorn.example.com/api/v1/stats/teams' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/stats/teams', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.get(
'https://shoehorn.example.com/api/v1/stats/teams',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("GET", "https://shoehorn.example.com/api/v1/stats/teams", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req) cURL JavaScript Python Go
curl -X GET 'https://shoehorn.example.com/api/v1/stats/unowned' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/stats/unowned', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.get(
'https://shoehorn.example.com/api/v1/stats/unowned',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("GET", "https://shoehorn.example.com/api/v1/stats/unowned", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req) Search analytics cURL JavaScript Python Go
curl -X GET 'https://shoehorn.example.com/api/v1/analytics/search' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/analytics/search', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.get(
'https://shoehorn.example.com/api/v1/analytics/search',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("GET", "https://shoehorn.example.com/api/v1/analytics/search", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req) cURL JavaScript Python Go
curl -X GET 'https://shoehorn.example.com/api/v1/analytics/search/{period}' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/analytics/search/{period}', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.get(
'https://shoehorn.example.com/api/v1/analytics/search/{period}',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("GET", "https://shoehorn.example.com/api/v1/analytics/search/{period}", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req) No operations match this filter.
/
Authentication cURL JavaScript Python Go
curl -X GET 'https://shoehorn.example.com/api/v1/auth/cli/status' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/auth/cli/status', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.get(
'https://shoehorn.example.com/api/v1/auth/cli/status',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("GET", "https://shoehorn.example.com/api/v1/auth/cli/status", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req) No operations match this filter.
/
Documentation cURL JavaScript Python Go
curl -X GET 'https://shoehorn.example.com/api/v1/docs' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/docs', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.get(
'https://shoehorn.example.com/api/v1/docs',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("GET", "https://shoehorn.example.com/api/v1/docs", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req) cURL JavaScript Python Go
curl -X GET 'https://shoehorn.example.com/api/v1/docs/{id}' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/docs/{id}', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.get(
'https://shoehorn.example.com/api/v1/docs/{id}',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("GET", "https://shoehorn.example.com/api/v1/docs/{id}", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req) No operations match this filter.
/
Entities Query parameters limitinteger
cursorstring
type"service" | "library" | "api" | "website" | "tool" | "infrastructure" | "platform" | "mobile-app" | "data-pipeline" | "ml-model" | "documentation"
lifecycle"experimental" | "development" | "production" | "deprecated"
ownerstring
tier"tier1" | "tier2" | "tier3" | "tier4"
cURL JavaScript Python Go
curl -X GET 'https://shoehorn.example.com/api/v1/entities' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/entities', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.get(
'https://shoehorn.example.com/api/v1/entities',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("GET", "https://shoehorn.example.com/api/v1/entities", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req) Responses 200 Entity details
Schema (application/json) Entity
13properties service_idstring
Human-readable identifier
linksarray<Link>
3properties sourcestring
"kubernetes""manifest""api""github""manual"
created_atstring<date-time>
updated_atstring<date-time>
404 Entity not found
cURL JavaScript Python Go
curl -X GET 'https://shoehorn.example.com/api/v1/entities/{id}' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/entities/{id}', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.get(
'https://shoehorn.example.com/api/v1/entities/{id}',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("GET", "https://shoehorn.example.com/api/v1/entities/{id}", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req)
Request body
required Content-Type: application/json
cURL JavaScript Python Go
curl -X PUT 'https://shoehorn.example.com/api/v1/entities/{id}' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY' \
-H 'Content-Type: application/json' \
-d '{}'const res = await fetch('https://shoehorn.example.com/api/v1/entities/{id}', {
method: 'PUT',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({}),
});
const data = await res.json();import os, requests
r = requests.put(
'https://shoehorn.example.com/api/v1/entities/{id}',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
json={},
)
data = r.json()req, _ := http.NewRequest("PUT", "https://shoehorn.example.com/api/v1/entities/{id}", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
req.Header.Set("Content-Type", "application/json")
res, err := http.DefaultClient.Do(req) cURL JavaScript Python Go
curl -X DELETE 'https://shoehorn.example.com/api/v1/entities/{id}' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/entities/{id}', {
method: 'DELETE',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.delete(
'https://shoehorn.example.com/api/v1/entities/{id}',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("DELETE", "https://shoehorn.example.com/api/v1/entities/{id}", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req) Responses 200 README content
Schema (application/json) object
2properties formatstring
"markdown""html"
cURL JavaScript Python Go
curl -X GET 'https://shoehorn.example.com/api/v1/entities/{id}/readme' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/entities/{id}/readme', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.get(
'https://shoehorn.example.com/api/v1/entities/{id}/readme',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("GET", "https://shoehorn.example.com/api/v1/entities/{id}/readme", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req) cURL JavaScript Python Go
curl -X GET 'https://shoehorn.example.com/api/v1/entities/{id}/manifest' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/entities/{id}/manifest', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.get(
'https://shoehorn.example.com/api/v1/entities/{id}/manifest',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("GET", "https://shoehorn.example.com/api/v1/entities/{id}/manifest", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req) Responses 200 Changelog entries
Schema (application/json) object
1property entriesarray<ChangelogEntry>
7properties timestampstring<date-time>
cURL JavaScript Python Go
curl -X GET 'https://shoehorn.example.com/api/v1/entities/{id}/changelog' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/entities/{id}/changelog', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.get(
'https://shoehorn.example.com/api/v1/entities/{id}/changelog',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("GET", "https://shoehorn.example.com/api/v1/entities/{id}/changelog", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req) cURL JavaScript Python Go
curl -X GET 'https://shoehorn.example.com/api/v1/entities/{id}/status' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/entities/{id}/status', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.get(
'https://shoehorn.example.com/api/v1/entities/{id}/status',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("GET", "https://shoehorn.example.com/api/v1/entities/{id}/status", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req) cURL JavaScript Python Go
curl -X GET 'https://shoehorn.example.com/api/v1/entities/{id}/deployments' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/entities/{id}/deployments', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.get(
'https://shoehorn.example.com/api/v1/entities/{id}/deployments',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("GET", "https://shoehorn.example.com/api/v1/entities/{id}/deployments", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req) cURL JavaScript Python Go
curl -X GET 'https://shoehorn.example.com/api/v1/entities/{id}/resources' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/entities/{id}/resources', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.get(
'https://shoehorn.example.com/api/v1/entities/{id}/resources',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("GET", "https://shoehorn.example.com/api/v1/entities/{id}/resources", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req) cURL JavaScript Python Go
curl -X GET 'https://shoehorn.example.com/api/v1/entities/{id}/k8s/workloads' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/entities/{id}/k8s/workloads', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.get(
'https://shoehorn.example.com/api/v1/entities/{id}/k8s/workloads',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("GET", "https://shoehorn.example.com/api/v1/entities/{id}/k8s/workloads", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req) cURL JavaScript Python Go
curl -X GET 'https://shoehorn.example.com/api/v1/entities/{id}/quick-actions' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/entities/{id}/quick-actions', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.get(
'https://shoehorn.example.com/api/v1/entities/{id}/quick-actions',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("GET", "https://shoehorn.example.com/api/v1/entities/{id}/quick-actions", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req) cURL JavaScript Python Go
curl -X GET 'https://shoehorn.example.com/api/v1/entities/{id}/scorecard' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/entities/{id}/scorecard', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.get(
'https://shoehorn.example.com/api/v1/entities/{id}/scorecard',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("GET", "https://shoehorn.example.com/api/v1/entities/{id}/scorecard", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req) cURL JavaScript Python Go
curl -X GET 'https://shoehorn.example.com/api/v1/entities/{id}/governance/actions' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/entities/{id}/governance/actions', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.get(
'https://shoehorn.example.com/api/v1/entities/{id}/governance/actions',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("GET", "https://shoehorn.example.com/api/v1/entities/{id}/governance/actions", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req) cURL JavaScript Python Go
curl -X GET 'https://shoehorn.example.com/api/v1/entities/{id}/zombies' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/entities/{id}/zombies', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.get(
'https://shoehorn.example.com/api/v1/entities/{id}/zombies',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("GET", "https://shoehorn.example.com/api/v1/entities/{id}/zombies", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req) cURL JavaScript Python Go
curl -X GET 'https://shoehorn.example.com/api/v1/entities/{id}/activity' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/entities/{id}/activity', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.get(
'https://shoehorn.example.com/api/v1/entities/{id}/activity',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("GET", "https://shoehorn.example.com/api/v1/entities/{id}/activity", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req) cURL JavaScript Python Go
curl -X GET 'https://shoehorn.example.com/api/v1/entities/{id}/incidents' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/entities/{id}/incidents', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.get(
'https://shoehorn.example.com/api/v1/entities/{id}/incidents',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("GET", "https://shoehorn.example.com/api/v1/entities/{id}/incidents", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req) cURL JavaScript Python Go
curl -X GET 'https://shoehorn.example.com/api/v1/entities/{id}/oncall' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/entities/{id}/oncall', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.get(
'https://shoehorn.example.com/api/v1/entities/{id}/oncall',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("GET", "https://shoehorn.example.com/api/v1/entities/{id}/oncall", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req) cURL JavaScript Python Go
curl -X GET 'https://shoehorn.example.com/api/v1/entities/{id}/relations' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/entities/{id}/relations', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.get(
'https://shoehorn.example.com/api/v1/entities/{id}/relations',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("GET", "https://shoehorn.example.com/api/v1/entities/{id}/relations", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req) cURL JavaScript Python Go
curl -X GET 'https://shoehorn.example.com/api/v1/entities/{id}/topology' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/entities/{id}/topology', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.get(
'https://shoehorn.example.com/api/v1/entities/{id}/topology',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("GET", "https://shoehorn.example.com/api/v1/entities/{id}/topology", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req) cURL JavaScript Python Go
curl -X GET 'https://shoehorn.example.com/api/v1/entities/{id}/docs' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/entities/{id}/docs', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.get(
'https://shoehorn.example.com/api/v1/entities/{id}/docs',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("GET", "https://shoehorn.example.com/api/v1/entities/{id}/docs", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req) cURL JavaScript Python Go
curl -X GET 'https://shoehorn.example.com/api/v1/entities/summary' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/entities/summary', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.get(
'https://shoehorn.example.com/api/v1/entities/summary',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("GET", "https://shoehorn.example.com/api/v1/entities/summary", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req) No operations match this filter.
/
Molds Query parameters categorystring
publishedboolean
cURL JavaScript Python Go
curl -X GET 'https://shoehorn.example.com/api/v1/forge/molds' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/forge/molds', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.get(
'https://shoehorn.example.com/api/v1/forge/molds',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("GET", "https://shoehorn.example.com/api/v1/forge/molds", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req)
Request body
required Content-Type: application/json
CreateMoldRequest
8properties parametersarray<MoldParameter>
7properties typestring *
"string""number""boolean""select""multi-select"
requiredboolean
Default: false
optionsarray<string>
Options for select/multi-select types
actionsarray<MoldAction>
3properties typestring *
"github-action""api-call""script""approval"
requires_approvalboolean
Default: false
cURL JavaScript Python Go
curl -X POST 'https://shoehorn.example.com/api/v1/forge/molds' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY' \
-H 'Content-Type: application/json' \
-d '{}'const res = await fetch('https://shoehorn.example.com/api/v1/forge/molds', {
method: 'POST',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({}),
});
const data = await res.json();import os, requests
r = requests.post(
'https://shoehorn.example.com/api/v1/forge/molds',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
json={},
)
data = r.json()req, _ := http.NewRequest("POST", "https://shoehorn.example.com/api/v1/forge/molds", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
req.Header.Set("Content-Type", "application/json")
res, err := http.DefaultClient.Do(req) cURL JavaScript Python Go
curl -X GET 'https://shoehorn.example.com/api/v1/forge/molds/{slug}' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/forge/molds/{slug}', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.get(
'https://shoehorn.example.com/api/v1/forge/molds/{slug}',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("GET", "https://shoehorn.example.com/api/v1/forge/molds/{slug}", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req)
Request body
required Content-Type: application/json
UpdateMoldRequest
6properties parametersarray<MoldParameter>
7properties typestring *
"string""number""boolean""select""multi-select"
requiredboolean
Default: false
optionsarray<string>
Options for select/multi-select types
actionsarray<MoldAction>
3properties typestring *
"github-action""api-call""script""approval"
cURL JavaScript Python Go
curl -X PUT 'https://shoehorn.example.com/api/v1/forge/molds/{slug}' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY' \
-H 'Content-Type: application/json' \
-d '{}'const res = await fetch('https://shoehorn.example.com/api/v1/forge/molds/{slug}', {
method: 'PUT',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({}),
});
const data = await res.json();import os, requests
r = requests.put(
'https://shoehorn.example.com/api/v1/forge/molds/{slug}',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
json={},
)
data = r.json()req, _ := http.NewRequest("PUT", "https://shoehorn.example.com/api/v1/forge/molds/{slug}", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
req.Header.Set("Content-Type", "application/json")
res, err := http.DefaultClient.Do(req) cURL JavaScript Python Go
curl -X DELETE 'https://shoehorn.example.com/api/v1/forge/molds/{slug}' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/forge/molds/{slug}', {
method: 'DELETE',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.delete(
'https://shoehorn.example.com/api/v1/forge/molds/{slug}',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("DELETE", "https://shoehorn.example.com/api/v1/forge/molds/{slug}", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req) cURL JavaScript Python Go
curl -X POST 'https://shoehorn.example.com/api/v1/forge/molds/{slug}/publish' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/forge/molds/{slug}/publish', {
method: 'POST',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.post(
'https://shoehorn.example.com/api/v1/forge/molds/{slug}/publish',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("POST", "https://shoehorn.example.com/api/v1/forge/molds/{slug}/publish", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req) cURL JavaScript Python Go
curl -X POST 'https://shoehorn.example.com/api/v1/forge/molds/{slug}/unpublish' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/forge/molds/{slug}/unpublish', {
method: 'POST',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.post(
'https://shoehorn.example.com/api/v1/forge/molds/{slug}/unpublish',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("POST", "https://shoehorn.example.com/api/v1/forge/molds/{slug}/unpublish", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req) Runs cURL JavaScript Python Go
curl -X GET 'https://shoehorn.example.com/api/v1/forge/runs' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/forge/runs', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.get(
'https://shoehorn.example.com/api/v1/forge/runs',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("GET", "https://shoehorn.example.com/api/v1/forge/runs", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req)
Request body
required Content-Type: application/json
object
2properties parametersobject *
User-provided parameter values
cURL JavaScript Python Go
curl -X POST 'https://shoehorn.example.com/api/v1/forge/runs' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY' \
-H 'Content-Type: application/json' \
-d '{}'const res = await fetch('https://shoehorn.example.com/api/v1/forge/runs', {
method: 'POST',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({}),
});
const data = await res.json();import os, requests
r = requests.post(
'https://shoehorn.example.com/api/v1/forge/runs',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
json={},
)
data = r.json()req, _ := http.NewRequest("POST", "https://shoehorn.example.com/api/v1/forge/runs", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
req.Header.Set("Content-Type", "application/json")
res, err := http.DefaultClient.Do(req) cURL JavaScript Python Go
curl -X GET 'https://shoehorn.example.com/api/v1/forge/runs/{runId}' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/forge/runs/{runId}', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.get(
'https://shoehorn.example.com/api/v1/forge/runs/{runId}',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("GET", "https://shoehorn.example.com/api/v1/forge/runs/{runId}", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req) cURL JavaScript Python Go
curl -X POST 'https://shoehorn.example.com/api/v1/forge/runs/{runId}/cancel' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/forge/runs/{runId}/cancel', {
method: 'POST',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.post(
'https://shoehorn.example.com/api/v1/forge/runs/{runId}/cancel',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("POST", "https://shoehorn.example.com/api/v1/forge/runs/{runId}/cancel", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req) cURL JavaScript Python Go
curl -X POST 'https://shoehorn.example.com/api/v1/forge/runs/{runId}/approve' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/forge/runs/{runId}/approve', {
method: 'POST',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.post(
'https://shoehorn.example.com/api/v1/forge/runs/{runId}/approve',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("POST", "https://shoehorn.example.com/api/v1/forge/runs/{runId}/approve", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req) cURL JavaScript Python Go
curl -X POST 'https://shoehorn.example.com/api/v1/forge/runs/{runId}/reject' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/forge/runs/{runId}/reject', {
method: 'POST',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.post(
'https://shoehorn.example.com/api/v1/forge/runs/{runId}/reject',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("POST", "https://shoehorn.example.com/api/v1/forge/runs/{runId}/reject", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req) cURL JavaScript Python Go
curl -X GET 'https://shoehorn.example.com/api/v1/forge/runs/{runId}/logs' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/forge/runs/{runId}/logs', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.get(
'https://shoehorn.example.com/api/v1/forge/runs/{runId}/logs',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("GET", "https://shoehorn.example.com/api/v1/forge/runs/{runId}/logs", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req) Forge Stats cURL JavaScript Python Go
curl -X GET 'https://shoehorn.example.com/api/v1/forge/stats' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/forge/stats', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.get(
'https://shoehorn.example.com/api/v1/forge/stats',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("GET", "https://shoehorn.example.com/api/v1/forge/stats", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req) No operations match this filter.
/
Governance Responses 200 Dashboard metrics
Schema (application/json) object
3properties by_statusobject
5properties by_priorityobject
4properties cURL JavaScript Python Go
curl -X GET 'https://shoehorn.example.com/api/v1/governance/dashboard' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/governance/dashboard', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.get(
'https://shoehorn.example.com/api/v1/governance/dashboard',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("GET", "https://shoehorn.example.com/api/v1/governance/dashboard", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req) cURL JavaScript Python Go
curl -X GET 'https://shoehorn.example.com/api/v1/governance/documentation' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/governance/documentation', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.get(
'https://shoehorn.example.com/api/v1/governance/documentation',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("GET", "https://shoehorn.example.com/api/v1/governance/documentation", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req) Governance Actions Query parameters status"open" | "in_progress" | "resolved" | "dismissed" | "wont_fix"
priority"critical" | "high" | "medium" | "low"
typestring
entity_idstring
assigned_tostring
overdueboolean
Only overdue actions when true.
closedboolean
Only closed actions (resolved, dismissed, wont_fix) when true. Can't be combined with a filter that only matches active actions.
actionableboolean
Only open and in_progress actions when true.
limitinteger
cursorstring
cURL JavaScript Python Go
curl -X GET 'https://shoehorn.example.com/api/v1/governance/actions' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/governance/actions', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.get(
'https://shoehorn.example.com/api/v1/governance/actions',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("GET", "https://shoehorn.example.com/api/v1/governance/actions", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req)
Request body
required Content-Type: application/json
CreateActionRequest
7properties prioritystring *
"critical""high""medium""low"
cURL JavaScript Python Go
curl -X POST 'https://shoehorn.example.com/api/v1/governance/actions' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY' \
-H 'Content-Type: application/json' \
-d '{}'const res = await fetch('https://shoehorn.example.com/api/v1/governance/actions', {
method: 'POST',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({}),
});
const data = await res.json();import os, requests
r = requests.post(
'https://shoehorn.example.com/api/v1/governance/actions',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
json={},
)
data = r.json()req, _ := http.NewRequest("POST", "https://shoehorn.example.com/api/v1/governance/actions", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
req.Header.Set("Content-Type", "application/json")
res, err := http.DefaultClient.Do(req)
Request body
required Content-Type: application/json
object
2properties statusstring *
"open""in_progress""resolved""dismissed""wont_fix"
Responses 200 Bulk update result
Schema (application/json) cURL JavaScript Python Go
curl -X POST 'https://shoehorn.example.com/api/v1/governance/actions/bulk' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY' \
-H 'Content-Type: application/json' \
-d '{}'const res = await fetch('https://shoehorn.example.com/api/v1/governance/actions/bulk', {
method: 'POST',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({}),
});
const data = await res.json();import os, requests
r = requests.post(
'https://shoehorn.example.com/api/v1/governance/actions/bulk',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
json={},
)
data = r.json()req, _ := http.NewRequest("POST", "https://shoehorn.example.com/api/v1/governance/actions/bulk", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
req.Header.Set("Content-Type", "application/json")
res, err := http.DefaultClient.Do(req) cURL JavaScript Python Go
curl -X GET 'https://shoehorn.example.com/api/v1/governance/actions/{id}' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/governance/actions/{id}', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.get(
'https://shoehorn.example.com/api/v1/governance/actions/{id}',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("GET", "https://shoehorn.example.com/api/v1/governance/actions/{id}", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req)
Request body
required Content-Type: application/json
UpdateActionRequest
5properties statusstring
"open""in_progress""resolved""dismissed""wont_fix"
prioritystring
"critical""high""medium""low"
cURL JavaScript Python Go
curl -X PATCH 'https://shoehorn.example.com/api/v1/governance/actions/{id}' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY' \
-H 'Content-Type: application/json' \
-d '{}'const res = await fetch('https://shoehorn.example.com/api/v1/governance/actions/{id}', {
method: 'PATCH',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({}),
});
const data = await res.json();import os, requests
r = requests.patch(
'https://shoehorn.example.com/api/v1/governance/actions/{id}',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
json={},
)
data = r.json()req, _ := http.NewRequest("PATCH", "https://shoehorn.example.com/api/v1/governance/actions/{id}", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
req.Header.Set("Content-Type", "application/json")
res, err := http.DefaultClient.Do(req) cURL JavaScript Python Go
curl -X DELETE 'https://shoehorn.example.com/api/v1/governance/actions/{id}' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/governance/actions/{id}', {
method: 'DELETE',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.delete(
'https://shoehorn.example.com/api/v1/governance/actions/{id}',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("DELETE", "https://shoehorn.example.com/api/v1/governance/actions/{id}", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req) No operations match this filter.
/
Groups Responses 200 IdP groups
Schema (application/json) object
1property groupsarray<Group>
4properties providerstring
"zitadel""okta""entra-id""keycloak"
cURL JavaScript Python Go
curl -X GET 'https://shoehorn.example.com/api/v1/groups' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/groups', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.get(
'https://shoehorn.example.com/api/v1/groups',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("GET", "https://shoehorn.example.com/api/v1/groups", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req) cURL JavaScript Python Go
curl -X GET 'https://shoehorn.example.com/api/v1/groups/{groupName}/roles' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/groups/{groupName}/roles', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.get(
'https://shoehorn.example.com/api/v1/groups/{groupName}/roles',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("GET", "https://shoehorn.example.com/api/v1/groups/{groupName}/roles", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req)
Request body
required Content-Type: application/json
cURL JavaScript Python Go
curl -X POST 'https://shoehorn.example.com/api/v1/groups/{groupName}/roles' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY' \
-H 'Content-Type: application/json' \
-d '{}'const res = await fetch('https://shoehorn.example.com/api/v1/groups/{groupName}/roles', {
method: 'POST',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({}),
});
const data = await res.json();import os, requests
r = requests.post(
'https://shoehorn.example.com/api/v1/groups/{groupName}/roles',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
json={},
)
data = r.json()req, _ := http.NewRequest("POST", "https://shoehorn.example.com/api/v1/groups/{groupName}/roles", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
req.Header.Set("Content-Type", "application/json")
res, err := http.DefaultClient.Do(req) Path parameters groupNamestring required
roleNamestring required
cURL JavaScript Python Go
curl -X DELETE 'https://shoehorn.example.com/api/v1/groups/{groupName}/roles/{roleName}' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/groups/{groupName}/roles/{roleName}', {
method: 'DELETE',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.delete(
'https://shoehorn.example.com/api/v1/groups/{groupName}/roles/{roleName}',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("DELETE", "https://shoehorn.example.com/api/v1/groups/{groupName}/roles/{roleName}", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req) No operations match this filter.
/
Indexing cURL JavaScript Python Go
curl -X GET 'https://shoehorn.example.com/api/v1/indexing/status' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/indexing/status', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.get(
'https://shoehorn.example.com/api/v1/indexing/status',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("GET", "https://shoehorn.example.com/api/v1/indexing/status", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req) No operations match this filter.
/
Integrations cURL JavaScript Python Go
curl -X GET 'https://shoehorn.example.com/api/v1/integrations' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/integrations', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.get(
'https://shoehorn.example.com/api/v1/integrations',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("GET", "https://shoehorn.example.com/api/v1/integrations", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req)
Request body
required Content-Type: application/json
CreateIntegrationRequest
3properties cURL JavaScript Python Go
curl -X POST 'https://shoehorn.example.com/api/v1/integrations' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY' \
-H 'Content-Type: application/json' \
-d '{}'const res = await fetch('https://shoehorn.example.com/api/v1/integrations', {
method: 'POST',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({}),
});
const data = await res.json();import os, requests
r = requests.post(
'https://shoehorn.example.com/api/v1/integrations',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
json={},
)
data = r.json()req, _ := http.NewRequest("POST", "https://shoehorn.example.com/api/v1/integrations", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
req.Header.Set("Content-Type", "application/json")
res, err := http.DefaultClient.Do(req) cURL JavaScript Python Go
curl -X GET 'https://shoehorn.example.com/api/v1/integrations/configs' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/integrations/configs', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.get(
'https://shoehorn.example.com/api/v1/integrations/configs',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("GET", "https://shoehorn.example.com/api/v1/integrations/configs", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req) cURL JavaScript Python Go
curl -X GET 'https://shoehorn.example.com/api/v1/integrations/{id}' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/integrations/{id}', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.get(
'https://shoehorn.example.com/api/v1/integrations/{id}',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("GET", "https://shoehorn.example.com/api/v1/integrations/{id}", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req)
Request body
required Content-Type: application/json
UpdateIntegrationRequest
3properties cURL JavaScript Python Go
curl -X PUT 'https://shoehorn.example.com/api/v1/integrations/{id}' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY' \
-H 'Content-Type: application/json' \
-d '{}'const res = await fetch('https://shoehorn.example.com/api/v1/integrations/{id}', {
method: 'PUT',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({}),
});
const data = await res.json();import os, requests
r = requests.put(
'https://shoehorn.example.com/api/v1/integrations/{id}',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
json={},
)
data = r.json()req, _ := http.NewRequest("PUT", "https://shoehorn.example.com/api/v1/integrations/{id}", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
req.Header.Set("Content-Type", "application/json")
res, err := http.DefaultClient.Do(req) cURL JavaScript Python Go
curl -X DELETE 'https://shoehorn.example.com/api/v1/integrations/{id}' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/integrations/{id}', {
method: 'DELETE',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.delete(
'https://shoehorn.example.com/api/v1/integrations/{id}',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("DELETE", "https://shoehorn.example.com/api/v1/integrations/{id}", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req) cURL JavaScript Python Go
curl -X POST 'https://shoehorn.example.com/api/v1/integrations/{id}/sync' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/integrations/{id}/sync', {
method: 'POST',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.post(
'https://shoehorn.example.com/api/v1/integrations/{id}/sync',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("POST", "https://shoehorn.example.com/api/v1/integrations/{id}/sync", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req) Webhooks cURL JavaScript Python Go
curl -X GET 'https://shoehorn.example.com/api/v1/integrations/{id}/webhooks' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/integrations/{id}/webhooks', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.get(
'https://shoehorn.example.com/api/v1/integrations/{id}/webhooks',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("GET", "https://shoehorn.example.com/api/v1/integrations/{id}/webhooks", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req)
Request body
required Content-Type: application/json
CreateWebhookRequest
3properties cURL JavaScript Python Go
curl -X POST 'https://shoehorn.example.com/api/v1/integrations/{id}/webhooks' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY' \
-H 'Content-Type: application/json' \
-d '{}'const res = await fetch('https://shoehorn.example.com/api/v1/integrations/{id}/webhooks', {
method: 'POST',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({}),
});
const data = await res.json();import os, requests
r = requests.post(
'https://shoehorn.example.com/api/v1/integrations/{id}/webhooks',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
json={},
)
data = r.json()req, _ := http.NewRequest("POST", "https://shoehorn.example.com/api/v1/integrations/{id}/webhooks", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
req.Header.Set("Content-Type", "application/json")
res, err := http.DefaultClient.Do(req)
Request body
required Content-Type: application/json
UpdateWebhookRequest
3properties cURL JavaScript Python Go
curl -X PUT 'https://shoehorn.example.com/api/v1/integrations/webhooks/{webhookId}' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY' \
-H 'Content-Type: application/json' \
-d '{}'const res = await fetch('https://shoehorn.example.com/api/v1/integrations/webhooks/{webhookId}', {
method: 'PUT',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({}),
});
const data = await res.json();import os, requests
r = requests.put(
'https://shoehorn.example.com/api/v1/integrations/webhooks/{webhookId}',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
json={},
)
data = r.json()req, _ := http.NewRequest("PUT", "https://shoehorn.example.com/api/v1/integrations/webhooks/{webhookId}", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
req.Header.Set("Content-Type", "application/json")
res, err := http.DefaultClient.Do(req) cURL JavaScript Python Go
curl -X DELETE 'https://shoehorn.example.com/api/v1/integrations/webhooks/{webhookId}' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/integrations/webhooks/{webhookId}', {
method: 'DELETE',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.delete(
'https://shoehorn.example.com/api/v1/integrations/webhooks/{webhookId}',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("DELETE", "https://shoehorn.example.com/api/v1/integrations/webhooks/{webhookId}", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req) cURL JavaScript Python Go
curl -X POST 'https://shoehorn.example.com/api/v1/integrations/github/webhook' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/integrations/github/webhook', {
method: 'POST',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.post(
'https://shoehorn.example.com/api/v1/integrations/github/webhook',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("POST", "https://shoehorn.example.com/api/v1/integrations/github/webhook", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req) No operations match this filter.
/
K8s Agents cURL JavaScript Python Go
curl -X GET 'https://shoehorn.example.com/api/v1/k8s/agents' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/k8s/agents', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.get(
'https://shoehorn.example.com/api/v1/k8s/agents',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("GET", "https://shoehorn.example.com/api/v1/k8s/agents", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req)
Request body
required Content-Type: application/json
Responses 201 Agent registered
Schema (application/json) object
2properties tokenstring
Bearer token for push API
cURL JavaScript Python Go
curl -X POST 'https://shoehorn.example.com/api/v1/k8s/agents/register' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY' \
-H 'Content-Type: application/json' \
-d '{}'const res = await fetch('https://shoehorn.example.com/api/v1/k8s/agents/register', {
method: 'POST',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({}),
});
const data = await res.json();import os, requests
r = requests.post(
'https://shoehorn.example.com/api/v1/k8s/agents/register',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
json={},
)
data = r.json()req, _ := http.NewRequest("POST", "https://shoehorn.example.com/api/v1/k8s/agents/register", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
req.Header.Set("Content-Type", "application/json")
res, err := http.DefaultClient.Do(req) cURL JavaScript Python Go
curl -X GET 'https://shoehorn.example.com/api/v1/k8s/agents/{cluster_id}' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/k8s/agents/{cluster_id}', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.get(
'https://shoehorn.example.com/api/v1/k8s/agents/{cluster_id}',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("GET", "https://shoehorn.example.com/api/v1/k8s/agents/{cluster_id}", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req) cURL JavaScript Python Go
curl -X DELETE 'https://shoehorn.example.com/api/v1/k8s/agents/{cluster_id}' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/k8s/agents/{cluster_id}', {
method: 'DELETE',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.delete(
'https://shoehorn.example.com/api/v1/k8s/agents/{cluster_id}',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("DELETE", "https://shoehorn.example.com/api/v1/k8s/agents/{cluster_id}", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req) Responses 200 New token generated
Schema (application/json) cURL JavaScript Python Go
curl -X POST 'https://shoehorn.example.com/api/v1/k8s/agents/{cluster_id}/rotate' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/k8s/agents/{cluster_id}/rotate', {
method: 'POST',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.post(
'https://shoehorn.example.com/api/v1/k8s/agents/{cluster_id}/rotate',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("POST", "https://shoehorn.example.com/api/v1/k8s/agents/{cluster_id}/rotate", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req) cURL JavaScript Python Go
curl -X POST 'https://shoehorn.example.com/api/v1/k8s/agents/{cluster_id}/revoke' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/k8s/agents/{cluster_id}/revoke', {
method: 'POST',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.post(
'https://shoehorn.example.com/api/v1/k8s/agents/{cluster_id}/revoke',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("POST", "https://shoehorn.example.com/api/v1/k8s/agents/{cluster_id}/revoke", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req) K8s Agent Push
Request body
required Content-Type: application/json
object
2properties workloadsarray<Workload> *
9properties kindstring
"Deployment""StatefulSet""DaemonSet""CronJob""Job"
conditionsarray<object>
3properties cURL JavaScript Python Go
curl -X POST 'https://shoehorn.example.com/api/v1/k8s/agents/push' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY' \
-H 'Content-Type: application/json' \
-d '{}'const res = await fetch('https://shoehorn.example.com/api/v1/k8s/agents/push', {
method: 'POST',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({}),
});
const data = await res.json();import os, requests
r = requests.post(
'https://shoehorn.example.com/api/v1/k8s/agents/push',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
json={},
)
data = r.json()req, _ := http.NewRequest("POST", "https://shoehorn.example.com/api/v1/k8s/agents/push", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
req.Header.Set("Content-Type", "application/json")
res, err := http.DefaultClient.Do(req)
Request body
required Content-Type: application/json
cURL JavaScript Python Go
curl -X POST 'https://shoehorn.example.com/api/v1/k8s/agents/heartbeat' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY' \
-H 'Content-Type: application/json' \
-d '{}'const res = await fetch('https://shoehorn.example.com/api/v1/k8s/agents/heartbeat', {
method: 'POST',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({}),
});
const data = await res.json();import os, requests
r = requests.post(
'https://shoehorn.example.com/api/v1/k8s/agents/heartbeat',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
json={},
)
data = r.json()req, _ := http.NewRequest("POST", "https://shoehorn.example.com/api/v1/k8s/agents/heartbeat", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
req.Header.Set("Content-Type", "application/json")
res, err := http.DefaultClient.Do(req)
Request body
required Content-Type: application/json
object
1property flowsarray<object>
5properties cURL JavaScript Python Go
curl -X POST 'https://shoehorn.example.com/api/v1/k8s/agents/{clusterId}/network-flows' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY' \
-H 'Content-Type: application/json' \
-d '{}'const res = await fetch('https://shoehorn.example.com/api/v1/k8s/agents/{clusterId}/network-flows', {
method: 'POST',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({}),
});
const data = await res.json();import os, requests
r = requests.post(
'https://shoehorn.example.com/api/v1/k8s/agents/{clusterId}/network-flows',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
json={},
)
data = r.json()req, _ := http.NewRequest("POST", "https://shoehorn.example.com/api/v1/k8s/agents/{clusterId}/network-flows", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
req.Header.Set("Content-Type", "application/json")
res, err := http.DefaultClient.Do(req) No operations match this filter.
/
Manifests cURL JavaScript Python Go
curl -X GET 'https://shoehorn.example.com/api/v1/manifests' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/manifests', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.get(
'https://shoehorn.example.com/api/v1/manifests',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("GET", "https://shoehorn.example.com/api/v1/manifests", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req)
Request body
required Content-Type: application/json
ManifestInput
2properties contentstring *
YAML manifest content
formatstring
"shoehorn""backstage"
Default: "shoehorn"
cURL JavaScript Python Go
curl -X POST 'https://shoehorn.example.com/api/v1/manifests' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY' \
-H 'Content-Type: application/json' \
-d '{}'const res = await fetch('https://shoehorn.example.com/api/v1/manifests', {
method: 'POST',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({}),
});
const data = await res.json();import os, requests
r = requests.post(
'https://shoehorn.example.com/api/v1/manifests',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
json={},
)
data = r.json()req, _ := http.NewRequest("POST", "https://shoehorn.example.com/api/v1/manifests", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
req.Header.Set("Content-Type", "application/json")
res, err := http.DefaultClient.Do(req) cURL JavaScript Python Go
curl -X GET 'https://shoehorn.example.com/api/v1/manifests/{id}' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/manifests/{id}', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.get(
'https://shoehorn.example.com/api/v1/manifests/{id}',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("GET", "https://shoehorn.example.com/api/v1/manifests/{id}", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req) cURL JavaScript Python Go
curl -X PUT 'https://shoehorn.example.com/api/v1/manifests/{id}' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/manifests/{id}', {
method: 'PUT',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.put(
'https://shoehorn.example.com/api/v1/manifests/{id}',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("PUT", "https://shoehorn.example.com/api/v1/manifests/{id}", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req) cURL JavaScript Python Go
curl -X DELETE 'https://shoehorn.example.com/api/v1/manifests/{id}' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/manifests/{id}', {
method: 'DELETE',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.delete(
'https://shoehorn.example.com/api/v1/manifests/{id}',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("DELETE", "https://shoehorn.example.com/api/v1/manifests/{id}", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req)
Request body
required Content-Type: application/json
ManifestInput
2properties contentstring *
YAML manifest content
formatstring
"shoehorn""backstage"
Default: "shoehorn"
Responses 200 Validation results
Schema (application/json) object
2properties errorsarray<object>
2properties cURL JavaScript Python Go
curl -X POST 'https://shoehorn.example.com/api/v1/manifests/validate' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY' \
-H 'Content-Type: application/json' \
-d '{}'const res = await fetch('https://shoehorn.example.com/api/v1/manifests/validate', {
method: 'POST',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({}),
});
const data = await res.json();import os, requests
r = requests.post(
'https://shoehorn.example.com/api/v1/manifests/validate',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
json={},
)
data = r.json()req, _ := http.NewRequest("POST", "https://shoehorn.example.com/api/v1/manifests/validate", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
req.Header.Set("Content-Type", "application/json")
res, err := http.DefaultClient.Do(req)
Request body
required Content-Type: application/json
ManifestInput
2properties contentstring *
YAML manifest content
formatstring
"shoehorn""backstage"
Default: "shoehorn"
cURL JavaScript Python Go
curl -X POST 'https://shoehorn.example.com/api/v1/manifests/analyze' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY' \
-H 'Content-Type: application/json' \
-d '{}'const res = await fetch('https://shoehorn.example.com/api/v1/manifests/analyze', {
method: 'POST',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({}),
});
const data = await res.json();import os, requests
r = requests.post(
'https://shoehorn.example.com/api/v1/manifests/analyze',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
json={},
)
data = r.json()req, _ := http.NewRequest("POST", "https://shoehorn.example.com/api/v1/manifests/analyze", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
req.Header.Set("Content-Type", "application/json")
res, err := http.DefaultClient.Do(req)
Request body
required Content-Type: application/json
object
1property contentstring
Raw YAML content
cURL JavaScript Python Go
curl -X POST 'https://shoehorn.example.com/api/v1/manifests/convert' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY' \
-H 'Content-Type: application/json' \
-d '{}'const res = await fetch('https://shoehorn.example.com/api/v1/manifests/convert', {
method: 'POST',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({}),
});
const data = await res.json();import os, requests
r = requests.post(
'https://shoehorn.example.com/api/v1/manifests/convert',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
json={},
)
data = r.json()req, _ := http.NewRequest("POST", "https://shoehorn.example.com/api/v1/manifests/convert", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
req.Header.Set("Content-Type", "application/json")
res, err := http.DefaultClient.Do(req) No operations match this filter.
/
Marketplace Responses 200 Marketplace catalog
Schema (application/json) object
1property itemsarray<MarketplaceItem>
9properties tierstring
"free""pro""enterprise"
cURL JavaScript Python Go
curl -X GET 'https://shoehorn.example.com/api/v1/marketplace' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/marketplace', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.get(
'https://shoehorn.example.com/api/v1/marketplace',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("GET", "https://shoehorn.example.com/api/v1/marketplace", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req) Responses 200 Installed addons
Schema (application/json) object
1property addonsarray<InstalledAddon>
7properties statusstring
"running""stopped""error"
installed_atstring<date-time>
cURL JavaScript Python Go
curl -X GET 'https://shoehorn.example.com/api/v1/marketplace/installed' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/marketplace/installed', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.get(
'https://shoehorn.example.com/api/v1/marketplace/installed',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("GET", "https://shoehorn.example.com/api/v1/marketplace/installed", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req)
Request body
required Content-Type: application/json
object
1property slugstring *
Addon slug from marketplace
cURL JavaScript Python Go
curl -X POST 'https://shoehorn.example.com/api/v1/marketplace/install' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY' \
-H 'Content-Type: application/json' \
-d '{}'const res = await fetch('https://shoehorn.example.com/api/v1/marketplace/install', {
method: 'POST',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({}),
});
const data = await res.json();import os, requests
r = requests.post(
'https://shoehorn.example.com/api/v1/marketplace/install',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
json={},
)
data = r.json()req, _ := http.NewRequest("POST", "https://shoehorn.example.com/api/v1/marketplace/install", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
req.Header.Set("Content-Type", "application/json")
res, err := http.DefaultClient.Do(req) Responses 204 Addon uninstalled
404 Addon not found
cURL JavaScript Python Go
curl -X DELETE 'https://shoehorn.example.com/api/v1/marketplace/{slug}/uninstall' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/marketplace/{slug}/uninstall', {
method: 'DELETE',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.delete(
'https://shoehorn.example.com/api/v1/marketplace/{slug}/uninstall',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("DELETE", "https://shoehorn.example.com/api/v1/marketplace/{slug}/uninstall", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req) cURL JavaScript Python Go
curl -X POST 'https://shoehorn.example.com/api/v1/marketplace/{slug}/enable' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/marketplace/{slug}/enable', {
method: 'POST',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.post(
'https://shoehorn.example.com/api/v1/marketplace/{slug}/enable',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("POST", "https://shoehorn.example.com/api/v1/marketplace/{slug}/enable", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req) cURL JavaScript Python Go
curl -X POST 'https://shoehorn.example.com/api/v1/marketplace/{slug}/disable' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/marketplace/{slug}/disable', {
method: 'POST',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.post(
'https://shoehorn.example.com/api/v1/marketplace/{slug}/disable',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("POST", "https://shoehorn.example.com/api/v1/marketplace/{slug}/disable", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req)
Request body
required Content-Type: application/json
AddonManifest
4properties metadataobject *
7properties addonobject *
6properties tierstring *
"declarative""scripted""full"
cURL JavaScript Python Go
curl -X POST 'https://shoehorn.example.com/api/v1/marketplace/import-manifest' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY' \
-H 'Content-Type: application/json' \
-d '{}'const res = await fetch('https://shoehorn.example.com/api/v1/marketplace/import-manifest', {
method: 'POST',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({}),
});
const data = await res.json();import os, requests
r = requests.post(
'https://shoehorn.example.com/api/v1/marketplace/import-manifest',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
json={},
)
data = r.json()req, _ := http.NewRequest("POST", "https://shoehorn.example.com/api/v1/marketplace/import-manifest", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
req.Header.Set("Content-Type", "application/json")
res, err := http.DefaultClient.Do(req)
Request body
required Content-Type: multipart/form-data
object
2properties backendstring<binary>
Backend JS bundle (QuickJS IIFE)
frontendstring<binary>
Frontend JS bundle (ESM)
cURL JavaScript Python Go
curl -X POST 'https://shoehorn.example.com/api/v1/marketplace/{slug}/bundle' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY' \
-H 'Content-Type: application/json' \
-d '{}'const res = await fetch('https://shoehorn.example.com/api/v1/marketplace/{slug}/bundle', {
method: 'POST',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({}),
});
const data = await res.json();import os, requests
r = requests.post(
'https://shoehorn.example.com/api/v1/marketplace/{slug}/bundle',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
json={},
)
data = r.json()req, _ := http.NewRequest("POST", "https://shoehorn.example.com/api/v1/marketplace/{slug}/bundle", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
req.Header.Set("Content-Type", "application/json")
res, err := http.DefaultClient.Do(req) Addon Runtime Responses 200 Addon status
Schema (application/json) AddonStatus
7properties statusstring
"running""stopped""error"
last_syncstring<date-time>
cURL JavaScript Python Go
curl -X GET 'https://shoehorn.example.com/api/v1/addons/{slug}/status' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/addons/{slug}/status', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.get(
'https://shoehorn.example.com/api/v1/addons/{slug}/status',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("GET", "https://shoehorn.example.com/api/v1/addons/{slug}/status", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req) Responses 200 Addon logs
Schema (application/json) object
1property logsarray<LogEntry>
4properties timestampstring<date-time>
levelstring
"debug""info""warn""error"
cURL JavaScript Python Go
curl -X GET 'https://shoehorn.example.com/api/v1/addons/{slug}/logs' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/addons/{slug}/logs', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.get(
'https://shoehorn.example.com/api/v1/addons/{slug}/logs',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("GET", "https://shoehorn.example.com/api/v1/addons/{slug}/logs", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req) Path parameters slugstring required
pathstring required
cURL JavaScript Python Go
curl -X GET 'https://shoehorn.example.com/api/v1/addons/{slug}/{path}' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/addons/{slug}/{path}', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.get(
'https://shoehorn.example.com/api/v1/addons/{slug}/{path}',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("GET", "https://shoehorn.example.com/api/v1/addons/{slug}/{path}", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req) Path parameters slugstring required
pathstring required
Request body
Content-Type: application/json
Free-form JSON object (no fixed schema).
cURL JavaScript Python Go
curl -X POST 'https://shoehorn.example.com/api/v1/addons/{slug}/{path}' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY' \
-H 'Content-Type: application/json' \
-d '{}'const res = await fetch('https://shoehorn.example.com/api/v1/addons/{slug}/{path}', {
method: 'POST',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({}),
});
const data = await res.json();import os, requests
r = requests.post(
'https://shoehorn.example.com/api/v1/addons/{slug}/{path}',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
json={},
)
data = r.json()req, _ := http.NewRequest("POST", "https://shoehorn.example.com/api/v1/addons/{slug}/{path}", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
req.Header.Set("Content-Type", "application/json")
res, err := http.DefaultClient.Do(req) No operations match this filter.
/
Metrics Responses 200 Metrics snapshot
Schema (application/json) object
6properties timestampstring<date-time>
http_requests_totalobject
Request counts keyed by HTTP method.
response_timesarray<object>
5properties timestampstring<date-time>
integrations_statsobject
4properties system_statsobject
6properties database_connectionsinteger
memory_usage_bytesinteger
mock_databoolean
True if any field in the response is synthetic.
cURL JavaScript Python Go
curl -X GET 'https://shoehorn.example.com/api/v1/metrics/' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/metrics/', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.get(
'https://shoehorn.example.com/api/v1/metrics/',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("GET", "https://shoehorn.example.com/api/v1/metrics/", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req) cURL JavaScript Python Go
curl -X GET 'https://shoehorn.example.com/api/v1/metrics/timeseries' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/metrics/timeseries', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.get(
'https://shoehorn.example.com/api/v1/metrics/timeseries',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("GET", "https://shoehorn.example.com/api/v1/metrics/timeseries", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req) DORA cURL JavaScript Python Go
curl -X GET 'https://shoehorn.example.com/api/v1/metrics/dora' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/metrics/dora', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.get(
'https://shoehorn.example.com/api/v1/metrics/dora',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("GET", "https://shoehorn.example.com/api/v1/metrics/dora", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req) Insights cURL JavaScript Python Go
curl -X GET 'https://shoehorn.example.com/api/v1/metrics/bus-factor' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/metrics/bus-factor', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.get(
'https://shoehorn.example.com/api/v1/metrics/bus-factor',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("GET", "https://shoehorn.example.com/api/v1/metrics/bus-factor", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req) No operations match this filter.
/
Notifications Responses 200 User notifications
Schema (application/json) object
1property notificationsarray<Notification>
18properties teamIdstring<uuid> nullable
notificationTypestring
Dotted type, e.g. k8s.workload.unhealthy
severitystring
"critical""warning""info"
actionUrlstring
Deep link to the related resource
resolvedAtstring<date-time> nullable
expiresAtstring<date-time> nullable
criticalityTierinteger nullable
createdAtstring<date-time>
updatedAtstring<date-time>
cURL JavaScript Python Go
curl -X GET 'https://shoehorn.example.com/api/v1/notifications' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/notifications', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.get(
'https://shoehorn.example.com/api/v1/notifications',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("GET", "https://shoehorn.example.com/api/v1/notifications", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req) Responses 200 Unread counts
Schema (application/json) cURL JavaScript Python Go
curl -X GET 'https://shoehorn.example.com/api/v1/notifications/count' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/notifications/count', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.get(
'https://shoehorn.example.com/api/v1/notifications/count',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("GET", "https://shoehorn.example.com/api/v1/notifications/count", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req) cURL JavaScript Python Go
curl -X PATCH 'https://shoehorn.example.com/api/v1/notifications/{id}/read' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/notifications/{id}/read', {
method: 'PATCH',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.patch(
'https://shoehorn.example.com/api/v1/notifications/{id}/read',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("PATCH", "https://shoehorn.example.com/api/v1/notifications/{id}/read", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req) cURL JavaScript Python Go
curl -X POST 'https://shoehorn.example.com/api/v1/notifications/read-all' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/notifications/read-all', {
method: 'POST',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.post(
'https://shoehorn.example.com/api/v1/notifications/read-all',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("POST", "https://shoehorn.example.com/api/v1/notifications/read-all", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req) cURL JavaScript Python Go
curl -X DELETE 'https://shoehorn.example.com/api/v1/notifications/{id}' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/notifications/{id}', {
method: 'DELETE',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.delete(
'https://shoehorn.example.com/api/v1/notifications/{id}',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("DELETE", "https://shoehorn.example.com/api/v1/notifications/{id}", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req) cURL JavaScript Python Go
curl -X POST 'https://shoehorn.example.com/api/v1/notifications/dismiss-all' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/notifications/dismiss-all', {
method: 'POST',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.post(
'https://shoehorn.example.com/api/v1/notifications/dismiss-all',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("POST", "https://shoehorn.example.com/api/v1/notifications/dismiss-all", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req) Notification Subscriptions cURL JavaScript Python Go
curl -X GET 'https://shoehorn.example.com/api/v1/notifications/subscriptions' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/notifications/subscriptions', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.get(
'https://shoehorn.example.com/api/v1/notifications/subscriptions',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("GET", "https://shoehorn.example.com/api/v1/notifications/subscriptions", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req)
Request body
required Content-Type: application/json
SubscriptionInput
11properties enabledboolean
Default: true
event_typesarray<string> *
min_severitystring
"critical""warning""info"
channel_typestring *
"slack""webhook""email""inapp"
channel_configobject
Channel settings. Secret values are encrypted on write.
cadencestring
"realtime""hourly""daily""weekly"
cadence_configobject
For non-realtime cadences: day_of_week (0-6), hour (0-23), minute (0-59).
Responses 201 Created subscription
Schema (application/json) Subscription
16properties min_severitystring
"critical""warning""info"
channel_typestring
"slack""webhook""email""inapp"
channel_configobject
Channel settings; secret values are redacted in responses.
cadencestring
"realtime""hourly""daily""weekly"
paused_untilstring<date-time> nullable
next_due_atstring<date-time> nullable
created_atstring<date-time>
updated_atstring<date-time>
cURL JavaScript Python Go
curl -X POST 'https://shoehorn.example.com/api/v1/notifications/subscriptions' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY' \
-H 'Content-Type: application/json' \
-d '{}'const res = await fetch('https://shoehorn.example.com/api/v1/notifications/subscriptions', {
method: 'POST',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({}),
});
const data = await res.json();import os, requests
r = requests.post(
'https://shoehorn.example.com/api/v1/notifications/subscriptions',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
json={},
)
data = r.json()req, _ := http.NewRequest("POST", "https://shoehorn.example.com/api/v1/notifications/subscriptions", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
req.Header.Set("Content-Type", "application/json")
res, err := http.DefaultClient.Do(req)
Request body
required Content-Type: application/json
SubscriptionInput
11properties enabledboolean
Default: true
event_typesarray<string> *
min_severitystring
"critical""warning""info"
channel_typestring *
"slack""webhook""email""inapp"
channel_configobject
Channel settings. Secret values are encrypted on write.
cadencestring
"realtime""hourly""daily""weekly"
cadence_configobject
For non-realtime cadences: day_of_week (0-6), hour (0-23), minute (0-59).
cURL JavaScript Python Go
curl -X PUT 'https://shoehorn.example.com/api/v1/notifications/subscriptions/{id}' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY' \
-H 'Content-Type: application/json' \
-d '{}'const res = await fetch('https://shoehorn.example.com/api/v1/notifications/subscriptions/{id}', {
method: 'PUT',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({}),
});
const data = await res.json();import os, requests
r = requests.put(
'https://shoehorn.example.com/api/v1/notifications/subscriptions/{id}',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
json={},
)
data = r.json()req, _ := http.NewRequest("PUT", "https://shoehorn.example.com/api/v1/notifications/subscriptions/{id}", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
req.Header.Set("Content-Type", "application/json")
res, err := http.DefaultClient.Do(req) cURL JavaScript Python Go
curl -X DELETE 'https://shoehorn.example.com/api/v1/notifications/subscriptions/{id}' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/notifications/subscriptions/{id}', {
method: 'DELETE',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.delete(
'https://shoehorn.example.com/api/v1/notifications/subscriptions/{id}',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("DELETE", "https://shoehorn.example.com/api/v1/notifications/subscriptions/{id}", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req) cURL JavaScript Python Go
curl -X POST 'https://shoehorn.example.com/api/v1/notifications/subscriptions/{id}/test' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/notifications/subscriptions/{id}/test', {
method: 'POST',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.post(
'https://shoehorn.example.com/api/v1/notifications/subscriptions/{id}/test',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("POST", "https://shoehorn.example.com/api/v1/notifications/subscriptions/{id}/test", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req) Responses 200 Subscription resumed
Schema (application/json) cURL JavaScript Python Go
curl -X POST 'https://shoehorn.example.com/api/v1/notifications/subscriptions/{id}/resume' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/notifications/subscriptions/{id}/resume', {
method: 'POST',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.post(
'https://shoehorn.example.com/api/v1/notifications/subscriptions/{id}/resume',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("POST", "https://shoehorn.example.com/api/v1/notifications/subscriptions/{id}/resume", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req) cURL JavaScript Python Go
curl -X GET 'https://shoehorn.example.com/api/v1/notifications/subscriptions/{id}/deliveries' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/notifications/subscriptions/{id}/deliveries', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.get(
'https://shoehorn.example.com/api/v1/notifications/subscriptions/{id}/deliveries',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("GET", "https://shoehorn.example.com/api/v1/notifications/subscriptions/{id}/deliveries", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req) No operations match this filter.
/
Workloads cURL JavaScript Python Go
curl -X GET 'https://shoehorn.example.com/api/v1/operations/workloads' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/operations/workloads', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.get(
'https://shoehorn.example.com/api/v1/operations/workloads',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("GET", "https://shoehorn.example.com/api/v1/operations/workloads", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req) cURL JavaScript Python Go
curl -X GET 'https://shoehorn.example.com/api/v1/operations/workloads/stats' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/operations/workloads/stats', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.get(
'https://shoehorn.example.com/api/v1/operations/workloads/stats',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("GET", "https://shoehorn.example.com/api/v1/operations/workloads/stats", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req) Query parameters clusterstring
namespacestring
teamstring
ownerstring
Responses 200 Image statistics
Schema (application/json) object
4properties outdatedinteger
Images older than the platform's freshness threshold
400 Invalid filter value
cURL JavaScript Python Go
curl -X GET 'https://shoehorn.example.com/api/v1/operations/workloads/image-stats' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/operations/workloads/image-stats', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.get(
'https://shoehorn.example.com/api/v1/operations/workloads/image-stats',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("GET", "https://shoehorn.example.com/api/v1/operations/workloads/image-stats", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req) Query parameters clusterstring
namespacestring
teamstring
ownerstring
Responses 200 Replica statistics
Schema (application/json) cURL JavaScript Python Go
curl -X GET 'https://shoehorn.example.com/api/v1/operations/workloads/replica-stats' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/operations/workloads/replica-stats', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.get(
'https://shoehorn.example.com/api/v1/operations/workloads/replica-stats',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("GET", "https://shoehorn.example.com/api/v1/operations/workloads/replica-stats", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req) cURL JavaScript Python Go
curl -X GET 'https://shoehorn.example.com/api/v1/operations/workloads/network-policy-stats' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/operations/workloads/network-policy-stats', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.get(
'https://shoehorn.example.com/api/v1/operations/workloads/network-policy-stats',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("GET", "https://shoehorn.example.com/api/v1/operations/workloads/network-policy-stats", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req) cURL JavaScript Python Go
curl -X GET 'https://shoehorn.example.com/api/v1/operations/workloads/{id}' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/operations/workloads/{id}', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.get(
'https://shoehorn.example.com/api/v1/operations/workloads/{id}',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("GET", "https://shoehorn.example.com/api/v1/operations/workloads/{id}", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req) cURL JavaScript Python Go
curl -X GET 'https://shoehorn.example.com/api/v1/operations/workloads/{id}/pods' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/operations/workloads/{id}/pods', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.get(
'https://shoehorn.example.com/api/v1/operations/workloads/{id}/pods',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("GET", "https://shoehorn.example.com/api/v1/operations/workloads/{id}/pods", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req) cURL JavaScript Python Go
curl -X GET 'https://shoehorn.example.com/api/v1/operations/workloads/{id}/events' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/operations/workloads/{id}/events', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.get(
'https://shoehorn.example.com/api/v1/operations/workloads/{id}/events',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("GET", "https://shoehorn.example.com/api/v1/operations/workloads/{id}/events", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req) Query parameters timeRangestring
minConnectionsinteger
cURL JavaScript Python Go
curl -X GET 'https://shoehorn.example.com/api/v1/operations/workloads/{id}/network-flows' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/operations/workloads/{id}/network-flows', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.get(
'https://shoehorn.example.com/api/v1/operations/workloads/{id}/network-flows',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("GET", "https://shoehorn.example.com/api/v1/operations/workloads/{id}/network-flows", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req) Query parameters cluster_idstring
namespacestring
cURL JavaScript Python Go
curl -X GET 'https://shoehorn.example.com/api/v1/operations/zombies' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/operations/zombies', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.get(
'https://shoehorn.example.com/api/v1/operations/zombies',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("GET", "https://shoehorn.example.com/api/v1/operations/zombies", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req) GitOps Query parameters platform"argocd" | "fluxcd"
cluster_idstring
sync_status"synced" | "out_of_sync" | "unknown"
health_status"healthy" | "degraded" | "progressing" | "missing" | "unknown"
cURL JavaScript Python Go
curl -X GET 'https://shoehorn.example.com/api/v1/operations/gitops' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/operations/gitops', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.get(
'https://shoehorn.example.com/api/v1/operations/gitops',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("GET", "https://shoehorn.example.com/api/v1/operations/gitops", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req) cURL JavaScript Python Go
curl -X GET 'https://shoehorn.example.com/api/v1/operations/gitops/stats' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/operations/gitops/stats', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.get(
'https://shoehorn.example.com/api/v1/operations/gitops/stats',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("GET", "https://shoehorn.example.com/api/v1/operations/gitops/stats", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req) cURL JavaScript Python Go
curl -X GET 'https://shoehorn.example.com/api/v1/operations/gitops/{id}' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/operations/gitops/{id}', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.get(
'https://shoehorn.example.com/api/v1/operations/gitops/{id}',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("GET", "https://shoehorn.example.com/api/v1/operations/gitops/{id}", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req) cURL JavaScript Python Go
curl -X POST 'https://shoehorn.example.com/api/v1/operations/gitops/{id}/sync' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/operations/gitops/{id}/sync', {
method: 'POST',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.post(
'https://shoehorn.example.com/api/v1/operations/gitops/{id}/sync',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("POST", "https://shoehorn.example.com/api/v1/operations/gitops/{id}/sync", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req) cURL JavaScript Python Go
curl -X POST 'https://shoehorn.example.com/api/v1/operations/gitops/{id}/refresh' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/operations/gitops/{id}/refresh', {
method: 'POST',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.post(
'https://shoehorn.example.com/api/v1/operations/gitops/{id}/refresh',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("POST", "https://shoehorn.example.com/api/v1/operations/gitops/{id}/refresh", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req) NetworkFlows Query parameters timeRangestring
Window over which to aggregate. Examples: `15m`, `1h`, `24h`.
minConnectionsinteger
Drop edges below this connection count.
pageinteger
pageSizeinteger
cURL JavaScript Python Go
curl -X GET 'https://shoehorn.example.com/api/v1/operations/clusters/{clusterId}/network-flows' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/operations/clusters/{clusterId}/network-flows', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.get(
'https://shoehorn.example.com/api/v1/operations/clusters/{clusterId}/network-flows',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("GET", "https://shoehorn.example.com/api/v1/operations/clusters/{clusterId}/network-flows", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req) Query parameters timeRangestring
minConnectionsinteger
pageinteger
pageSizeinteger
cURL JavaScript Python Go
curl -X GET 'https://shoehorn.example.com/api/v1/operations/clusters/{clusterId}/network-flows/topology' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/operations/clusters/{clusterId}/network-flows/topology', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.get(
'https://shoehorn.example.com/api/v1/operations/clusters/{clusterId}/network-flows/topology',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("GET", "https://shoehorn.example.com/api/v1/operations/clusters/{clusterId}/network-flows/topology", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req) Query parameters timeRangestring
minConnectionsinteger
cURL JavaScript Python Go
curl -X GET 'https://shoehorn.example.com/api/v1/operations/clusters/{clusterId}/network-flows/stats' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/operations/clusters/{clusterId}/network-flows/stats', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.get(
'https://shoehorn.example.com/api/v1/operations/clusters/{clusterId}/network-flows/stats',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("GET", "https://shoehorn.example.com/api/v1/operations/clusters/{clusterId}/network-flows/stats", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req) GitOps Agent cURL JavaScript Python Go
curl -X POST 'https://shoehorn.example.com/api/v1/k8s/gitops/push' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/k8s/gitops/push', {
method: 'POST',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.post(
'https://shoehorn.example.com/api/v1/k8s/gitops/push',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("POST", "https://shoehorn.example.com/api/v1/k8s/gitops/push", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req) cURL JavaScript Python Go
curl -X GET 'https://shoehorn.example.com/api/v1/k8s/{clusterId}/gitops/commands' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/k8s/{clusterId}/gitops/commands', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.get(
'https://shoehorn.example.com/api/v1/k8s/{clusterId}/gitops/commands',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("GET", "https://shoehorn.example.com/api/v1/k8s/{clusterId}/gitops/commands", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req) Path parameters clusterIdstring required
commandIdstring required
cURL JavaScript Python Go
curl -X PATCH 'https://shoehorn.example.com/api/v1/k8s/{clusterId}/gitops/commands/{commandId}' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/k8s/{clusterId}/gitops/commands/{commandId}', {
method: 'PATCH',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.patch(
'https://shoehorn.example.com/api/v1/k8s/{clusterId}/gitops/commands/{commandId}',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("PATCH", "https://shoehorn.example.com/api/v1/k8s/{clusterId}/gitops/commands/{commandId}", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req) No operations match this filter.
/
OrgChart Responses 200 Org chart
Schema (application/json) object
1property teamsarray<OrgChartTeam>
12properties display_namestring nullable
descriptionstring nullable
parent_team_idstring<uuid> nullable
sub_team_idsarray<string<uuid>>
member_countinteger
Direct members.
total_member_countinteger
Direct members plus all descendants.
manager_user_idstring nullable
Highest-ranking team member (owner > manager > lead > team_lead).
manager_rolestring nullable
cURL JavaScript Python Go
curl -X GET 'https://shoehorn.example.com/api/v1/organization/org-chart' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/organization/org-chart', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.get(
'https://shoehorn.example.com/api/v1/organization/org-chart',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("GET", "https://shoehorn.example.com/api/v1/organization/org-chart", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req)
Request body
required Content-Type: application/json
object
1property updatesarray<object> *
2properties parent_team_idstring<uuid> nullable
Set null to make the team a root team.
Responses 200 Updates applied
Schema (application/json) object
2properties updatedinteger
Number of updates applied.
400 Returned for an empty `updates` array, an invalid UUID, or a
cycle. Cycles use the error code `CIRCULAR_REFERENCE`.
403 Caller lacks admin permission
cURL JavaScript Python Go
curl -X PUT 'https://shoehorn.example.com/api/v1/admin/org-chart' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY' \
-H 'Content-Type: application/json' \
-d '{}'const res = await fetch('https://shoehorn.example.com/api/v1/admin/org-chart', {
method: 'PUT',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({}),
});
const data = await res.json();import os, requests
r = requests.put(
'https://shoehorn.example.com/api/v1/admin/org-chart',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
json={},
)
data = r.json()req, _ := http.NewRequest("PUT", "https://shoehorn.example.com/api/v1/admin/org-chart", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
req.Header.Set("Content-Type", "application/json")
res, err := http.DefaultClient.Do(req) No operations match this filter.
/
Search Responses 200 Search results
Schema (application/json) object
4properties resultsarray<SearchResult>
8properties scorenumber
Relevance score
processing_time_msinteger
cURL JavaScript Python Go
curl -X GET 'https://shoehorn.example.com/api/v1/search' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/search', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.get(
'https://shoehorn.example.com/api/v1/search',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("GET", "https://shoehorn.example.com/api/v1/search", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req) No operations match this filter.
/
Security Responses 200 Security overview
Schema (application/json) object
4properties overall_gradestring
"A+""A""B""C""D""F"
findings_summaryobject
5properties cURL JavaScript Python Go
curl -X GET 'https://shoehorn.example.com/api/v1/security/overview' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/security/overview', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.get(
'https://shoehorn.example.com/api/v1/security/overview',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("GET", "https://shoehorn.example.com/api/v1/security/overview", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req) cURL JavaScript Python Go
curl -X GET 'https://shoehorn.example.com/api/v1/security/findings' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/security/findings', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.get(
'https://shoehorn.example.com/api/v1/security/findings',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("GET", "https://shoehorn.example.com/api/v1/security/findings", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req) cURL JavaScript Python Go
curl -X GET 'https://shoehorn.example.com/api/v1/security/findings/{id}' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/security/findings/{id}', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.get(
'https://shoehorn.example.com/api/v1/security/findings/{id}',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("GET", "https://shoehorn.example.com/api/v1/security/findings/{id}", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req) No operations match this filter.
/
Teams cURL JavaScript Python Go
curl -X GET 'https://shoehorn.example.com/api/v1/teams' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/teams', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.get(
'https://shoehorn.example.com/api/v1/teams',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("GET", "https://shoehorn.example.com/api/v1/teams", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req) cURL JavaScript Python Go
curl -X GET 'https://shoehorn.example.com/api/v1/teams/{id_or_slug}' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/teams/{id_or_slug}', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.get(
'https://shoehorn.example.com/api/v1/teams/{id_or_slug}',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("GET", "https://shoehorn.example.com/api/v1/teams/{id_or_slug}", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req) Admin Teams cURL JavaScript Python Go
curl -X GET 'https://shoehorn.example.com/api/v1/admin/teams' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/admin/teams', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.get(
'https://shoehorn.example.com/api/v1/admin/teams',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("GET", "https://shoehorn.example.com/api/v1/admin/teams", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req)
Request body
required Content-Type: application/json
CreateTeamRequest
5properties cURL JavaScript Python Go
curl -X POST 'https://shoehorn.example.com/api/v1/admin/teams' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY' \
-H 'Content-Type: application/json' \
-d '{}'const res = await fetch('https://shoehorn.example.com/api/v1/admin/teams', {
method: 'POST',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({}),
});
const data = await res.json();import os, requests
r = requests.post(
'https://shoehorn.example.com/api/v1/admin/teams',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
json={},
)
data = r.json()req, _ := http.NewRequest("POST", "https://shoehorn.example.com/api/v1/admin/teams", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
req.Header.Set("Content-Type", "application/json")
res, err := http.DefaultClient.Do(req) cURL JavaScript Python Go
curl -X GET 'https://shoehorn.example.com/api/v1/admin/teams/{id}' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/admin/teams/{id}', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.get(
'https://shoehorn.example.com/api/v1/admin/teams/{id}',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("GET", "https://shoehorn.example.com/api/v1/admin/teams/{id}", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req)
Request body
required Content-Type: application/json
UpdateTeamRequest
4properties cURL JavaScript Python Go
curl -X PUT 'https://shoehorn.example.com/api/v1/admin/teams/{id}' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY' \
-H 'Content-Type: application/json' \
-d '{}'const res = await fetch('https://shoehorn.example.com/api/v1/admin/teams/{id}', {
method: 'PUT',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({}),
});
const data = await res.json();import os, requests
r = requests.put(
'https://shoehorn.example.com/api/v1/admin/teams/{id}',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
json={},
)
data = r.json()req, _ := http.NewRequest("PUT", "https://shoehorn.example.com/api/v1/admin/teams/{id}", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
req.Header.Set("Content-Type", "application/json")
res, err := http.DefaultClient.Do(req) cURL JavaScript Python Go
curl -X DELETE 'https://shoehorn.example.com/api/v1/admin/teams/{id}' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/admin/teams/{id}', {
method: 'DELETE',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.delete(
'https://shoehorn.example.com/api/v1/admin/teams/{id}',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("DELETE", "https://shoehorn.example.com/api/v1/admin/teams/{id}", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req) cURL JavaScript Python Go
curl -X GET 'https://shoehorn.example.com/api/v1/admin/teams/{id}/members' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/admin/teams/{id}/members', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.get(
'https://shoehorn.example.com/api/v1/admin/teams/{id}/members',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("GET", "https://shoehorn.example.com/api/v1/admin/teams/{id}/members", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req)
Request body
required Content-Type: application/json
object
2properties rolestring *
"lead""member""viewer"
cURL JavaScript Python Go
curl -X POST 'https://shoehorn.example.com/api/v1/admin/teams/{id}/members' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY' \
-H 'Content-Type: application/json' \
-d '{}'const res = await fetch('https://shoehorn.example.com/api/v1/admin/teams/{id}/members', {
method: 'POST',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({}),
});
const data = await res.json();import os, requests
r = requests.post(
'https://shoehorn.example.com/api/v1/admin/teams/{id}/members',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
json={},
)
data = r.json()req, _ := http.NewRequest("POST", "https://shoehorn.example.com/api/v1/admin/teams/{id}/members", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
req.Header.Set("Content-Type", "application/json")
res, err := http.DefaultClient.Do(req) Path parameters idstring required
memberIdstring required
cURL JavaScript Python Go
curl -X DELETE 'https://shoehorn.example.com/api/v1/admin/teams/{id}/members/{memberId}' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/admin/teams/{id}/members/{memberId}', {
method: 'DELETE',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.delete(
'https://shoehorn.example.com/api/v1/admin/teams/{id}/members/{memberId}',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("DELETE", "https://shoehorn.example.com/api/v1/admin/teams/{id}/members/{memberId}", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req) cURL JavaScript Python Go
curl -X GET 'https://shoehorn.example.com/api/v1/admin/teams/{id}/mappings' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/admin/teams/{id}/mappings', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.get(
'https://shoehorn.example.com/api/v1/admin/teams/{id}/mappings',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("GET", "https://shoehorn.example.com/api/v1/admin/teams/{id}/mappings", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req)
Request body
required Content-Type: application/json
object
3properties rolestring
"lead""member""viewer"
cURL JavaScript Python Go
curl -X POST 'https://shoehorn.example.com/api/v1/admin/teams/{id}/mappings' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY' \
-H 'Content-Type: application/json' \
-d '{}'const res = await fetch('https://shoehorn.example.com/api/v1/admin/teams/{id}/mappings', {
method: 'POST',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({}),
});
const data = await res.json();import os, requests
r = requests.post(
'https://shoehorn.example.com/api/v1/admin/teams/{id}/mappings',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
json={},
)
data = r.json()req, _ := http.NewRequest("POST", "https://shoehorn.example.com/api/v1/admin/teams/{id}/mappings", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
req.Header.Set("Content-Type", "application/json")
res, err := http.DefaultClient.Do(req) Path parameters idstring required
mappingIdstring required
cURL JavaScript Python Go
curl -X DELETE 'https://shoehorn.example.com/api/v1/admin/teams/{id}/mappings/{mappingId}' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/admin/teams/{id}/mappings/{mappingId}', {
method: 'DELETE',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.delete(
'https://shoehorn.example.com/api/v1/admin/teams/{id}/mappings/{mappingId}',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("DELETE", "https://shoehorn.example.com/api/v1/admin/teams/{id}/mappings/{mappingId}", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req) cURL JavaScript Python Go
curl -X GET 'https://shoehorn.example.com/api/v1/admin/teams/{id}/roles' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/admin/teams/{id}/roles', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.get(
'https://shoehorn.example.com/api/v1/admin/teams/{id}/roles',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("GET", "https://shoehorn.example.com/api/v1/admin/teams/{id}/roles", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req)
Request body
required Content-Type: application/json
cURL JavaScript Python Go
curl -X POST 'https://shoehorn.example.com/api/v1/admin/teams/{id}/roles' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY' \
-H 'Content-Type: application/json' \
-d '{}'const res = await fetch('https://shoehorn.example.com/api/v1/admin/teams/{id}/roles', {
method: 'POST',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({}),
});
const data = await res.json();import os, requests
r = requests.post(
'https://shoehorn.example.com/api/v1/admin/teams/{id}/roles',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
json={},
)
data = r.json()req, _ := http.NewRequest("POST", "https://shoehorn.example.com/api/v1/admin/teams/{id}/roles", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
req.Header.Set("Content-Type", "application/json")
res, err := http.DefaultClient.Do(req) Path parameters idstring required
roleIdstring required
cURL JavaScript Python Go
curl -X DELETE 'https://shoehorn.example.com/api/v1/admin/teams/{id}/roles/{roleId}' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/admin/teams/{id}/roles/{roleId}', {
method: 'DELETE',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.delete(
'https://shoehorn.example.com/api/v1/admin/teams/{id}/roles/{roleId}',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("DELETE", "https://shoehorn.example.com/api/v1/admin/teams/{id}/roles/{roleId}", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req) No operations match this filter.
/
Users Responses 200 Current user profile
Schema (application/json) object
8properties teamsarray<string>
Team slugs the user belongs to
groupsarray<string>
IdP group names from JWT claims
cURL JavaScript Python Go
curl -X GET 'https://shoehorn.example.com/api/v1/me' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/me', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.get(
'https://shoehorn.example.com/api/v1/me',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("GET", "https://shoehorn.example.com/api/v1/me", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req) Query parameters limitinteger
cursorstring
searchstring
Responses 200 User directory
Schema (application/json) object
1property usersarray<User>
6properties last_loginstring<date-time>
created_atstring<date-time>
cURL JavaScript Python Go
curl -X GET 'https://shoehorn.example.com/api/v1/users' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/users', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.get(
'https://shoehorn.example.com/api/v1/users',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("GET", "https://shoehorn.example.com/api/v1/users", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req) Responses 200 User details
Schema (application/json) UserDetail
10properties last_loginstring<date-time>
created_atstring<date-time>
404 User not found
cURL JavaScript Python Go
curl -X GET 'https://shoehorn.example.com/api/v1/users/{id}' \
-H 'Authorization: Bearer $SHOEHORN_API_KEY'const res = await fetch('https://shoehorn.example.com/api/v1/users/{id}', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.SHOEHORN_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.get(
'https://shoehorn.example.com/api/v1/users/{id}',
headers={'Authorization': f'Bearer {os.environ["SHOEHORN_API_KEY"]}'},
)
data = r.json()req, _ := http.NewRequest("GET", "https://shoehorn.example.com/api/v1/users/{id}", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOEHORN_API_KEY"))
res, err := http.DefaultClient.Do(req) No operations match this filter.