Portal
Client portal authentication and profile endpoints
Request a magic link for portal access
AuthorizationBearer <token>
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
curl -X POST "http://localhost:18080/api/v1/portal/auth/request-magic-link" \ -H "Content-Type: application/json" \ -d '{ "email": "string", "tenantCode": "string" }'Empty
{
"detail": "string",
"time": "2019-08-24T14:15:22Z",
"title": "string"
}{
"detail": "string",
"time": "2019-08-24T14:15:22Z",
"title": "string"
}{
"detail": "string",
"time": "2019-08-24T14:15:22Z",
"title": "string"
}Validate a portal magic link token and receive auth tokens
AuthorizationBearer <token>
In: header
Query Parameters
token*string
Response Body
application/json
application/json
application/json
application/json
curl -X POST "http://localhost:18080/api/v1/portal/auth/validate?token=string"{
"accessExpiresUnix": 0,
"accessToken": "string",
"id": "string",
"refreshToken": "string",
"username": "string"
}{
"detail": "string",
"time": "2019-08-24T14:15:22Z",
"title": "string"
}{
"detail": "string",
"time": "2019-08-24T14:15:22Z",
"title": "string"
}{
"detail": "string",
"time": "2019-08-24T14:15:22Z",
"title": "string"
}Get current portal client profile
AuthorizationBearer <token>
In: header
Response Body
application/json
application/json
application/json
application/json
curl -X GET "http://localhost:18080/api/v1/portal/client"{
"avatar": {
"blobId": "string",
"height": 0,
"thumbnailBlobId": "string",
"width": 0
},
"billingAddress": {
"city": "string",
"country": "string",
"houseNumber": "string",
"id": "string",
"latitude": 0.1,
"longitude": 0.1,
"postalCode": "string",
"street": "string"
},
"email": "string",
"id": "string",
"name": "string",
"phone": "string"
}{
"detail": "string",
"time": "2019-08-24T14:15:22Z",
"title": "string"
}{
"detail": "string",
"time": "2019-08-24T14:15:22Z",
"title": "string"
}{
"detail": "string",
"time": "2019-08-24T14:15:22Z",
"title": "string"
}Get portal dashboard statistics
AuthorizationBearer <token>
In: header
Response Body
application/json
application/json
application/json
application/json
curl -X GET "http://localhost:18080/api/v1/portal/dashboard/stats"{
"currency": "string",
"openOrders": 0,
"pendingEstimates": 0,
"totalOutstanding": 0.1,
"unpaidInvoices": 0
}{
"detail": "string",
"time": "2019-08-24T14:15:22Z",
"title": "string"
}{
"detail": "string",
"time": "2019-08-24T14:15:22Z",
"title": "string"
}{
"detail": "string",
"time": "2019-08-24T14:15:22Z",
"title": "string"
}Get current portal user profile
AuthorizationBearer <token>
In: header
Response Body
application/json
application/json
application/json
application/json
curl -X GET "http://localhost:18080/api/v1/portal/me"{
"avatar": {
"blobId": "string",
"height": 0,
"thumbnailBlobId": "string",
"width": 0
},
"clientId": "string",
"clientName": "string",
"email": "string",
"firstName": "string",
"id": "string",
"lastName": "string"
}{
"detail": "string",
"time": "2019-08-24T14:15:22Z",
"title": "string"
}{
"detail": "string",
"time": "2019-08-24T14:15:22Z",
"title": "string"
}{
"detail": "string",
"time": "2019-08-24T14:15:22Z",
"title": "string"
}Get available portal sections based on tenant scopes
AuthorizationBearer <token>
In: header
Response Body
application/json
application/json
application/json
application/json
curl -X GET "http://localhost:18080/api/v1/portal/scopes"{
"configurator": true,
"finance": true,
"support": true
}{
"detail": "string",
"time": "2019-08-24T14:15:22Z",
"title": "string"
}{
"detail": "string",
"time": "2019-08-24T14:15:22Z",
"title": "string"
}{
"detail": "string",
"time": "2019-08-24T14:15:22Z",
"title": "string"
}