Ask for access to a portal, or ask its brand team
POST
/api/v1/portal/{slug}/requests
const url = 'http://localhost:3000/api/v1/portal/example/requests';const options = { method: 'POST', headers: {'Content-Type': 'application/json'}, body: '{"email":"hello@example.com","name":"example","note":"example","kind":"access","page":"example","section":"example"}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url http://localhost:3000/api/v1/portal/example/requests \ --header 'Content-Type: application/json' \ --data '{ "email": "hello@example.com", "name": "example", "note": "example", "kind": "access", "page": "example", "section": "example" }'Access (kind access, the default) is for a password or members portal. The project’s admins hear about it. It answers the same whoever asks, and asking twice while one waits is one request. A request section’s ask (kind asset, review or question) works on any portal, says the page and section it came from, and needs what reading that page needs (X-Portal-Password or X-Portal-Key, or a member’s session), else 401. The page must be one the visitor can read and section a request section on it; access takes neither.
No key needed.
Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”slug
required
string
The portal’s address
Request Bodyrequired
Section titled “Request Bodyrequired”Media typeapplication/json
object
email
required
string format: email
name
string
note
Who you are and what you need it for
string
kind
Access when left out; a request section asks for an asset, a review or an answer
string
page
The page a request section sits on
string
section
The request section, by id
string
Responses
Section titled “Responses”Received
Media typeapplication/json
object
data
required
object
received
required
boolean
Example
{ "data": { "received": true }}default
Section titled “default”An error
Media typeapplication/json
object
error
required
object
code
required
string
message
required
string
detail
Examplegenerated
{ "error": { "code": "example", "message": "example", "detail": "example" }}