Submissions API
The submissions resource gives direct access to submission records in NetOrca. Each submission represents a payload sent by a consumer team declaring the state of their applications.
update and delete are not supported — submissions are immutable once created.
For the higher-level CI/CD submission workflow (YAML-based repos, validation, JUnit reports), see Submissions Guide.
Accessed via client.submissions.
Model properties
| Property | Type | Description |
|---|---|---|
id |
int |
Submission ID |
status |
str |
Submission status |
created |
datetime |
When the submission was made |
modified |
datetime |
Last modified timestamp |
Methods
list(limit=None, ordering=None, **filters)
Returns a lazy generator of submission records. The limit and ordering parameters are first-class arguments; any additional keyword arguments are passed as filters.
| Parameter | Type | Description |
|---|---|---|
limit |
int |
Maximum number of records to return |
ordering |
str |
Sort field — prefix with - for descending (e.g. -created) |
# All submissions
for submission in client.submissions.list():
print(submission.id, submission.status)
# 10 most recent submissions
for submission in client.submissions.list(limit=10, ordering="-created"):
print(submission.id, submission.created)
# Oldest first
for submission in client.submissions.list(ordering="created"):
print(submission.id)
filter(**filters)
Same as list() but returns all results as a list. Accepts limit, ordering, and any additional filters.
recent = client.submissions.filter(ordering="-created", limit=50)
print(f"Found {len(recent)} submissions")
get(id)
Retrieves a single submission by ID. Raises NetorcaNotFoundError if not found.
submission = client.submissions.get(submission_id)
print(submission.id)
print(submission.status)
print(submission.created)
print(submission.modified)
validate(data)
Validates a submission payload against the API without persisting it. Returns a dict with validation results — useful for checking a payload is well-formed before committing.
| Parameter | Type | Description |
|---|---|---|
data |
dict |
The submission payload to validate |
result = client.submissions.validate({
"team_name": {
"metadata": {"team_email": "team@example.com"},
"my-application": {
"services": {
"DATABASE": {"engine": "postgres", "size": "medium"}
}
}
}
})
print(result)
submit(data)
Submits a payload, creating a submission record and triggering the appropriate change instances. Returns the created Submission object.
| Parameter | Type | Description |
|---|---|---|
data |
dict |
The submission payload |