Validation

Validate your implementation

Registry Compliance Testing

The fastest way to validate a PLP server: register on the PLP Registry. It automatically runs a comprehensive test suite against your endpoints — testing CRUD operations, status codes, envelope format, and error handling. Servers scoring 80%+ are marked compliant.

JSON Schema Validation

Validate responses against the PLP JSON Schema (spec/plp-schema.json in the PLP repository):

import Ajv from "ajv"
import plpSchema from "./plp-schema.json"

const validate = new Ajv().compile(plpSchema)
const valid = validate(promptResponse)

SDK Testing

Use the official SDK to test your server programmatically:

const client = new PLPClient("https://your-server.com/v1")

// Test full CRUD cycle
await client.put("test", { content: "Hello" })           // 201
const p = await client.get("test")                         // 200
await client.delete("test")                                // 204
await client.get("test").catch(e => e.statusCode)  // 404

Compliance Checklist

  • PUT (create) returns 201, PUT (update) returns 200
  • DELETE returns 204
  • Missing prompts return 404
  • Responses include id and content fields
  • Errors include error and message fields
  • Content-Type is application/json