Validate app submission manifest
POST/marketplace/submissions/{id}/validate
Runs automated validation against the submission's manifest to check for required fields, permission scope consistency, and schema compliance. Returns a validation report with pass/fail per rule. This must pass before a security scan can be initiated.
Request
Path parameters
| Name | Type | Required | Description |
|---|---|---|---|
id | integer | Yes | The numeric ID of the submission to validate. |
Responses
200 Manifest validation report
Content type application/json, object · MarketplaceValidationResultV1.
| Field | Type | Required | Description |
|---|---|---|---|
submission_id | integer | No | |
valid | boolean | No | True if all validation checks passed. |
checks | array of object | No | Per-rule check results. |
checks[].rule | string | No | Machine-readable rule identifier. |
checks[].passed | boolean | No | |
checks[].message | string, nullable | No | Human-readable explanation when the check fails. |
Example
{
"submission_id": 19,
"valid": true,
"checks": [
{
"rule": "required_fields_present",
"passed": true
},
{
"rule": "permission_scope_declared",
"passed": true
},
{
"rule": "webhook_url_reachable",
"passed": false,
"message": "Webhook URL returned 404 during probe."
}
]
}
404 Submission not found
Example request
curl -X POST "https://{tenant}.faciotech.net/api/v1/marketplace/submissions/{id}/validate" \
-H "Accept: application/json"