Skip to main content

Institution Endpoints

Complete reference for institution and organization management endpoints.

Base URL​

https://api.govalid.org/api/v1/institution/

Institution Settings​

Get Settings​

GET /api/v1/institution/settings/

Response​

{
"id": "inst-001",
"name": "Acme Corporation",
"type": "business",
"departments_count": 5,
"staff_count": 50,
"settings": {
"default_security_level": "verified",
"require_approval": true,
"quota_enabled": true
}
}

Update Settings​

PATCH /api/v1/institution/settings/

Departments​

List Departments​

GET /api/v1/institution/departments/

Response​

{
"count": 5,
"results": [
{
"id": "dept-001",
"name": "Quality Assurance",
"staff_count": 10,
"quota": {
"qr_codes_per_month": 500,
"used": 250
},
"created_at": "2025-01-01T00:00:00Z"
}
]
}

Create Department​

POST /api/v1/institution/departments/

Request Body​

{
"name": "Quality Assurance",
"description": "Product quality and verification",
"quota": {
"qr_codes_per_month": 500
}
}

Update Department​

PATCH /api/v1/institution/departments/{id}/

Delete Department​

DELETE /api/v1/institution/departments/{id}/

Roles​

List Roles​

GET /api/v1/institution/roles/

Response​

{
"count": 4,
"results": [
{
"id": "role-001",
"name": "Admin",
"permissions": ["create_qr", "manage_staff", "view_analytics", "manage_billing"],
"staff_count": 3
},
{
"id": "role-002",
"name": "Operator",
"permissions": ["create_qr", "view_analytics"],
"staff_count": 20
}
]
}

Create Role​

POST /api/v1/institution/roles/

Request Body​

{
"name": "Verifier",
"permissions": ["create_qr", "verify_qr"]
}

Numbering Patterns​

List Patterns​

GET /api/v1/institution/patterns/

Create Pattern​

POST /api/v1/institution/patterns/

Request Body​

{
"name": "Certificate Pattern",
"pattern": "CERT-{YYYY}-{SEQ}",
"prefix": "CERT",
"sequence_length": 4
}

Document Types​

List Document Types​

GET /api/v1/institution/document-types/

Create Document Type​

POST /api/v1/institution/document-types/

Request Body​

{
"name": "Certificate",
"description": "Product certification documents",
"numbering_pattern": "pattern-001",
"required_fields": ["product_name", "batch", "issue_date"]
}

Quota Settings​

Get Quota Settings​

GET /api/v1/institution/quota/

Update Quota​

PATCH /api/v1/institution/quota/

Request Body​

{
"department_id": "dept-001",
"qr_codes_per_month": 1000
}

Staff Management​

List Staff Members​

GET /api/v1/institution/staff/

Invite Staff Member​

POST /api/v1/institution/staff/invite/

Request Body​

{
"email": "[email protected]",
"role_id": "role-002",
"department_id": "dept-001"
}

Approve/Reject Staff Verification​

POST /api/v1/institution/staff/{id}/approve/
POST /api/v1/institution/staff/{id}/reject/