Projects
Projects are a top-level organizational unit in Test and Accept that help you manage related Statements of Work and their associated documentation. Each project can contain multiple Statements of Work, allowing you to maintain a clear hierarchy and relationship between different pieces of work.
The Project model
The project model contains all the information about your project and its relationships with other resources.
Properties
- Name
id
- Type
- string
- Description
Unique identifier for the project.
- Name
name
- Type
- string
- Description
The name of the project.
- Name
description
- Type
- string
- Description
A detailed description of the project and its goals.
- Name
status
- Type
- string
- Description
Current status of the project (e.g., "active", "completed", "on-hold").
- Name
client
- Type
- object
- Description
Information about the client organization.
- Name
start_date
- Type
- timestamp
- Description
The project start date.
- Name
end_date
- Type
- timestamp
- Description
The project end date (can be null for ongoing projects).
- Name
created_at
- Type
- timestamp
- Description
Timestamp of when the project was created.
- Name
updated_at
- Type
- timestamp
- Description
Timestamp of when the project was last updated.
Relationships
Projects have relationships with several other resources in Test and Accept:
Statements of Work
A project can have multiple Statements of Work. Each Statement of Work represents a specific scope of work within the project.
- Name
statements_of_work
- Type
- array
- Description
Array of Statement of Work objects associated with this project.
Team Members
Projects have team members who can access and manage the project and its associated resources.
- Name
team_members
- Type
- array
- Description
Array of user objects representing project team members.
Managing Projects
Create a project
To create a new project, you need to provide the project name and optionally other details like description, client information, and dates.
Required attributes
- Name
name
- Type
- string
- Description
The name of your project.
Optional attributes
- Name
description
- Type
- string
- Description
A detailed description of the project.
- Name
client
- Type
- object
- Description
Client organization details.
- Name
start_date
- Type
- timestamp
- Description
Project start date.
- Name
end_date
- Type
- timestamp
- Description
Project end date.
Request
curl https://api.testandaccept.com/v1/projects \
-H "Authorization: Bearer {token}" \
-d '{
"name": "New Project Name",
"description": "Project description",
"client": {
"name": "Client Organization",
"contact_email": "contact@client.com"
},
"start_date": "2024-01-01T00:00:00Z"
}'
Update a project
You can update any project attributes after creation. This includes adding or removing team members, updating project details, or changing the project status.
Request
curl https://api.testandaccept.com/v1/projects/{project_id} \
-X PATCH \
-H "Authorization: Bearer {token}" \
-d '{
"status": "completed",
"end_date": "2024-12-31T23:59:59Z"
}'
List projects
Retrieve a list of all projects you have access to. The results are paginated and can be filtered by various attributes.
Request
curl https://api.testandaccept.com/v1/projects \
-H "Authorization: Bearer {token}"
Delete a project
Deleting a project will also remove all associations with Statements of Work, but will not delete the Statements of Work themselves.
Request
curl https://api.testandaccept.com/v1/projects/{project_id} \
-X DELETE \
-H "Authorization: Bearer {token}"