Creating a SW System project
A project in Assurance-as-Code represents a SW System — the software being developed and assessed. Before you create any artifacts, you define the project’s profile: which standards apply, what ASIL level the system is developed to, and who has access.
What a project profile controls
| Profile setting | What it affects |
|---|---|
| ASIL level | Which artifact types are mandatory, and what validation rules apply |
| Applicable standards | Which regulation sections the validation rule catalog checks against |
| Team members and roles | Who can create, review, approve, and release artifacts |
Supported ASIL levels: QM, A, B, C, D
Supported standards: ISO_26262, UNECE_R155, UNECE_R156, ISO_29119
Creating a project via the web console
- Open the web console at
http://localhost - Click New project
- Fill in the project name and a short description
- Select the ASIL level for this SW System
- Check the standards that apply to this project
- Click Create
The project is created with an empty artifact store and the validation rule catalog loaded for your profile.
Creating a project via the API
curl -X POST http://localhost/api/projects \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <your-token>" \
-d '{
"name": "OTA Update Manager v2",
"description": "Software update service for gateway ECU — subject to UNECE R156",
"asil_level": "B",
"standards": ["UNECE_R155", "UNECE_R156", "ISO_29119"]
}'
The response includes the new project’s id, which you will use in all subsequent API calls for this project.
Understanding project roles
| Role | What they can do |
|---|---|
owner | Full access, including deleting the project and managing members |
contributor | Create and edit artifacts; move items to under_review |
reviewer | Approve artifacts (move to reviewed or approved) |
reader | Read-only access to all artifacts and baselines |
Assign roles when adding team members:
curl -X POST http://localhost/api/projects/<project-id>/members \
-H "Authorization: Bearer <your-token>" \
-d '{"user_id": "user-123", "role": "reviewer"}'
Importing from Sphinx-Needs
If your team already manages requirements in Sphinx-Needs, you can import an existing needs JSON export directly:
curl -X POST http://localhost/api/projects/<project-id>/import/sphinx-needs \
-H "Authorization: Bearer <your-token>" \
-F "file=@needs.json"
Imported items arrive in draft state. Conflicts (items with matching IDs that already exist) are flagged for review rather than overwritten.
Next steps
- Managing artifacts — create and link requirements, hazard analyses, test cases
- Release baselines — generate a baseline for regulatory submission