Skip to content

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
submission = client.submissions.submit({
    "team_name": {
        "metadata": {"team_email": "team@example.com"},
        "my-application": {
            "services": {
                "DATABASE": {"engine": "postgres", "size": "medium"}
            }
        }
    }
})
print(submission.id, submission.status)