PRAEMUNIO API
    • Praemunio API - v1
    • AUTHENTICATION
      • API KEY Authentification
        POST
    • CORE
      • Teams
        • Members
          • Get Team Members
          • Add Team Member
          • Add Team Member Copy
        • Get Account Teams
        • Create Team
        • Get Team Details
        • Update Team Data
        • Delete Team
        • Get Team Data
        • Get Team workspaces
        • Get Team logs
      • Workspaces
        • Get Account Drive
        • Get Workspaces By Team
        • Create New Workspace
        • Get Workspace Details
        • Get Team Workspaces
        • Update workspace
        • Delete workspace
      • Folders
        • Get Folders
        • Create Folder
        • Get Folder Details
        • Get Folder Content
        • Update Folder
        • Delete Folder
        • Move Folder
      • Documents
        • Get Document Info
        • Get Document By Workspace
        • Update Document
        • Delete Document
        • Archive Document
        • Restore Document
        • Move Document
        • Stream Document
        • Stream Document Copy
        • Upload Document

    CORE

    Core API Overview & Resource Hierarchy#

    Praemunio API • Version 1 • Developer Documentation
    The Praemunio Core API provides the structural foundation for multi-tenant enterprise document governance, team collaboration, workspace isolation, directory organization, and cryptographic asset management.
    KeyValue
    Base URLhttps://api.praemunio.org/api/v1
    FormatJSON (Content-Type: application/json)
    AuthenticationBearer Token (Authorization: Bearer <access_token>)
    Documentationdocs.praemunio.io

    Table of contents#

    1.
    Architectural Overview
    2.
    Resource Hierarchy & Data Model
    3.
    Global Request & Response Format
    4.
    Pagination Standard
    5.
    Authentication & Scopes Matrix
    6.
    Core Webhook Events
    7.
    Global Errors Reference
    8.
    Module Navigation

    1. Architectural Overview#

    The Praemunio Core ecosystem is built around four primary structural entities that work together to guarantee strict data segregation, fine-grained access delegation, and immutable auditability.

    Core Entities#

    Account: The primary identity (user or organization) holding credentials, billing configurations, global settings, and API keys.
    Team: A collaborative group of users sharing permission templates, member roles, invitations, and workspace access rules.
    Workspace: A dedicated work and storage environment bound to a team, featuring configurable storage quotas and drive properties.
    Folder: A directory node within a workspace enabling tree structures, path inheritance, and single/batch asset organization.
    Document: The atomic file asset managed by Praemunio, featuring cryptographic proofing, status state machine, pre-signed downloads, streaming, and public link sharing.

    2. Resource Hierarchy & Data Model#

    The entity relationships follow a strict parent-child relational model with full cascading governance and isolated permission evaluation.

    Resource Identifiers#

    All Core resource IDs (team_id, workspace_id, folder_id, document_id, account_id) are globally unique UUIDv4 strings (e.g. a3f8e9d2-1a4b-4c7e-9f3a-2b8c6d4e1f0a).

    3. Global Request & Response Format#

    All API requests accepting a JSON payload must include the Content-Type: application/json header. Standard API responses are always wrapped in a unified envelope structure (ApiResponse<T>).

    Standard Success Envelope (200 OK / 201 Created)#

    {
      "success": true,
      "message": "Operation executed successfully",
      "result": {
        "id": "a3f8e9d2-1a4b-4c7e-9f3a-2b8c6d4e1f0a",
        "name": "Production Workspace",
        "created_at": "2026-09-30T10:00:00.000Z"
      },
      "errors": null,
      "except": null
    }

    Standard Error Envelope (4xx / 5xx)#

    {
      "success": false,
      "message": "Validation failed or resource unavailable",
      "result": null,
      "errors": "Invalid parameter 'workspace_id': Must be a valid UUIDv4 string",
      "except": {
        "code": "invalid_request",
        "status": 400
      }
    }

    4. Pagination Standard#

    Endpoints returning lists of resources support standardized offset-based pagination via query parameters:
    Query ParameterTypeDefaultDescription
    pageinteger1Page number to retrieve (1-indexed)
    limitinteger20Maximum items per page (Max: 100)

    Paginated Response Envelope (PaginatedApiResponse<T>)#

    {
      "success": true,
      "message": "Resources retrieved successfully",
      "result": {
        "data": [
          {
            "id": "a3f8e9d2-1a4b-4c7e-9f3a-2b8c6d4e1f0a",
            "name": "Legal Documents"
          }
        ],
        "meta": {
          "total": 45,
          "per_page": 20,
          "current_page": 1,
          "last_page": 3,
          "first_page": 1,
          "total_pages": 3,
          "has_next": true,
          "has_prev": false,
          "from": 1,
          "to": 20
        }
      },
      "errors": null,
      "except": null
    }

    5. Authentication & Scopes Matrix#

    Access to Core API endpoints requires an HTTP Authorization header containing a valid JWT access token generated via the /auth/api-key endpoint:

    Scope Requirements Matrix#

    ResourceScopePermitted Actions
    Teamsteams:readView team profile, member lists, invitations, permission templates, audit logs
    teams:writeCreate/update teams, send invitations, create/update permission templates
    teams:deleteDelete team, revoke invitations, remove team members
    Workspacesworkspaces:readList workspaces, view Drive overview, inspect workspace details and root content
    workspaces:writeCreate and update workspaces, update workspace status or storage limits
    workspaces:deleteDelete workspace and purge workspace storage
    Foldersfolders:readInspect folder metadata, list workspace folders, retrieve folder child content
    folders:writeCreate folders, update name/description, move folders, batch update folders
    folders:deleteDelete folder and purge sub-tree
    Documentsdocuments:readInspect document metadata, list workspace files, stream binary payload, get download URLs
    documents:writeUpload files, update metadata, update status, rename, move, archive, restore
    documents:deleteSoft-delete or permanently remove document
    documents:shareGenerate public sharing links with expiration TTLs

    6. Core Webhook Events#

    Praemunio dispatches real-time HMAC-SHA256 signed webhook payloads when Core resources change state:
    Event NameTrigger Condition
    team.createdA new team has been created
    team.member_addedAn invited user accepted membership
    workspace.createdA new workspace was initialized
    folder.createdA folder was added to a workspace
    folder.movedA folder or batch of folders was relocated
    document.uploadedA new file was successfully uploaded
    document.status_changedDocument status transitioned (e.g. pending -> completed)
    document.archivedA document was moved to archive
    document.restoredA document was restored from archive

    7. Global Errors Reference#

    HTTP CodeError CodeDescriptionRecommended Action
    400 Bad Requestinvalid_requestQuery/Body parameter malformed or missing required UUIDCheck request payload and schema
    401 Unauthorizedinvalid_credentialsMissing or expired JWT access tokenRenew access token via /auth/refresh-token
    403 Forbiddeninsufficient_scopesAccess token missing required resource scopeRequest a token with appropriate scope
    404 Not Foundnot_foundTarget resource ID does not existVerify UUID parameter
    409 Conflictresource_conflictUnique constraint violation (e.g. duplicate team name)Choose a unique resource name
    429 Too Many Requestsrate_limit_exceededHourly request quota exhaustedHonor X-RateLimit-Reset header
    500 Internal Errorinternal_errorServer processing failureRetry with exponential backoff

    8. Module Navigation#

    Explore detailed API references for each Core module:
    Teams API Documentation
    Workspaces API Documentation
    Folders API Documentation
    Documents API Documentation

    Support#

    For technical inquiries or API support, contact the Praemunio Engineering Team via docs.praemunio.io.
    Modified at 2026-09-30 10:20:30
    Previous
    API KEY Authentification
    Next
    Teams
    Built with