Developer Platform

Mouradsoft API

Build against authenticated platform services for identity, workspace data, telemetry, and event automation with predictable status codes and typed payloads.

Base URL https://api.mouradsoft.com
Version v1
Auth Bearer token

Authentication

Pass a bearer token with every request.

Use a server-side API key to request a short-lived access token, then send that token through the Authorization header. Client applications should never ship private API keys.

Authorization: Bearer ms_live_eyJhbGciOi... Tokens expire after 60 minutes and can be refreshed through the auth endpoint.

Rate Limits & Errors

Status codes are consistent across services.

Code Meaning Action
200 Request completed successfully. Read the returned resource or pagination cursor.
400 Payload validation failed. Check required fields, enum values, and malformed JSON.
401 Missing, expired, or invalid credentials. Refresh the token or verify the bearer header.
429 Rate limit exceeded. Back off and retry after the returned reset timestamp.

Available Endpoints

Service categories for platform integration.

Identity Tokens, sessions, and account scopes
Data Workspace records, devices, and synced resources
Events Telemetry ingestion and automation hooks
POST

/v1/auth

Exchange a private API key for a short-lived bearer token scoped to a workspace.

Request Parameters

Field Type Required Description
api_key string Required Server-side key issued from the Mouradsoft developer console.
workspace_id string Required Workspace identifier for the session scope.

Response Fields

Field Type Description
access_token string Bearer token used for subsequent API calls.
expires_in number Token lifetime in seconds.
scope string Granted permissions for the token.
GET

/v1/data

Read workspace resources with cursor pagination and optional type filtering.

Request Parameters

Field Type Required Description
type string Optional Filter records by device, project, or document.
limit number Optional Number of records to return. Defaults to 25, maximum 100.
cursor string Optional Pagination cursor returned by the previous response.

Response Fields

Field Type Description
items array Matching resources for the workspace.
next_cursor string | null Cursor for the next page when more data is available.
POST

/v1/events

Send operational events from desktop agents, mobile apps, or automation services.

Request Parameters

Field Type Required Description
event_type string Required Namespaced event key such as device.booted.
source string Required Originating application, device, or integration name.
payload object Required Structured event data. Nested JSON objects are supported.

Response Fields

Field Type Description
event_id string Unique identifier assigned to the accepted event.
received_at string ISO 8601 timestamp for ingestion time.