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

POST
/v1/projects
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

PATCH
/v1/projects/:id
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

GET
/v1/projects
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

DELETE
/v1/projects/:id
curl https://api.testandaccept.com/v1/projects/{project_id} \
  -X DELETE \
  -H "Authorization: Bearer {token}"

Was this page helpful?