curl --request GET \
--url https://code.deepline.com/api/v2/search \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://code.deepline.com/api/v2/search', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://code.deepline.com/api/v2/search"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"results": [
{
"id": "<string>",
"kind": "tool",
"displayName": "<string>",
"description": "<string>"
}
],
"kinds": [
"<string>"
],
"search_ref": "<string>",
"count": 123,
"total": 123,
"offset": 123,
"limit": 123,
"next_offset": 123,
"total_is_exact": true,
"may_have_more": true,
"truncated": true,
"query": "<string>",
"categories": [
"<string>"
],
"search_terms": [
"<string>"
]
}{
"error": "Unauthorized"
}{
"error": "Unauthorized"
}{
"error": "Unauthorized"
}Search tools, monitor types, and plays
One ranked search across everything Deepline can run, deploy, or explain. Each result carries a kind: tool, monitor_type, prebuilt_play, or custom_play. The workspace’s own (custom) plays are ranked with a small boost. Ranking uses a third-party AI relevance model, which is sent only each custom play’s name and description; play code, inputs, and run data are never shared with it.
curl --request GET \
--url https://code.deepline.com/api/v2/search \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://code.deepline.com/api/v2/search', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://code.deepline.com/api/v2/search"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"results": [
{
"id": "<string>",
"kind": "tool",
"displayName": "<string>",
"description": "<string>"
}
],
"kinds": [
"<string>"
],
"search_ref": "<string>",
"count": 123,
"total": 123,
"offset": 123,
"limit": 123,
"next_offset": 123,
"total_is_exact": true,
"may_have_more": true,
"truncated": true,
"query": "<string>",
"categories": [
"<string>"
],
"search_terms": [
"<string>"
]
}{
"error": "Unauthorized"
}{
"error": "Unauthorized"
}{
"error": "Unauthorized"
}Authorization: Bearer <key>.
Errors
| Status | Meaning |
|---|---|
| 400 | The request conflicts with current state or a retained request identity. |
| 401 | The request conflicts with current state or a retained request identity. |
| 500 | The request conflicts with current state or a retained request identity. |
Authorizations
Create a workspace API key in the Deepline dashboard before calling authenticated endpoints.
Query Parameters
The task or capability to search for. Omit when filtering only by categories or search_terms.
Comma-separated kinds to search: tools, monitors, prebuilts, custom, or plays (prebuilts and custom). Omit to search everything.
Comma-separated kinds to leave out, using the same names as types. Applied after types.
Comma-separated tool categories to filter.
Comma-separated capability terms to rank and filter by, including when q is empty.
Maximum ranked results to return.
1 <= x <= 50Zero-based offset into the ranked result set.
x >= 0Optional. What the caller is trying to accomplish, in one sentence: the input it has and the result it needs, not a restatement of q. Used to rank candidates; up to 300 characters are used.
Response
A successful Runtime API response.