Project Times - GetBric/API GitHub Wiki

Project Times are times that you want to assign to your timesheet. You will pick a person, a project, a role, the number of minutes, and the day that you are assigning. This will commonly be an aggregate of when you run timers (Clocked Times), but it can be manually edited to be any number of minutes that you choose.

Project Time Index

  • Route: /project_times
  • Method: GET
  • Allowed Fields:
    • person_id (limit project_times shown by person)
    • project_id (limit project_times shown by project)
    • person_role_id (limit project_times shown by person_role)
    • day (limit project_times shown by day, format 2016-04-23)
  • Expected Response:
{
  "project_times": [
    {
      "id": 2,
      "link": "https://api.getbric.com/v1/project_times/2",
      "person": {
        "id": 1062390216,
        "link": "https://api.getbric.com/v1/people/1062390216",
        "first_name": "Glenn",
        "last_name": "Quagmire",
        "email": "[email protected]"
      },
      "project": {
        "id": 1052037175,
        "link": "https://api.getbric.com/v1/projects/1052037168",
        "name": "Homepage Redesign"
      },
      "person_role": {
        "id": 374648174,
        "link": "https://api.getbric.com/v1/person_roles/638205575",
        "name": "Engagement Manager"
      },
      "minutes": 139,
      "minutes_qtr_round": 135,
      "day": "2015-11-21",
      "created_at": "2015-11-23T18:08:07.356-05:00",
      "updated_at": "2016-03-25T17:38:41.224-04:00"
    },
    {
      "id": 8,
      "link": "https://api.getbric.com/v1/project_times/8",
      "person": {
        "id": 1062390216,
        "link": "https://api.getbric.com/v1/people/1062390216",
        "first_name": "Glenn",
        "last_name": "Quagmire",
        "email": "[email protected]"
      },
      "project": {
        "id": 1052037175,
        "link": "https://api.getbric.com/v1/projects/1052037168",
        "name": "Homepage Redesign"
      },
      "person_role": {
        "id": 374648174,
        "link": "https://api.getbric.com/v1/person_roles/1018350795",
        "name": "Engagement Manager"
      },
      "minutes": 91,
      "minutes_qtr_round": 90,
      "day": "2015-11-22",
      "created_at": "2015-11-24T17:40:15.751-05:00",
      "updated_at": "2016-03-25T17:38:41.297-04:00"
    }
  ]
}

Project Time Create

  • Route: /project_times
  • Method: POST
  • Required Fields:
    • day (format: 2016-04-23)
    • person_id
    • person_role_id
    • project_id
    • minutes
  • Expected Response:
{
  "project_times": {
    "id": 222,
    "link": "https://api.getbric.com/v1/project_times/222",
    "person": {
      "id": 1062390216,
      "link": "https://api.getbric.com/v1/people/1062390216",
      "first_name": "Glenn",
      "last_name": "Quagmire",
      "email": "[email protected]"
    },
    "project": {
      "id": 1052037175,
      "link": "https://api.getbric.com/v1/projects/1052037168",
      "name": "Homepage Redesign"
    },
    "person_role": {
      "id": 374648174,
      "link": "https://api.getbric.com/v1/person_roles/1018350795",
      "name": "Engagement Manager"
    },
    "minutes": 33,
    "minutes_qtr_round": 30,
    "day": "2016-04-21",
    "created_at": "2016-04-21T12:08:14.807-04:00",
    "updated_at": "2016-04-21T12:08:14.807-04:00"
  }
}

Project Time Show

  • Route: /project_times/id
  • Method: GET
  • Expected Response:
{
  "project_times": {
    "id": 222,
    "link": "https://api.getbric.com/v1/project_times/222",
    "person": {
      "id": 1062390216,
      "link": "https://api.getbric.com/v1/people/1062390216",
      "first_name": "Glenn",
      "last_name": "Quagmire",
      "email": "[email protected]"
    },
    "project": {
      "id": 1052037175,
      "link": "https://api.getbric.com/v1/projects/1052037168",
      "name": "Homepage Redesign"
    },
    "person_role": {
      "id": 374648174,
      "link": "https://api.getbric.com/v1/person_roles/1018350795",
      "name": "Engagement Manager"
    },
    "minutes": 33,
    "minutes_qtr_round": 30,
    "day": "2016-04-21",
    "created_at": "2016-04-21T12:08:14.807-04:00",
    "updated_at": "2016-04-21T12:08:14.807-04:00"
  }
}

Project Time Update

  • Route: /project_times/id
  • Method: PATCH
  • Allowed Fields:
    • day (format: 2016-04-23)
    • person_id
    • person_role_id
    • project_id
    • minutes
  • Expected Response:
{
  "project_times": {
    "id": 222,
    "link": "https://api.getbric.com/v1/project_times/222",
    "person": {
      "id": 1062390216,
      "link": "https://api.getbric.com/v1/people/1062390216",
      "first_name": "Glenn",
      "last_name": "Quagmire",
      "email": "[email protected]"
    },
    "project": {
      "id": 1052037175,
      "link": "https://api.getbric.com/v1/projects/1052037168",
      "name": "Homepage Redesign"
    },
    "person_role": {
      "id": 374648174,
      "link": "https://api.getbric.com/v1/person_roles/1018350795",
      "name": "Engagement Manager"
    },
    "minutes": 49,
    "minutes_qtr_round": 45,
    "day": "2016-04-21",
    "created_at": "2016-04-21T12:08:14.807-04:00",
    "updated_at": "2016-04-21T12:08:14.807-04:00"
  }
}

Project Time Destroy

  • Route: /project_times/id
  • Method: DELETE
  • Expected Response:
{
  "project_times": {
    "id": 222,
    "link": "https://api.getbric.com/v1/project_times/222",
    "person": {
      "id": 1062390216,
      "link": "https://api.getbric.com/v1/people/1062390216",
      "first_name": "Glenn",
      "last_name": "Quagmire",
      "email": "[email protected]"
    },
    "project": {
      "id": 1052037175,
      "link": "https://api.getbric.com/v1/projects/1052037168",
      "name": "Homepage Redesign"
    },
    "person_role": {
      "id": 374648174,
      "link": "https://api.getbric.com/v1/person_roles/1018350795",
      "name": "Engagement Manager"
    },
    "minutes": 33,
    "minutes_qtr_round": 30,
    "day": "2016-04-21",
    "created_at": "2016-04-21T12:08:14.807-04:00",
    "updated_at": "2016-04-21T12:08:14.807-04:00"
  }
}