curl --request GET \
--url https://api.eu.linqalpha.com/v2/documents/{document_id}/presigned_url \
--header 'X-API-KEY: <api-key>'import requests
url = "https://api.eu.linqalpha.com/v2/documents/{document_id}/presigned_url"
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://api.eu.linqalpha.com/v2/documents/{document_id}/presigned_url', 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://api.eu.linqalpha.com/v2/documents/{document_id}/presigned_url",
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://api.eu.linqalpha.com/v2/documents/{document_id}/presigned_url"
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://api.eu.linqalpha.com/v2/documents/{document_id}/presigned_url")
.header("X-API-KEY", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.eu.linqalpha.com/v2/documents/{document_id}/presigned_url")
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{
"error": null,
"payload": {
"document_id": "123e4567-e89b-12d3-a456-426614174000",
"document_name": "document.pdf",
"presigned_url": "https://example.s3.amazonaws.com/...",
"expiration_seconds": 3600
}
}{
"error": {
"code": "INVALID_REQUEST_BODY",
"msg": "organization_id is required when search_type is rms",
"message": "organization_id is required when search_type is rms"
},
"payload": null
}{
"error": {
"code": "INVALID_REQUEST_BODY",
"msg": "query is required and must be a string",
"message": "query is required and must be a string"
},
"payload": "<unknown>"
}Presigned URL V2
Generates a temporary presigned URL for secure access to a document file. Supports both external documents (filings, transcripts, news) and RMS documents (Third Bridge transcripts, internal notes, EDS content).
Use search_type=rms to access RMS documents. Default is external (same behavior as V1).
For platform API keys, pass organization_id to specify which org’s documents to query. If omitted, defaults to the API key’s primary organization.
curl --request GET \
--url https://api.eu.linqalpha.com/v2/documents/{document_id}/presigned_url \
--header 'X-API-KEY: <api-key>'import requests
url = "https://api.eu.linqalpha.com/v2/documents/{document_id}/presigned_url"
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://api.eu.linqalpha.com/v2/documents/{document_id}/presigned_url', 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://api.eu.linqalpha.com/v2/documents/{document_id}/presigned_url",
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://api.eu.linqalpha.com/v2/documents/{document_id}/presigned_url"
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://api.eu.linqalpha.com/v2/documents/{document_id}/presigned_url")
.header("X-API-KEY", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.eu.linqalpha.com/v2/documents/{document_id}/presigned_url")
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{
"error": null,
"payload": {
"document_id": "123e4567-e89b-12d3-a456-426614174000",
"document_name": "document.pdf",
"presigned_url": "https://example.s3.amazonaws.com/...",
"expiration_seconds": 3600
}
}{
"error": {
"code": "INVALID_REQUEST_BODY",
"msg": "organization_id is required when search_type is rms",
"message": "organization_id is required when search_type is rms"
},
"payload": null
}{
"error": {
"code": "INVALID_REQUEST_BODY",
"msg": "query is required and must be a string",
"message": "query is required and must be a string"
},
"payload": "<unknown>"
}Search Type
Use thesearch_type parameter to specify which document source to query:
| search_type | Source | Document types |
|---|---|---|
external (default) | External documents | SEC filings, earnings transcripts, IR slides, news |
rms | RMS documents | User-uploaded notes, emails, Third Bridge transcripts, EDS content |
Quick Start
curl --request GET \
--url 'https://api.eu.linqalpha.com/v2/documents/767d83c9-9990-460d-8725-06d9f1b699ce/presigned_url' \
--header 'X-API-KEY: <api-key>'
curl --request GET \
--url 'https://api.eu.linqalpha.com/v2/documents/88ca5d94f625ac981f8a4b93422073b7/presigned_url?search_type=rms&organization_id=b898130a-d85e-4610-939d-c415231df8b7' \
--header 'X-API-KEY: <api-key>'
organization_id to specify which org’s documents to query. If omitted, defaults to the API key’s primary organization.Authorizations
Path Parameters
Document ID (from search/analytics references)
Query Parameters
Document source. external (default) returns external documents. rms returns documents from your Research Management System (RMS).
external, rms Organization ID. Recommended for search_type=rms and required for platform API keys. If omitted, defaults to the API key's primary organization.