curl --request POST \
--url https://odyssey.asteroid.ai/agents/v2/vault/share-links/{linkId}/revoke \
--header 'X-Api-Key: <api-key>'import requests
url = "https://odyssey.asteroid.ai/agents/v2/vault/share-links/{linkId}/revoke"
headers = {"X-Api-Key": "<api-key>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {'X-Api-Key': '<api-key>'}};
fetch('https://odyssey.asteroid.ai/agents/v2/vault/share-links/{linkId}/revoke', 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/{linkId}/revoke",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
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/{linkId}/revoke"
req, _ := http.NewRequest("POST", 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.post("https://odyssey.asteroid.ai/agents/v2/vault/share-links/{linkId}/revoke")
.header("X-Api-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://odyssey.asteroid.ai/agents/v2/vault/share-links/{linkId}/revoke")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.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": 409,
"message": "<string>"
}{
"code": 500,
"message": "<string>"
}Revoke Vault Share Link
curl --request POST \
--url https://odyssey.asteroid.ai/agents/v2/vault/share-links/{linkId}/revoke \
--header 'X-Api-Key: <api-key>'import requests
url = "https://odyssey.asteroid.ai/agents/v2/vault/share-links/{linkId}/revoke"
headers = {"X-Api-Key": "<api-key>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {'X-Api-Key': '<api-key>'}};
fetch('https://odyssey.asteroid.ai/agents/v2/vault/share-links/{linkId}/revoke', 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/{linkId}/revoke",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
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/{linkId}/revoke"
req, _ := http.NewRequest("POST", 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.post("https://odyssey.asteroid.ai/agents/v2/vault/share-links/{linkId}/revoke")
.header("X-Api-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://odyssey.asteroid.ai/agents/v2/vault/share-links/{linkId}/revoke")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.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": 409,
"message": "<string>"
}{
"code": 500,
"message": "<string>"
}Authorizations
Path Parameters
Response
The request has succeeded.
A credential request. The recipient opens the link with no session, fills in the values, and one submit creates the vault item. The field blueprint is frozen at create.
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.

