Materials API

Access Aevum Zenth's advanced materials science database, track synthesis batches, query compositional data, and manage inventory across our global R&D and manufacturing facilities. The Materials API provides programmatic access to nanomaterials, superalloys, polymers, and metamaterials.

ℹ️
This documentation covers the Materials v2 API. Legacy v1 endpoints are deprecated and will sunset on 2026-09-01. Migration guide available here.

Base URL & Versioning

All requests to the Materials API must be routed through our secure gateway. API versioning is handled via URL path prefix.

Base URL
https://api.aevumzenth.com/v2/materials

Authentication

Authenticate all API requests using an API key or OAuth 2.0 Bearer token. Keys can be generated from the Developer Console.

API Key (Recommended for Server-to-Server)

curl
curl https://api.aevumzenth.com/v2/materials/catalog \
  -H "Authorization: Bearer ak_prod_7x9m..." \
  -H "X-AZ-Env: production"

OAuth 2.0

For client-side applications or delegated access, use OAuth 2.0 with PKCE. Supported scopes: materials:read, materials:write, synthesis:execute.

GET /catalog

GET /catalog

Retrieve a paginated list of registered materials. Supports filtering by phase, composition class, and thermal properties.

Query Parameters

ParameterTypeDescription
phasestringFilter by material phase (solid, liquid, gas, plasma, metamaterial)
classstringComposition class (alloy, ceramic, polymer, composite, semiconductor)
limitintegerMax items per page (default: 20, max: 100)
cursorstringPagination cursor from previous response

Response (200 OK)

JSON
{
  "data": [
    {
      "id": "mat_9f8e7d6c",
      "name": "AZ-Superalloy-X9",
      "phase": "solid",
      "class": "alloy",
      "melting_point_k": 1842.5,
      "yield_strength_mp": 1420,
      "classification": "restricted"
    }
  ],
  "pagination": {
    "next_cursor": "eyJpZCI6MTAwfQ==",
    "has_more": true
  }
}

POST /synthesis

POST /synthesis

Initiate a new material synthesis job. Returns a tracking ID for real-time status polling or WebSocket subscription.

Request Body

ParameterTypeDescription
target_material REQUIREDstringMaterial ID or catalog reference
facility_id REQUIREDstringTarget lab/facility identifier
batch_size_kgfloatDesired output mass (default: 1.0)
parametersobjectCustom synthesis overrides (temp, pressure, catalyst)

Response (202 Accepted)

JSON
{
  "job_id": "synth_4b2a1c9d",
  "status": "queued",
  "estimated_completion": "2026-02-15T08:30:00Z",
  "webhook_url": "https://api.aevumzenth.com/v2/materials/synthesis/synth_4b2a1c9d/events"
}

GET /inventory/{id}

GET /inventory/{id}

Retrieve real-time inventory levels, storage conditions, and batch traceability for a specific material ID.

JSON
{
  "material_id": "mat_9f8e7d6c",
  "available_kg": 142.5,
  "reserved_kg": 30.0,
  "storage_location": "AZ-Facility-04 / Cryo-Bay 7",
  "conditions": {
    "temperature_k": 77.0,
    "atmosphere": "argon",
    "humidity_%": 0.01
  },
  "batch_trace": ["lot_88a2", "lot_91c4"]
}

Error Codes

The Materials API uses standard HTTP status codes and returns detailed error objects.

CodeMeaningResolution
401UnauthorizedCheck API key validity and expiration
403ForbiddenInsufficient scope or restricted material classification
429Rate LimitedReduce request frequency. See rate limits.
503Service UnavailableLab systems undergoing calibration or maintenance

Rate Limits

Rate limits are applied per API key and vary by tier:

Headers X-RateLimit-Limit and X-RateLimit-Remaining are included in every response.

SDKs & Libraries

Official client libraries are maintained for rapid integration:

npm
npm install @aevumzenth/materials-sdk
Python
pip install aevumzenth-materials
Go
go get github.com/aevumzenth/materials-go
⚠️
Community-maintained SDKs are not officially supported. Always verify package provenance before installation.