Request access to a mentioned record
Requires the configured page-editor feature (spaces by default) and current subject/page access. Workspace pages use a null subject; subject pages inherit their space access. The document must occur in an accessible page. Search and recent additionally require edit access to an active page. Read resolution never grants access to the mentioned record. The record must occur in the page. Notifies up to fifty current access managers; repeats within 24 hours reuse the request. If already visible, requested is false and already_visible is true. This endpoint does not change permissions.
curl --request POST \
--url https://api.gratona.com/v1/admin/mentions/request-access \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"document_uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"kind": "record",
"related_type": "<string>",
"related_id": 2,
"note": "<string>"
}
'import requests
url = "https://api.gratona.com/v1/admin/mentions/request-access"
payload = {
"document_uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"kind": "record",
"related_type": "<string>",
"related_id": 2,
"note": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
document_uuid: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
kind: 'record',
related_type: '<string>',
related_id: 2,
note: '<string>'
})
};
fetch('https://api.gratona.com/v1/admin/mentions/request-access', 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.gratona.com/v1/admin/mentions/request-access",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'document_uuid' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'kind' => 'record',
'related_type' => '<string>',
'related_id' => 2,
'note' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.gratona.com/v1/admin/mentions/request-access"
payload := strings.NewReader("{\n \"document_uuid\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"kind\": \"record\",\n \"related_type\": \"<string>\",\n \"related_id\": 2,\n \"note\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.gratona.com/v1/admin/mentions/request-access")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"document_uuid\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"kind\": \"record\",\n \"related_type\": \"<string>\",\n \"related_id\": 2,\n \"note\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.gratona.com/v1/admin/mentions/request-access")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"document_uuid\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"kind\": \"record\",\n \"related_type\": \"<string>\",\n \"related_id\": 2,\n \"note\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"data": {
"key": "<string>",
"requested": true,
"requested_at": "2023-11-07T05:31:56Z",
"already_visible": true
}
}{
"message": "Unauthorized",
"status": "error"
}{
"message": "Something went wrong. Please try again.",
"status": "error",
"error": "invalid_request",
"code": "DONOR_NOT_FOUND"
}{
"message": "Not Found",
"status": "error"
}{
"errors": {},
"status": "error",
"message": "The given data was invalid."
}{
"message": "Something went wrong. Please try again.",
"status": "error",
"error": "invalid_request",
"code": "DONOR_NOT_FOUND"
}Authorizations
Passport bearer token authentication for legacy admin sessions.
Body
Request fields accepted by this operation. Omitted optional properties retain the behavior described above.
Validation: required|uuid.
Validation: required|in:record.
record Validation: required|string|max:32.
32Validation: required|integer|min:1.
x >= 1Validation: nullable|string|max:500.
500Response
Request access to a mentioned record response.
Show child attributes
Show child attributes
curl --request POST \
--url https://api.gratona.com/v1/admin/mentions/request-access \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"document_uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"kind": "record",
"related_type": "<string>",
"related_id": 2,
"note": "<string>"
}
'import requests
url = "https://api.gratona.com/v1/admin/mentions/request-access"
payload = {
"document_uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"kind": "record",
"related_type": "<string>",
"related_id": 2,
"note": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
document_uuid: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
kind: 'record',
related_type: '<string>',
related_id: 2,
note: '<string>'
})
};
fetch('https://api.gratona.com/v1/admin/mentions/request-access', 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.gratona.com/v1/admin/mentions/request-access",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'document_uuid' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'kind' => 'record',
'related_type' => '<string>',
'related_id' => 2,
'note' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.gratona.com/v1/admin/mentions/request-access"
payload := strings.NewReader("{\n \"document_uuid\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"kind\": \"record\",\n \"related_type\": \"<string>\",\n \"related_id\": 2,\n \"note\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.gratona.com/v1/admin/mentions/request-access")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"document_uuid\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"kind\": \"record\",\n \"related_type\": \"<string>\",\n \"related_id\": 2,\n \"note\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.gratona.com/v1/admin/mentions/request-access")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"document_uuid\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"kind\": \"record\",\n \"related_type\": \"<string>\",\n \"related_id\": 2,\n \"note\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"data": {
"key": "<string>",
"requested": true,
"requested_at": "2023-11-07T05:31:56Z",
"already_visible": true
}
}{
"message": "Unauthorized",
"status": "error"
}{
"message": "Something went wrong. Please try again.",
"status": "error",
"error": "invalid_request",
"code": "DONOR_NOT_FOUND"
}{
"message": "Not Found",
"status": "error"
}{
"errors": {},
"status": "error",
"message": "The given data was invalid."
}{
"message": "Something went wrong. Please try again.",
"status": "error",
"error": "invalid_request",
"code": "DONOR_NOT_FOUND"
}