Skip to content

Hi Skyflow team!

This is a sample of what your docs might look like on Starport, based on your public docs.

Take a look! Ask AI, search, the MCP server, and Markdown copies all work.

Starport is a free and open-source docs framework based on Starlight and maintained by Promptless. Promptless is the AI agent that automatically updates your customer-facing docs.

Every annual Promptless plan comes with white-glove migration to Starport, where we migrate the content, tune the result with you, and you own the repository so you're never locked in.

Book a 15-minute walkthrough

Sample migration of Skyflow docs to Starport, prepared by PromptlessBook 15-minute call

Get Record By ID

GET https://%7B%7Bvault_uri%7D%7D.vault.skyflowapis.com/v1/vaults/{vaultID}/{objectName}/{ID}

Returns the specified record from a table.

  • Authorization header (bearer token, required) — Access token, prefixed by Bearer .
  • https://%7B%7Bvault_uri%7D%7D.vault.skyflowapis.com (Production, default)
  • https://%7B%7Bvault_uri%7D%7D.vault.skyflowapis-preview.com (Sandbox)
  • vaultID (string, required)
  • objectName (string, required)
  • ID (string, required)
  • redaction (enum, optional)
    • Allowed values: DEFAULT, REDACTED, MASKED, PLAIN_TEXT
  • tokenization (boolean, optional)
  • fields (list of string, optional)
  • downloadURL (boolean, optional)
  • returnFileMetadata (boolean, optional)

OK

  • fields (map from string to any, optional) — Fields and values for the record. For example, {'field_1':'value_1', 'field_2':'value_2'}.
  • tokens (map from string to any, optional) — Fields and tokens for the record. For example, {'field_1':'token_1', 'field_2':'token_2'}.
  • fileMetadata (map from string to object, optional) — Metadata for the uploaded file, keyed by dynamic column name.
    • fileName (string, optional) — Name of the file, including the extension if provided.
    • fileSizeKB (uint, optional) — Size of the file in kilobytes (KB), rounded up from bytes to the nearest KB.
    • fileType (string, optional) — Type of the file, detected based on its content (MIME type).

Returned when the request is invalid or cannot be served.

Returned when the request is unauthorized.

Returned when a resource doesn’t exist.

Returned when the request is well-formed but contains semantic errors that prevent it from being processed.

An unexpected error response.

Response

{
"fields": {
"id_proof": "https://<aws-url>/f244fg04bgh876qemk6c3a32256e2k90/record_file/cd1d815aa09b4cbfbb803bd20349f202/c2d1debe468923c08f32470a9dh789f9/f1dbc55c-7c9b-495d-9a36-72bb2b619202/8fa99367cf58h5w296eaf15d6f42a4d237cbab65?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=<aws-credential>&X-Amz-Date=20230622T100910Z&X-Amz-Expires=900&X-Amz-SignedHeaders=host&X-Amz-Signature=<aws-signature>",
"name": "Brook",
"ssn": "167-45-7645"
}
}

SDK Code

import requests
url = "https://{{vault_uri}}.vault.skyflowapis.com/v1/vaults/vaultID/objectName/ID"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.json())
const url = 'https://{{vault_uri}}.vault.skyflowapis.com/v1/vaults/vaultID/objectName/ID';
const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
try {
const response = await fetch(url, options);
const data = await response.json();
console.log(data);
} catch (error) {
console.error(error);
}
package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://{{vault_uri}}.vault.skyflowapis.com/v1/vaults/vaultID/objectName/ID"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(res)
fmt.Println(string(body))
}
require 'uri'
require 'net/http'
url = URI("https://{{vault_uri}}.vault.skyflowapis.com/v1/vaults/vaultID/objectName/ID")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;
HttpResponse<String> response = Unirest.get("https://{{vault_uri}}.vault.skyflowapis.com/v1/vaults/vaultID/objectName/ID")
.header("Authorization", "Bearer <token>")
.asString();
<?php
require_once('vendor/autoload.php');
$client = new \GuzzleHttp\Client();
$response = $client->request('GET', 'https://{{vault_uri}}.vault.skyflowapis.com/v1/vaults/vaultID/objectName/ID', [
'headers' => [
'Authorization' => 'Bearer <token>',
],
]);
echo $response->getBody();
using RestSharp;
var client = new RestClient("https://{{vault_uri}}.vault.skyflowapis.com/v1/vaults/vaultID/objectName/ID");
var request = new RestRequest(Method.GET);
request.AddHeader("Authorization", "Bearer <token>");
IRestResponse response = client.Execute(request);
import Foundation
let headers = ["Authorization": "Bearer <token>"]
let request = NSMutableURLRequest(url: NSURL(string: "https://{{vault_uri}}.vault.skyflowapis.com/v1/vaults/vaultID/objectName/ID")! as URL,
cachePolicy: .useProtocolCachePolicy,
timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers
let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
if (error != nil) {
print(error as Any)
} else {
let httpResponse = response as? HTTPURLResponse
print(httpResponse)
}
})
dataTask.resume()