Organization API
Validate a Project Template manifest
Validates a manifest payload and returns structured validation errors or manifest statistics without creating a template.
/api/v1/manifests/validate
Validates a manifest payload and returns structured validation errors or manifest statistics without creating a template.
Validate a Project Template manifest. Use any valid organization API key. Check the response envelope and meta.requestId before triggering dependent workflow steps.
Required scopes
Any valid organization API key
Parameters
No path or query parameters.
Request body
objectrequired
| Field | Type | Description |
|---|---|---|
| name | string | Optional unless marked required. |
| stages[] | array<object> | Optional unless marked required. |
| stages[].name | string | Optional unless marked required. |
| stages[].items[] | array<object> | Optional unless marked required. |
| stages[].items[].type | string | Optional unless marked required. |
| stages[].items[].title | string | Optional unless marked required. |
validatetemplatemanifestRequest
{
"name": "Residential PV install",
"stages": [
{
"name": "Install",
"items": [
{
"type": "WORK_ORDER",
"title": "Install array"
}
]
}
]
}Responses
200
Manifest validation result
#/components/schemas/OrgApiResourceEnvelope
401
Missing or invalid organization API key
#/components/schemas/OrgApiError
429
Rate limit exceeded
#/components/schemas/OrgApiError
Errors
401 Missing or invalid organization API key429 Rate limit exceeded
Static examples
curl -X POST "$SOLAROS_BASE_URL/api/v1/manifests/validate" \
-H "Authorization: Bearer $SOLAROS_API_KEY" \
-H "Content-Type: application/json" \
--data '{"name":"Residential PV install","stages":[{"name":"Install","items":[{"type":"WORK_ORDER","title":"Install array"}]}]}'