curl --request GET \
--url https://odyssey.asteroid.ai/agents/v2/vault/share-links \
--header 'X-Api-Key: <api-key>'import requests
url = "https://odyssey.asteroid.ai/agents/v2/vault/share-links"
headers = {"X-Api-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-Api-Key': '<api-key>'}};
fetch('https://odyssey.asteroid.ai/agents/v2/vault/share-links', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://odyssey.asteroid.ai/agents/v2/vault/share-links",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-Api-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://odyssey.asteroid.ai/agents/v2/vault/share-links"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-Api-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://odyssey.asteroid.ai/agents/v2/vault/share-links")
.header("X-Api-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://odyssey.asteroid.ai/agents/v2/vault/share-links")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-Api-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body[
{
"createdAt": "2023-11-07T05:31:56Z",
"createdBy": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"expiresAt": "2023-11-07T05:31:56Z",
"failedSubmits": 123,
"fields": [
{
"key": "<string>",
"label": "<string>",
"required": true,
"type": "username",
"hint": "<string>"
}
],
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"itemKey": "<string>",
"kind": "login",
"name": "<string>",
"organizationId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"status": "pending",
"steps": [
{
"fieldKeys": [
"<string>"
],
"key": "<string>",
"title": "<string>",
"instructions": "<string>"
}
],
"title": "<string>",
"updatedAt": "2023-11-07T05:31:56Z",
"completedAt": "2023-11-07T05:31:56Z",
"description": "<string>",
"lastFailedSubmitAt": "2023-11-07T05:31:56Z",
"resultItemId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"submittedIp": "<string>",
"submittedUserAgent": "<string>",
"templateId": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
]{
"code": 400,
"message": "<string>"
}{
"code": 401,
"message": "<string>"
}{
"code": 403,
"message": "<string>"
}{
"code": 404,
"message": "<string>"
}{
"code": 500,
"message": "<string>"
}List Vault Share Links
curl --request GET \
--url https://odyssey.asteroid.ai/agents/v2/vault/share-links \
--header 'X-Api-Key: <api-key>'import requests
url = "https://odyssey.asteroid.ai/agents/v2/vault/share-links"
headers = {"X-Api-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-Api-Key': '<api-key>'}};
fetch('https://odyssey.asteroid.ai/agents/v2/vault/share-links', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://odyssey.asteroid.ai/agents/v2/vault/share-links",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-Api-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://odyssey.asteroid.ai/agents/v2/vault/share-links"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-Api-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://odyssey.asteroid.ai/agents/v2/vault/share-links")
.header("X-Api-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://odyssey.asteroid.ai/agents/v2/vault/share-links")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-Api-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body[
{
"createdAt": "2023-11-07T05:31:56Z",
"createdBy": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"expiresAt": "2023-11-07T05:31:56Z",
"failedSubmits": 123,
"fields": [
{
"key": "<string>",
"label": "<string>",
"required": true,
"type": "username",
"hint": "<string>"
}
],
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"itemKey": "<string>",
"kind": "login",
"name": "<string>",
"organizationId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"status": "pending",
"steps": [
{
"fieldKeys": [
"<string>"
],
"key": "<string>",
"title": "<string>",
"instructions": "<string>"
}
],
"title": "<string>",
"updatedAt": "2023-11-07T05:31:56Z",
"completedAt": "2023-11-07T05:31:56Z",
"description": "<string>",
"lastFailedSubmitAt": "2023-11-07T05:31:56Z",
"resultItemId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"submittedIp": "<string>",
"submittedUserAgent": "<string>",
"templateId": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
]{
"code": 400,
"message": "<string>"
}{
"code": 401,
"message": "<string>"
}{
"code": 403,
"message": "<string>"
}{
"code": 404,
"message": "<string>"
}{
"code": 500,
"message": "<string>"
}Authorizations
Query Parameters
Response
The request has succeeded.
Submits that resolved this link but did not complete it: invalid values, a dead link, or a lost race.
Show child attributes
Show child attributes
Derived from name: kebab-case. Unique per organisation. Reserved while the link is pending.
1 - 64^[a-z0-9]+(?:-[a-z0-9]+)*$Kind of vault item. Templates and items need at least one field. Completeness is per-field required.
login, api_key, card, custom Item name the submit will create.
1 - 200Lifecycle of a share link. expired is derived from expiresAt; the other three are stored.
pending, completed, expired, revoked 20Show child attributes
Show child attributes
1 - 2002000When the most recent failed submit happened.
Item created by the submit. Set when status is completed.
Client address the completing submit came from. Set when status is completed.
User agent of the completing submit. Set when status is completed.
Template the blueprint was copied from. Provenance only.

