Skip to content

Validate App Manifest

POST
/apps/manifest/validate

Validate a graph8.app.yaml without applying it. No app id needed.

Answers 200 whether or not the manifest is valid: the question “is this valid” was served correctly even when the answer is no, and a 422 would make a builder’s linter treat a working call as a transport failure. valid is the answer; issues carries every problem at once, each with a path pointer, so a whole file is fixed in one round trip.

Requires an allowlisted builder org but no app, because linting a manifest in CI should not require naming an app or holding a credential scoped to one.

Authorizations

Parameters

Header Parameters

X-Org-Id
Any of:
string

Request Body required

A graph8.app.yaml document, verbatim.

object
manifest
required

The full graph8.app.yaml document as text. Sent verbatim, including newlines. Rejected above 256 KiB by the parser.

string

Responses

200

Successful Response

object
data
required

A dry run. valid is the answer; issues is why not.

200 either way. A syntactically well-formed request that asks “is this manifest valid” and gets the answer “no” has been served correctly, and a 422 would make a builder’s linter treat a working call as a transport failure.

object
issues
Array<object>

One validation problem, addressed to a line a builder can fix.

object
code
required

Machine-readable cause. Stable; safe to branch on.

string
message
required
string
path
required

Pointer into the document, e.g. objects[0].attributes[1].type

string
summary
Any of:

What a valid manifest declares. The echo of a successful parse.

Deliberately a summary and not the parsed document: a builder who wants the document already has it, and echoing it back would make this response the second place the shape is defined.

object
app_name
Any of:
string
app_slug
Any of:
string
attribute_count
integer
has_backend
boolean
has_frontend
boolean
object_slugs
Array<string>
version
required
integer
valid
required
boolean
pagination
Any of:
object
has_next
required

Whether there are more pages

boolean
limit
required

Items per page

integer
next_cursor
Any of:
string
page
required

Current page number (1-indexed)

integer
total
required

Total number of items

integer

422

Validation Error

object
detail
Array<object>
object
loc
required
Array
msg
required
string
type
required
string