⚠️ Porta is in beta — APIs and features may change before v1.0
Skip to content

Custom Claims API

Manage custom claim definitions and user claim values.

Claim Definitions

Base path: /api/admin/applications/:appId/claims

Create Claim Definition

http
POST /api/admin/applications/:appId/claims
FieldTypeRequiredDescription
namestringClaim name
claim_typestringstring, number, boolean, or json
descriptionstringDescription
validation_rulesobjectType-specific validation rules
json
{
  "name": "department",
  "claim_type": "string",
  "description": "Employee department",
  "validation_rules": {
    "required": true,
    "enum": ["Engineering", "Sales", "Marketing", "Support"]
  }
}

Response: 201 Created

List Claim Definitions

http
GET /api/admin/applications/:appId/claims

Response: 200 OK — All claim definitions for the application.

Get Claim Definition

http
GET /api/admin/applications/:appId/claims/:claimId

Update Claim Definition

http
PUT /api/admin/applications/:appId/claims/:claimId
FieldTypeDescription
descriptionstringUpdated description
validation_rulesobjectUpdated validation rules

Archive Claim Definition

http
POST /api/admin/applications/:appId/claims/:claimId/archive

User Claim Values

Set User Claim Value

http
PUT /api/admin/applications/:appId/claims/:claimId/users/:userId
FieldTypeRequiredDescription
valueanyValue matching the claim's type

The value is validated against the claim definition's validation_rules before storage.

json
{ "value": "Engineering" }

Response: 200 OK

Get User Claim Value

http
GET /api/admin/applications/:appId/claims/:claimId/users/:userId

Remove User Claim Value

http
DELETE /api/admin/applications/:appId/claims/:claimId/users/:userId

List All Claim Values for a User

http
GET /api/admin/applications/:appId/claims/users/:userId

Response: 200 OK — All claim values for the user within the application.

Released under the MIT License.