NAV undefined
undefined
curl

Introduction

API Endpoint: https://app.mertzcrew.com/api/

Welcome to the Mertzcrew API! You can use our API to access Mertzcrew API endpoints, which allow you to manage all aspects of your projects along with their assignments.

The Mertzcrew API is organized around REST. Our API has predictable, resource-oriented URLs, and uses a combination of HTTP response codes to indicate API errors along with a JSON payload for more specific error messages.

We use built-in HTTP features, like HTTP authentication and HTTP verbs, which are understood by off-the-shelf HTTP clients. We support cross-origin resource sharing, allowing you to interact securely with our API from a client-side web application using your username and password combination. JSON is returned by all API responses, including errors.

Authentication

To authorize, use this code:

# Make sure to replace `myUsername` with your username and `myPassword` with your password.
curl -X POST -F "username=myUsername" -F "password=myPassword" "https://app.mertzcrew.com/api/login"

The above command returns JSON structured like this:

{
  "status": "success",
  "message": "Login successful",
  "token": "xxxxxxxxxxxx"
}

Authenticate your account by using your username and password combination to the /login endpoint. Upon successful login, the JSON response will contain the attribute token. This token is required and is expected to be included in all API requests to the server in the header that looks like the following:

Authorization: xxxxxxxxxxxx

Authenticated User

This endpoint retrieves the authenticated users.

curl -X GET "https://app.mertzcrew.com/authenticated-user"
  -H "Authorization: xxxxxxxxxxxx"

The above command returns a JSON structured like this:

 {
    "user": {
        "id": "65132a2f6556fc001c84de9e",
        "_id": "65132a2f6556fc001c84de9e",
        "username": "reginap@mertz.us",
        "first_name": "Regina",
        "last_name": "Phalange",
        "use_12hr_clock": true

HTTP Request

https://app.mertzcrew.com/authenticated-user

URL Parameters

Parameter Description
N/A

General

Get Country List

This endpoint retrieves a list of countries. You will need to specify a valid country ID when creating projects.

curl "https://app.mertzcrew.com/api/countries"

The above command returns JSON structured like this:

[
  {
    "_id": 230,
    "abbreviation": "GB",
    "name": "United Kingdom"
  },
  {
    "_id": 1,
    "abbreviation": "US",
    "name": "United States"
  },
  {
    "_id": 231,
    "abbreviation": "UM",
    "name": "United States Minor Outlying Islands"
  }
]

HTTP Request

GET https://app.mertzcrew.com/api/countries

Get State/Province List

This endpoint retrieves a list of states/provinces. You will need to specify a valid state/province ID and country combination when creating projects.

curl "https://app.mertzcrew.com/api/state_provinces"

The above command returns JSON structured like this:

[
  {
    "_id": 1,
    "name": "Alabama",
    "abbreviation": "AL",
    "country": 1,
    "taxes": []
  },
  {
    "_id": 2,
    "name": "Alaska",
    "abbreviation": "AK",
    "country": 1,
    "taxes": []
  },
  {
    "_id": 4,
    "name": "Arizona ",
    "abbreviation": "AZ",
    "country": 1,
    "taxes": []
  }
]

HTTP Request

GET https://app.mertzcrew.com/api/state_provinces

Get Pay Models/Rules List

This endpoint retrieves a list of pay modes/rules. You will need to specify a valid pay model/rule ID when creating assignments.

curl "https://app.mertzcrew.com/api/pay_rules/1"

The above command returns JSON structured like this:

[
  {
      "_id": "5e59549c4e7ae3001342024d",
      "name": "Test Name",
      "is_default": false,
      "is_default_field_office": false,
      "is_hourly": true,
      "is_day_rate": false,
      "minimum_full_day_hours": 10,
      "enable_minimum_full_day_hours": false,
      "holiday_rate": "Premium",
      "enable_holiday_rate": true,
      "premium_pay_after_xhours": 10,
      "enable_premium_rate": true,
      "prime_pay_after_xhours": 16,
      "enable_prime_rate": false,
      "is_deleted": false,
      "weekly_ot_rate_after_xhours": 40,
      "same_day_if_less_then": 8,
      "late_night_start": "00:00",
      "late_night_end": "04:00",
      "late_night_rate": "Premium",
      "enable_late_night_rate": true
  }
]

HTTP Request

GET https://app.mertzcrew.com/api/pay_rules/<CLIENT_ID>

URL Parameters

Parameter Description
client_ID "client" found in the /login endpoint.

Dashboard

Client Entities

This endpoint retrieves the client entities and field offices.

curl -X GET "https://app.mertzcrew.com/api/clients/1"
  -H "Authorization: xxxxxxxxxxxx"

The above command returns a JSON structured like this:

{
        "_id": "57449df3c3ffaadc5fe6cee8",
        "enable_project_billing_offices": false,
        "employee_enable_mileage": true,
        "email": "tangerine@cgaprod.mil",
        "state_province": {
            "_id": 33,
            "name": "Nevada",
            "abbreviation": "NV",
  ...

HTTP Request

GET https://app.mertzcrew.com/api/clients/<client_ID>

URL Parameters

Parameter Description
client_ID "client" found in the /login endpoint

Project Classifications

This endpoint retrieves the project classifications available to the client specified.

curl -X GET "https://app.mertzcrew.com/api/project_classifications/1"
  -H "Authorization: xxxxxxxxxxxx"

The above command returns a JSON structured like this:

[
    {
        "_id": "564fda98cb628392c8dcc158",
        "type": "Corporate",
        "client": "549630aa4f7b88bb3c8ed42d",
        "created_on": "2019-04-05T17:51:20.084Z",
        "class_b": "Sets & Strike",
        "class_a": "Running Crew",
        "modified_on": "2024-08-29T16:03:41.419Z",
        "modified_by": "Peter Gibbons",
        "type_name": "Corporate"
    },
  ...

HTTP Request

GET https://app.mertzcrew.com/api/project_classifications/<client_ID>

URL Parameters

Parameter Description
client_ID "client" found in the /login endpoint

Client Entities by Field Office

This endpoint returns all Client Users and sorts them by Field Office.

curl -X GET "https://app.mertzcrew.com/api/client_users/all/byfieldoffice/1"
  -H "Authorization: xxxxxxxxxxxx"

The above command returns a JSON structured like this:

{
        "_id": "634edc49e36bd1dcb32b299b",
        "name": "111 - The Capitol",
        "users": [
            {
                "_id": "65aec39797191261362256d2",
                "username": "herodney+shota@mertzcrew.com",
                "client_role": {
                    "_id": 2,
                    "client": "549630aa4f7b88bb3c8ed42d",
  ...

HTTP Request

GET https://app.mertzcrew.com/api/client_users/all/byfieldoffice/<client_ID>

URL Parameters

Parameter Description
client_ID "client" found in the /login endpoint

Contractor Roles

This endpoint retrieves the contractor roles.

curl -X GET "https://app.mertzcrew.com/api/contractor_roles"
  -H "Authorization: xxxxxxxxxxxx"

The above command returns a JSON structured like this:

  {
        "_id": 29,
        "department": {
            "_id": 2,
            "name": "Video"
        },
        "name": "ARS Technician",
        "responsibilities": "The Role of the Audience Response System 
                          (ARS) Technician involves...",
        "isHighSkilled": null
  ...

HTTP Request

GET https://app.mertzcrew.com/api/contractor_roles

URL Parameters

Parameter Description
N/A

Contractor Role Department

This endpoint retrieves contractor role departments.

curl -X GET "https://app.mertzcrew.com/api/contractor_role_departments"
  -H "Authorization: xxxxxxxxxxxx"

The above command returns a JSON structured like this:

  {
        "_id": 5,
        "name": "Audio",
        "contractor_roles": []
    },
    {
        "_id": 7,
        "name": "General",
        "contractor_roles": []
  ...

HTTP Request

GET https://app.mertzcrew.com/api/contractor_role_departments

URL Parameters

Parameter Description
N/A

Contractor Skills

This endpoint retrieves the skills of a contractor.

curl -X GET "https://app.mertzcrew.com/api/skills/all"
  -H "Authorization: xxxxxxxxxxxx"

The above command returns a JSON structured like this:

  {
        "_id": "65d3ad41af40ab0130749711",
        "department": {
            "_id": "55a1401f95fec5358003e9c1",
            "name": "Audio"
        },
        "name": "110-LFC - Meyer Sound",
        "__v": 0,
        "is_cert_validation_required": false,
        "is_cert_required": false,
  ...

HTTP Request

GET https://app.mertzcrew.com/api/skills/all

URL Parameters

Parameter Description
N/A

Departments

This endpoint retrieves client departments.

curl -X GET "https://app.mertzcrew.com/api/departments/1"
  -H "Authorization: xxxxxxxxxxxx"

The above command returns a JSON structured like this:

  {
        "_id": "564fda99cb628392c8dcc15e",
        "label": "Audio",
        "type": "Audio",
        "client": "549630aa4f7b88bb3c8ed42d",
        "created_on": "2019-10-29T14:28:00.767Z",
        "contractor_roles": [
            {
                "_id": 37,
                "department": 9,
                "name": "Audio D

HTTP Request

GET https://app.mertzcrew.com/api/departments/<client_ID>

URL Parameters

Parameter Description
client_ID "client" found in the /login endpoint

Unpaid Projects

This endpoint retrieves all of the unpaid projects.

curl -X GET "https://app.mertzcrew.com/api/dashboard/projects/unpaid"
  -H "Authorization: xxxxxxxxxxxx"

The above command returns a JSON structured like this:

  {
    "total": 2,
    "data": [
        {
            "_id": "66eb246499822341017aa737",
            "parent_project": null,
            "state_province": {
                "_id": 12,
                "name": "Florida",
                "abbreviation": "FL",
                "country": 1
            }

HTTP Request

GET https://app.mertzcrew.com/api/dashboard/projects/unpaid

URL Parameters

Parameter Description
N/A

Unapproved Projects By Payment Release Date

This endpoint retrieves all of the unapproved projects sorted by payment release date.

curl -X GET "https://app.mertzcrew.com/api/dashboard/projects/unapprovedByPaymentReleaseDate"
  -H "Authorization: xxxxxxxxxxxx"

The above command returns a JSON structured like this:

  {
    "total": 489,
    "data": [
        {
            "_id": "664414d54e514566f2ad1c1c",
            "type": "Touring",
            "is_touring": true,
            "name": "test - 05/06 - 05/12",
            "parent_project": {
                "_id": "664414974e514566f2ad1bf9",

HTTP Request

GET https://app.mertzcrew.com/api/dashboard/projects/unapprovedByPaymentReleaseDate

URL Parameters

Parameter Description
N/A

Unaccepted Assignments by Start date

This endpoint retrieves all of the unaccepted assignments by start date.

curl -X GET "https://app.mertzcrew.com/api/dashboard/assignments/unacceptedByStartDate"
  -H "Authorization: xxxxxxxxxxxx"

The above command returns a JSON structured like this:

  {
    "total": 6,
    "data": [
        {
            "_id": "672bea51761b7e21b6499f4f",
            "parent_project": null,
            "name": "Testing Multi Leg in Single Pay - 86b2thnzc",
            "start_date": "2024-11-01T13:00:17.951Z",
      "exception": 3,
            "exception_message": "Unaccepted contract(s).",

HTTP Request

GET https://app.mertzcrew.com/api/dashboard/assignments/unacceptedByStartDate

URL Parameters

Parameter Description
N/A

Broadcast

This endpoint retrieves all of the broadcast projects.

curl -X GET "https://app.mertzcrew.com/api/dashboard/projects/broadcast"
  -H "Authorization: xxxxxxxxxxxx"

The above command returns a JSON structured like this:

  {
    "total": 3,
    "data": [
        {
            "_id": "66ec55953676ec6683658118",
            "name": "PCMP - Broadcast Remains Active after filled",
            "start_date": "2024-11-18T16:00:00.000Z",
            "projectContractors": [
                {

HTTP Request

GET https://app.mertzcrew.com/api/dashboard/projects/broadcast

URL Parameters

Parameter Description
N/A

Projects with assignments that need attention

This endpoint retrieves all of the projects with assignments that need attention.

curl -X GET "https://app.mertzcrew.com/api/dashboard/assignments/needAttention"
  -H "Authorization: xxxxxxxxxxxx"

The above command returns a JSON structured like this:

  {
    "total": 356,
    "data": [
        {
            "_id": "663e5e5b740adf001c9d7282",
            "type": "Corporate",
            "parent_project": null,
            "name": "May 10 SP",
            "status": "Awaiting Documents",
            "start_date": "2024-05-06T08:00:00.000Z",

HTTP Request

GET https://app.mertzcrew.com/api/dashboard/assignments/needAttention

URL Parameters

Parameter Description
N/A

Projects by New Users

This endpoint retrieves all of the projects sorted by new users.

curl -X GET "https://app.mertzcrew.com/api/dashboard/projects/newByClientUser"
  -H "Authorization: xxxxxxxxxxxx"

The above command returns a JSON structured like this:

  {
    "total": 9,
    "data": [
        {
            "_id": "672d04fd1869f769f15b399c",
            "created_by": {
                "first_name": "Testing",
                "last_name": "Automation Admin"
            },
            "name": "SPA -1731003556417 Edited"

HTTP Request

GET https://app.mertzcrew.com/api/dashboard/projects/newByClientUser

URL Parameters

Parameter Description
N/A

Active Map of Projects

This endpoint retrieves all of the projects on an active map.

curl -X GET "https://app.mertzcrew.com/api/dashboard/projects/activeMap"
  -H "Authorization: xxxxxxxxxxxx"

The above command returns a JSON structured like this:

  {
    "total": 22,
    "data": [
        {
            "_id": "672d28ba2352946e0e45fca4",
            "location": [
                26.1420358,
                -81.7948103
            ],
            "longitude": -81.7948103,
            "latitude": 26.1420358,
            "country": {
                "_id": 1,
                "abbreviation": "US",
                "name": "United 

HTTP Request

GET https://app.mertzcrew.com/api/dashboard/projects/activeMap

URL Parameters

Parameter Description
N/A

Projects Unapproved by Start Date

This endpoint retrieves the projects that are unapproved, sorted by their start date.

curl -X GET "https://app.mertzcrew.com/api/dashboard/projects/unapprovedByStartDate"
  -H "Authorization: xxxxxxxxxxxx"

The above command returns a JSON structured like this:

{
    "total": 95,
    "data": [
        {
            "_id": "668551ebd7844b00153ca832",
            "name": "1 - Planning Single Pay",
            "start_date": "2024-07-01T12:00:00.000Z",
            "unapproved_assignments_total": null,
            "client_name": "Acme",
            "status": "Awaiting Documents"
  ...

HTTP Request

GET https://app.mertzcrew.com/api/dashboard/projects/unapprovedByStartDate

URL Parameters

Parameter Description
Limit Optional: Number of projects returned, if left blank it will return all unapproved projects by start date.

Projects with Deposits

This endpoint retrieves the projects that have deposits.

curl -X GET "https://app.mertzcrew.com/api/dashboard/projects/deposits"
  -H "Authorization: xxxxxxxxxxxx"

The above command returns a JSON structured like this:

{
    "data": [],
    "total": 0,
    "skip": 0,
    "limit": 1000
}

HTTP Request

GET https://app.mertzcrew.com/api/dashboard/projects/deposits

URL Parameters

Parameter Description
N/A

Projects by Project Type

This endpoint retrieves the projects by project type.

curl -X GET "https://app.mertzcrew.com/api/dashboard/projects/byProjectType"
  -H "Authorization: xxxxxxxxxxxx"

The above command returns a JSON structured like this:

{
    "total": 985,
    "corporateCount": 336,
    "multipayCount": 644,
    "integrationCount": 3,
    "APICount": 0,
    "otherCount": 2,
    "data": [
        {
            "_id": "628d1d730aad40001ed65f21",
            "type": "Touring",
            "name": "leg 2 - 05/16 - 05/22",
            "status": "No Crew Assigned",
            "is_api_project": false,
            "type_name": "Touring/CA Projects",
            "client_name": "Acme"

HTTP Request

GET https://app.mertzcrew.com/api/dashboard/projects/byProjectType

URL Parameters

Parameter Description
N/A

Projects with Unbooked Travel

This endpoint retrieves the projects with unbooked travel assignments.

curl -X GET "https://app.mertzcrew.com/api/dashboard/projects/travel/unbooked"
  -H "Authorization: xxxxxxxxxxxx"

The above command returns a JSON structured like this:

{
    "data": [
        {
            "_id": "66a2fd74be1366335868455d",
            "name": "Jul 26 GP Multipay C",
            "start_date": "2025-01-06T13:00:00.000Z",
            "count": 1,
            "assignments": [
                {
                    "has_flight": false

HTTP Request

GET https://app.mertzcrew.com/api/dashboard/projects/travel/unbooked

URL Parameters

Parameter Description
N/A

Project Planner Assignments

This widget shows which client users are assigned to fill assignments.

curl -X GET "https://app.mertzcrew.com/api/dashboard/projects/plannerAssignments"
  -H "Authorization: xxxxxxxxxxxx"

The above command returns a JSON structured like this:

{
    "total": 0,
    "data": [],
    "skip": 0,
    "limit": 1000
}

HTTP Request

https://app.mertzcrew.com/api/dashboard/projects/plannerAssignments

URL Parameters

Parameter Description
N/A

Dashboard Widget Settings

This endpoint saves the dashboard widget settings.

curl -X POST "https://app.mertzcrew.com/api/dashboard/widgets"
  -H "Authorization: xxxxxxxxxxxx"

The above command returns a JSON structured like this:

[
    {
        "name": "ProjectsPlannerAssignments",
        "_id": "673271fe07ee47ba04f65f55"
    },
    {
        "name": "SearchTechView",
        "_id": "65d512292359312d71a29766"
    }
  ...
]

HTTP Request

https://app.mertzcrew.com/api/dashboard/widgets

URL Parameters

Parameter Description
widgets an array of dashboard widget objects including each widgets name and ID (As shown in the JSON reponse above).

Search Tech Projects

This endpoint retrieves an array of a techs projects when searching through the "Search Project" Widget.

curl -X GET "https://app.mertzcrew.com/api/dashboard/search/tech_projects"
  -H "Authorization: xxxxxxxxxxxx"

The above command returns a JSON structured like this:

[
    {
        "_id": "666211b5207f4900152df19b",
        "created_by": "65132a2f6556fc001c84de9e",
        "modified_on": "2024-06-06T19:52:28.461Z",
        "modified_by": "65132a2f6556fc001c84de9e",
        "fill_date": "2024-06-06T19:44:50.612Z",
        "end_date": "2024-06-10T22:00:00.000Z",
        "start_date": "2024-06-03T12:00:00.000Z",
        "pnw_rule": null,
        "is_pnw_rule": false,
        "is_payroll_crew": true,
        "is_direct_contractor": false,
        "is_pro_rate": false,
        "is_weekly_rate": false,
        "hours_entry_required": true,
    ...

HTTP Request

https://app.mertzcrew.com/api/dashboard/search/tech_projects

URL Parameters

Parameter Description
tech_ids a list of tech ids you want to search, separated by commas. At least 1 is required.

Search Tech Widget

This endpoint retrieves a techs when searching through the "Search Tech" Widget.

curl -X GET "https://app.mertzcrew.com/api/dashboard/search/tech"
  -H "Authorization: xxxxxxxxxxxx"

The above command returns a JSON structured like this:

{
    "total": 958,
    "data": [
        {
            "_id": "6442d2ba696a190017a9bd55",
            "photo_upload": "6442d59228c7800015cfbe91",
            "rating_total": "4.0",
            "calendar_integrations": [],
            "favorite_by": [],
            "contractor_hidden_roles": [],
            "contractor_role_rates": [
                650,
                350,
            ],
            "contractor_roles": [
    ...

HTTP Request

https://app.mertzcrew.com/api/dashboard/search/tech

URL Parameters

Parameter Description
tech_ids a list of tech ids you want to search, separated by commas. At least 1 is required.

Get Projects Broadcast

This endpoint retrieves broadcasted projects in the Projects Broadcast widget.

curl -X GET "https://app.mertzcrew.com/api/dashboard/projects/broadcast"
  -H "Authorization: xxxxxxxxxxxx"

The above command returns a JSON structured like this:

{
    "total": 4,
    "data": [
        {
            "_id": "6734f9e4f0b55e66bf82e627",
            "name": "Demo Tagging Private",
            "start_date": "2024-11-25T08:00:00.000Z",
            "projectContractors": [
                {
                    "bids": [
                        {
                            "contractor": {
                                "individual_name": "Beaker Muppet"
                            },
                            "initials": "BM",
                            "photo_upload": "56794ff652124ac642d5ad93"
    ...

HTTP Request

https://app.mertzcrew.com/api/dashboard/projects/broadcast

URL Parameters

Parameter Description
N/A

Get Projects By Role

This endpoint retrieves projects by searching for a role in the Projects By Role widget.

curl -X GET "https://app.mertzcrew.com/api/dashboard/projects/byRole"
  -H "Authorization: xxxxxxxxxxxx"

The above command returns a JSON structured like this:

empty array. missing a parma?

HTTP Request

https://app.mertzcrew.com/api/dashboard/projects/byRole

URL Parameters

Parameter Description
N/A

Get Long Single Pay Projects

This endpoint retrieves long single pay projects.

curl -X GET "https://app.mertzcrew.com/api/dashboard/projects/singlePayLong"
  -H "Authorization: xxxxxxxxxxxx"

The above command returns a JSON structured like this:

{
    "total": 17,
    "data": [
        {
            "_id": "6679b27b72840f57d7d5e003",
            "name": "24 June Single Pay End to End",
            "end_date": "2024-07-03T22:00:53.177Z",
            "start_date": "2024-06-17T08:00:00.000Z",
            "client_name": "Acme",
            "client_logo": "65b2c245b2febb181b735914",
            "numberOfDays": 16
      ...

HTTP Request

https://app.mertzcrew.com/api/dashboard/projects/singlePayLong

URL Parameters

Parameter Description
N/A

Projects

Get Project Types/Classifications

This endpoint retrieves a list of your project types/classifications.

curl GET "https://app.mertzcrew.com/api/project_classifications" -H "Authorization: xxxxxxxxxxxx"

The above command returns JSON structured like this:

[
  {
    "type": "Corporate"
  },
  {
    "type": "Integration"
  },
  {
    "type": "Touring"
  },
  {
    "type": "Other"
  }
]

HTTP Request

GET https://app.mertzcrew.com/api/project_classifications

Create Project

This endpoint creates a new project.

curl -d "@data.json" -H "Content-Type: application/json" -X POST "https://app.mertzcrew.com/api/project"
  -H "Authorization: xxxxxxxxxxxx"

The above command requires data.json to have the following format:

{
  "name": "Testing",
  "type": "Corporate",
  "country": 1,
  "state_province": 12,
  "city": "Orlando"
  ...
}

For a complete list refer to the section POST parameters.

HTTP Request

POST https://app.mertzcrew.com/api/project

POST Parameters

Parameter Description
name The name of the project
type The project type/classification
country The country where this project is located
state_province The state/province in the country specified
city The city of the state/province specified

Edit a Specific Project

This endpoint edits a specific project.

curl -d "@data.json" -H "Content-Type: application/json" -X PUT "https://app.mertzcrew.com/api/project/1"
  -H "Authorization: xxxxxxxxxxxx"

The above command requires data.json to have the following format:

{
  "_id": "569702a6026b03086fa378c8",
  "name": "Testing API",
  "country": 1,
  "state_province": 12,
  "city": "Orlando"
  ...
}

For a complete list refer to the section PUT parameters.

HTTP Request

PUT https://app.mertzcrew.com/api/project/<ID>

URL Parameters

Parameter Description
ID The ID of the project you are editing

PUT Parameters

Parameter Description
_id The ID of the project
name The name of the project
country The country where this project is located
state_province The state/province in the country specified
city The city of the state/province specified

Delete a Specific Project

This endpoint deletes a specific project.

curl -X DELETE "https://app.mertzcrew.com/api/project/1"
  -H "Authorization: xxxxxxxxxxxx"

The above command returns an HTTP status code of 200 if successful. Refer to the Error section for error codes.

HTTP Request

DELETE https://app.mertzcrew.com/api/project/<ID>

URL Parameters

Parameter Description
ID The ID of the project to delete

Get All Projects

# With shell, you can just pass the authorization header with each request
curl GET "https://app.mertzcrew.com/api/projects"
  -H "Authorization: xxxxxxxxxxxx"

The above command returns JSON structured like this:

[
  {
    "_id": "2",
    "type": "Corporate",
    "job_number": "AC-12345",
    "name": "Acme",
    "status": "Future Project",
    "end_date": "2018-06-15T22:00:50.296Z",
    "modified_by": "57ab828fd9f336f86f3b1be8",
    "modified_on": "2018-05-29T15:09:32.877Z",
    "start_date": "2018-06-11T12:00:50.290Z",
    ...
  }
]

This endpoint retrieves all projects.

HTTP Request

GET https://app.mertzcrew.com/api/projects

Query Parameters

Parameter Default Description
criteria If specified, only projects that have a case insensitive match in their name or job number are returned.

Get a Specific Project

curl "https://app.mertzcrew.com/api/project/1"
  -H "Authorization: xxxxxxxxxxxx"

The above command returns JSON structured like this:

{
  "_id": "2",
  "type": "Corporate",
  "job_number": "AC-12345",
  "name": "Acme",
  "status": "Future Project",
  "end_date": "2018-06-15T22:00:50.296Z",
  "modified_by": "57ab828fd9f336f86f3b1be8",
  "modified_on": "2018-05-29T15:09:32.877Z",
  "start_date": "2018-06-11T12:00:50.290Z",
  ...
}

This endpoint retrieves a specific project.

HTTP Request

GET https://app.mertzcrew.com/api/project/<ID>

URL Parameters

Parameter Description
ID The ID of the project to retrieve

Generate Services - Internal Report Excel Spreadsheet

This endpoint generates an internal services report excel spreadsheet for a specific project supplied by ID.

curl -H "Content-Type: application/json" -X GET "https://app.mertzcrew.com/api/project/<ID>/reports/services"
  -H "Authorization: xxxxxxxxxxxx"

HTTP Request

GET https://app.mertzcrew.com/api/project/<ID>/reports/services

URL Parameters

Parameter Description
ID The ID of the project the report will be generated for.

Generate Services - Client Report Excel Spreadsheet

This endpoint generates a client services report excel spreadsheet for a specific project supplied by ID.

curl -H "Content-Type: application/json" -X GET "https://app.mertzcrew.com/api/project/<ID>/reports/services_client"
  -H "Authorization: xxxxxxxxxxxx"

HTTP Request

GET https://app.mertzcrew.com/api/project/<ID>/reports/services_client

URL Parameters

Parameter Description
ID The ID of the project the report will be generated for.

Generate Expense Report Excel Spreadsheet

This endpoint generates an expense report excel spreadsheet for a specific project supplied by ID.

curl -H "Content-Type: application/json" -X GET "https://app.mertzcrew.com/api/project/<ID>/reports/expense"
  -H "Authorization: xxxxxxxxxxxx"

HTTP Request

GET https://app.mertzcrew.com/api/project/<ID>/reports/expense

URL Parameters

Parameter Description
ID The ID of the project the report will be generated for.

Generate Per Diem Report Excel Spreadsheet

This endpoint generates a per diem report excel spreadsheet for a specific project supplied by ID.

curl -H "Content-Type: application/json" -X GET "https://app.mertzcrew.com/api/project/<ID>/reports/per_diem"
  -H "Authorization: xxxxxxxxxxxx"

HTTP Request

GET https://app.mertzcrew.com/api/project/<ID>/reports/per_diem

URL Parameters

Parameter Description
ID The ID of the project the report will be generated for.

Generate Crew List Report Excel Spreadsheet

This endpoint generates a client list report excel spreadsheet for a specific project supplied by ID.

Get My Completed Projects

This endpoint retrieves an array of a client users completed projects.

curl -X GET "https://app.mertzcrew.com/api/my_projects/completed"
  -H "Authorization: xxxxxxxxxxxx"

The above command returns JSON structured like this:

[
    {
        "_id": "67292bf558def0001545c55c",
        "modified_on": "2024-11-04T20:17:59.242Z",
        "enable_auto_approve": false,
        "enable_auto_submit": false,
        "is_lump_sum": false,
        "is_daily_lump_sum": false,
        "is_pro_rate": false,
        "is_weekly_rate": false,
        "timezone_name_updated": "America/Denver",
        "validated_location_on": "2024-11-04T20:17:28.682Z",
    ...

HTTP Request

GET https://app.mertzcrew.com/api/my_projects/completed

### URL Parameters

Parameters Description
skip The number of elements in the collection you want to skip.
limit The max number of records you want to retrieve.

Get My Approved Projects

This endpoint retrieves an array of a client users approved projects.

curl -X GET "https://app.mertzcrew.com/api/my_projects/approved"
  -H "Authorization: xxxxxxxxxxxx"

The above command returns JSON structured like this:

[
    {
        "_id": "6695c66313c58d0015057300",
        "modified_on": "2024-08-28T19:42:36.668Z",
        "enable_auto_approve": false,
        "enable_auto_submit": false,
        "is_touring": false,
        "is_lump_sum": false,
        "is_daily_lump_sum": false,
        "is_pro_rate": false,
        "is_weekly_rate": false,
        "timezone_name_updated": "America/Denver",
        "validated_location_on": "2024-07-16T01:01:17.496Z",
    ...

HTTP Request

GET https://app.mertzcrew.com/api/my_projects/approved

### URL Parameters

Parameters Description
skip The number of elements in the collection you want to skip.
limit The max number of records you want to retrieve.

Get My "In Progress" Projects

This endpoint retrieves an array of a client users "In Progress" projects.

curl -X GET "https://app.mertzcrew.com/api/my_projects/in_progress"
  -H "Authorization: xxxxxxxxxxxx"

The above command returns JSON structured like this:

[
    {
        "_id": "67292bf558def0001545c55c",
        "modified_on": "2024-11-15T15:01:59.527Z",
        "enable_auto_approve": false,
        "enable_auto_submit": false,
        "is_lump_sum": false,
        "is_daily_lump_sum": false,
        "is_pro_rate": false,
        "is_weekly_rate": false,
        "timezone_name_updated": "America/Denver",
        "validated_location_on": "2024-11-04T20:17:28.682Z",
        "validated_location_via": "google",
    ...

HTTP Request

GET https://app.mertzcrew.com/api/my_projects/in_progress

### URL Parameters

Parameters Description
skip The number of elements in the collection you want to skip.
limit The max number of records you want to retrieve.

Get My "Future" Projects

This endpoint retrieves an array of a client users "Future" projects.

curl -X GET "https://app.mertzcrew.com/api/my_projects/future"
  -H "Authorization: xxxxxxxxxxxx"

The above command returns JSON structured like this:

[
    {
        "_id": "66b22b6c84e25463faf770da",
        "modified_on": "2024-08-14T16:19:53.934Z",
        "enable_auto_approve": false,
        "enable_auto_submit": false,
        "is_touring": true,
        "is_lump_sum": false,
        "is_daily_lump_sum": true,
        "is_pro_rate": false,
        "is_weekly_rate": false,
        "pay_period": "Monday-Sunday",
        "pay_frequency": "weekly",
        "timezone_name_updated": "America/New_York",
        "on_site_poc_entered": "",
        "on_site_poc": null,

HTTP Request

GET https://app.mertzcrew.com/api/my_projects/future

### URL Parameters

Parameters Description
skip The number of elements in the collection you want to skip.
limit The max number of records you want to retrieve.

Get My Projects

This endpoint retrieves an array of all of a client users projects.

curl -X GET "https://app.mertzcrew.com/api/my_projects"
  -H "Authorization: xxxxxxxxxxxx"

The above command returns JSON structured like this:

[
    {
        "_id": "67292bf558def0001545c55c",
        "modified_on": "2024-11-15T15:01:59.527Z",
        "enable_auto_approve": false,
        "enable_auto_submit": false,
        "is_lump_sum": false,
        "is_daily_lump_sum": false,
        "is_pro_rate": false,
        "is_weekly_rate": false,
        "timezone_name_updated": "America/Denver",
        "validated_location_on": "2024-11-04T20:17:28.682Z",
        "validated_location_via": "google",
        "validated_location": true,
    ...

HTTP Request

GET https://app.mertzcrew.com/api/my_projects

### URL Parameters

Parameters Description
skip The number of elements in the collection you want to skip.
limit The max number of records you want to retrieve.

Get Approved Projects

This endpoint retrieves an array of all of a clients approved projects.

curl -X GET "https://app.mertzcrew.com/api/projects/approved"
  -H "Authorization: xxxxxxxxxxxx"

The above command returns JSON structured like this:

[
    {
        "_id": "67368d31f0b55e66bf832823",
        "modified_on": "2024-11-15T11:54:27.923Z",
        "enable_auto_approve": false,
        "enable_auto_submit": false,
        "is_lump_sum": false,
        "is_daily_lump_sum": false,
        "is_pro_rate": false,
        "is_weekly_rate": false,
        "pay_period": "Monday-Sunday",
        "pay_frequency": "weekly",
        "timezone_name_updated": "America/New_York",
        "on_site_poc_entered": "",
        "on_site_poc": null,
    ...

HTTP Request

GET https://app.mertzcrew.com/api/projects/approved

### URL Parameters

Parameters Description
skip The number of elements in the collection you want to skip.
limit The max number of records you want to retrieve.

Get Completed Projects

This endpoint retrieves an array of all of a clients completed projects.

curl -X GET "https://app.mertzcrew.com/api/projects/completed"
  -H "Authorization: xxxxxxxxxxxx"

The above command returns JSON structured like this:

[
    {
        "_id": "67352065f0b55e66bf82fcd7",
        "modified_on": "2024-11-14T14:26:08.618Z",
        "enable_auto_approve": false,
        "enable_auto_submit": false,
        "is_lump_sum": false,
        "is_daily_lump_sum": false,
        "is_pro_rate": false,
        "is_weekly_rate": false,
        "timezone_name_updated": "America/Los_Angeles",
        "validated_location_on": "2024-11-13T21:55:30.434Z",
        "validated_location_via": "google",
        "validated_location": true,
    ...

HTTP Request

GET https://app.mertzcrew.com/api/projects/completed

### URL Parameters

Parameters Description
skip The number of elements in the collection you want to skip.
limit The max number of records you want to retrieve.

Get "In Progress" Projects

This endpoint retrieves an array of all of a clients "In Progress" projects.

curl -X GET "https://app.mertzcrew.com/api/projects/in_progress"
  -H "Authorization: xxxxxxxxxxxx"

The above command returns JSON structured like this:

[
    {
        "_id": "670e76ef33b9fce78b3c4a1e",
        "modified_on": "2024-11-06T14:24:04.613Z",
        "enable_auto_approve": false,
        "enable_auto_submit": false,
        "is_lump_sum": false,
        "is_daily_lump_sum": false,
        "is_pro_rate": false,
        "is_weekly_rate": false,
        "pay_period": "Monday-Sunday",
        "pay_frequency": "weekly",
        "timezone_name_updated": "America/New_York",
        "on_site_poc_entered": "",
        "on_site_poc": null,
        "parent_project": null,
    ...

HTTP Request

GET https://app.mertzcrew.com/api/projects/in_progress

### URL Parameters

Parameters Description
skip The number of elements in the collection you want to skip.
limit The max number of records you want to retrieve.

Get "Future" Projects

This endpoint retrieves an array of all of a clients "Future" projects.

curl -X GET "https://app.mertzcrew.com/api/projects/future"
  -H "Authorization: xxxxxxxxxxxx"

The above command returns JSON structured like this:

[
    {
        "_id": "660f152ae2ab0f5ddcfbaaab",
        "modified_on": "2024-04-04T21:01:30.227Z",
        "enable_auto_approve": false,
        "enable_auto_submit": false,
        "is_touring": true,
        "is_lump_sum": false,
        "is_daily_lump_sum": true,
        "is_pro_rate": false,
        "is_weekly_rate": false,
        "pay_period": "Monday-Sunday",
        "pay_frequency": "weekly",
        "timezone_name_updated": "America/New_York",
        "on_site_poc_entered": "",
        "on_site_poc": null,
        "type": "Touring",
    ...

HTTP Request

GET https://app.mertzcrew.com/api/projects/future

### URL Parameters

Parameters Description
skip The number of elements in the collection you want to skip.
limit The max number of records you want to retrieve.

Get Projects

This endpoint retrieves an array of all of a clients projects.

curl -X GET "https://app.mertzcrew.com/api/projects"
  -H "Authorization: xxxxxxxxxxxx"

The above command returns JSON structured like this:

[
    {
        "_id": "66a2fd74be1366335868455d",
        "modified_on": "2024-10-07T21:08:34.923Z",
        "enable_auto_approve": false,
        "enable_auto_submit": false,
        "is_touring": true,
        "is_lump_sum": false,
        "is_daily_lump_sum": false,
        "is_pro_rate": false,
        "is_weekly_rate": false,
        "pay_period": "Monday-Sunday",
        "pay_frequency": "weekly",
        "timezone_name_updated": "America/New_York",
        "on_site_poc_entered": "",
        "on_site_poc": null,
        "type": "Touring",
    ...

HTTP Request

GET https://app.mertzcrew.com/api/projects

### URL Parameters

Parameters Description
skip The number of elements in the collection you want to skip.
limit The max number of records you want to retrieve.

Get Archived Projects Stats

This endpoint retrieves the stats of a clients archived projects.

curl -X GET "https://app.mertzcrew.com/api/archive_projects/stats"
  -H "Authorization: xxxxxxxxxxxx"

The above command returns JSON structured like this:

{
    "approved_projects": {
        "total_projects": 6
    },
    "completed_projects": {
        "total_projects": 0
    },
    "in_progress_projects": {
        "total_projects": 0
    },
    "future_projects": {
        "total_projects": 0
    },
    "grand_total_projects": {
        "total_projects": 6
    }
}

HTTP Request

GET https://app.mertzcrew.com/api/archive_projects/stats

Get Completed Archived Projects

This endpoint retrieves a clients "Completed" archived projects.

curl -X GET "https://app.mertzcrew.com/api/archive_projects/completed"
  -H "Authorization: xxxxxxxxxxxx"

The above command returns JSON structured like this:

[
    {
        "_id": "667444ad0095f79d8adb9747",
        "modified_on": "2024-07-02T18:08:41.397Z",
        "enable_auto_approve": false,
        "enable_auto_submit": false,
        "is_touring": true,
        "is_lump_sum": false,
        "is_daily_lump_sum": false,
        "is_pro_rate": false,
        "is_weekly_rate": false,
        "pay_period": "Monday-Sunday",
        "pay_frequency": "weekly",
        "timezone_name_updated": "America/New_York",
        "on_site_poc_entered": "",
    ...

HTTP Request

GET https://app.mertzcrew.com/api/archive_projects/completed

### URL Parameters

Parameters Description
skip The number of elements in the collection you want to skip.
limit The max number of records you want to retrieve.

Get "Approved" Archived Projects

This endpoint retrieves a clients "Approved" archived projects.

curl -X GET "https://app.mertzcrew.com/api/archive_projects/approved"
  -H "Authorization: xxxxxxxxxxxx"

The above command returns JSON structured like this:

[
    {
        "_id": "67324039143a69b3a5c03333",
        "modified_on": "2024-11-13T14:01:20.966Z",
        "enable_auto_approve": false,
        "enable_auto_submit": false,
        "is_lump_sum": false,
        "is_daily_lump_sum": false,
        "is_pro_rate": false,
        "is_weekly_rate": false,
        "timezone_name_updated": "America/New_York",
        "validated_location_on": "2024-11-11T17:34:38.427Z",
        "validated_location_via": "google",
        "validated_location": true,
    ...

HTTP Request

GET https://app.mertzcrew.com/api/archive_projects/approved

### URL Parameters

Parameters Description
skip The number of elements in the collection you want to skip.
limit The max number of records you want to retrieve.

Get "In Progress" Archived Projects

This endpoint retrieves all "In Progress" archived projects by the Client

curl -X GET "https://app.mertzcrew.com/api/archive_projects/in_progress"
  -H "Authorization: xxxxxxxxxxxx"

The above command returns JSON structured like this:

[
    {
        "_id": "6736236ef0b55e66bf8310b3",
        "modified_on": "2024-11-14T16:21:02.975Z",
        "enable_auto_approve": false,
        "enable_auto_submit": false,
        "is_lump_sum": false,
        "is_daily_lump_sum": false,
        "is_pro_rate": false,
        "is_weekly_rate": false,
        "timezone_name_updated": "America/Los_Angeles",
        "validated_location_on": "2024-11-14T16:20:46.534Z",
        "validated_location_via": "google",
        "validated_location": true,
    ...

HTTP Request

GET https://app.mertzcrew.com/api/archive_projects/in_progress

### URL Parameters

Parameters Description
skip The number of elements in the collection you want to skip.
limit The max number of records you want to retrieve.

Get "Future" Archived Projects

This endpoint retrieves all "Future" archived projects by the Client

curl -X GET "https://app.mertzcrew.com/api/archive_projects/future"
  -H "Authorization: xxxxxxxxxxxx"

The above command returns JSON structured like this:

[
    {
        "_id": "66b22b6c84e25463faf770da",
        "modified_on": "2024-08-14T16:19:53.934Z",
        "enable_auto_approve": false,
        "enable_auto_submit": false,
        "is_touring": true,
        "is_lump_sum": false,
        "is_daily_lump_sum": true,
        "is_pro_rate": false,
        "is_weekly_rate": false,
        "pay_period": "Monday-Sunday",
        "pay_frequency": "weekly",
        "timezone_name_updated": "America/New_York",
        "on_site_poc_entered": "",
        "on_site_poc": null,
        "type": "Touring",
    ...

HTTP Request

GET https://app.mertzcrew.com/api/archive_projects/future

### URL Parameters

Parameters Description
skip The number of elements in the collection you want to skip.
limit The max number of records you want to retrieve.

Get Archived Projects

This endpoint retrieves all archived projects by the Client

curl -X GET "https://app.mertzcrew.com/api/archive_projects"
  -H "Authorization: xxxxxxxxxxxx"

The above command returns JSON structured like this:

[
    {
        "_id": "667444ad0095f79d8adb9747",
        "modified_on": "2024-07-02T18:08:41.397Z",
        "enable_auto_approve": false,
        "enable_auto_submit": false,
        "is_touring": true,
        "is_lump_sum": false,
        "is_daily_lump_sum": false,
        "is_pro_rate": false,
        "is_weekly_rate": false,
        "pay_period": "Monday-Sunday",
        "pay_frequency": "weekly",
        "timezone_name_updated": "America/New_York",
        "on_site_poc_entered": "",
        "on_site_poc": null,
        "type": "Touring",
        "parent_project": null,
        "per_diem_amount": null,
        "rooms": "California",
    ...

HTTP Request

GET https://app.mertzcrew.com/api/archive_projects

### URL Parameters

Parameters Description
skip The number of elements in the collection you want to skip.
limit The max number of records you want to retrieve.

Get Client Users

This endpoint retrieves all client users by the Client

curl -X GET "https://app.mertzcrew.com/api/client_users/all/1"
  -H "Authorization: xxxxxxxxxxxx"

The above command returns JSON structured like this:

[
    {
        "_id": "581cb01344087c8e3ebe4af6",
        "last_name": "R",
        "first_name": "Alexia",
        "username": "pm@mrtz.com",
        "field_office": null,
        "client_role": {
            "_id": 4,
            "client": "549630aa4f7b88bb3c8ed42d",
            "employee_timesheet_read_only_access": "no",
            "invoice_access": "no",
            "crew_approval_step1": "yes",
            "manage_crew": "no",
            "manage_client_users": "no",
            "is_crew_approval_step2_editable": true,
            "crew_approval_step2": "no",
            "is_crew_rating_editable": true,
    ...

HTTP Request

GET https://app.mertzcrew.com/api/client_users/all/<CLIENT_ID>

### URL Parameters

Parameters Description
CLIENT_ID ID of the client "creating" a project.

Get My Archived Projects

This endpoint retrieves a client users archived projects.

curl -X GET "https://app.mertzcrew.com/api/my_archive_projects"
  -H "Authorization: xxxxxxxxxxxx"

The above command returns JSON structured like this:

[
    {
        "_id": "6729382f58def0001545c587",
        "modified_on": "2024-11-15T15:19:41.747Z",
        "enable_auto_approve": false,
        "enable_auto_submit": false,
        "is_lump_sum": false,
        "is_daily_lump_sum": false,
        "is_pro_rate": false,
        "is_weekly_rate": false,
        "timezone_name_updated": "America/Denver",
        "validated_location_on": "2024-11-04T21:09:34.977Z",
        "validated_location_via": "google",
        "validated_location": true,
    ...

HTTP Request

GET https://app.mertzcrew.com/api/my_archive_projects

Get My Archived Projects Future

This endpoint retrieves all of a client users "Future" archived projects.

curl -X GET "https://app.mertzcrew.com/api/my_archive_projects/future"
  -H "Authorization: xxxxxxxxxxxx"

The above command returns JSON structured like this:

[
    {
        "_id": "6729382f58def0001545c587",
        "modified_on": "2024-11-15T15:19:41.747Z",
        "enable_auto_approve": false,
        "enable_auto_submit": false,
        "is_lump_sum": false,
        "is_daily_lump_sum": false,
        "is_pro_rate": false,
        "is_weekly_rate": false,
        "timezone_name_updated": "America/Denver",
        "validated_location_on": "2024-11-04T21:09:34.977Z",
        "validated_location_via": "google",
        "validated_location": true,
    ...

HTTP Request

GET https://app.mertzcrew.com/api/my_archive_projects/future

Get My Archived Projects In Progress

This endpoint retrieves all of a client users "In Progress" archived projects.

curl -X GET "https://app.mertzcrew.com/api/my_archive_projects/in_progress"
  -H "Authorization: xxxxxxxxxxxx"

The above command returns JSON structured like this:

[
    {
        "_id": "6729382f58def0001545c587",
        "modified_on": "2024-11-15T15:19:41.747Z",
        "enable_auto_approve": false,
        "enable_auto_submit": false,
        "is_lump_sum": false,
        "is_daily_lump_sum": false,
        "is_pro_rate": false,
        "is_weekly_rate": false,
        "timezone_name_updated": "America/Denver",
        "validated_location_on": "2024-11-04T21:09:34.977Z",
        "validated_location_via": "google",
        "validated_location": true,
    ...

HTTP Request

GET https://app.mertzcrew.com/api/my_archive_projects/in_progress

Get My Archived Projects Completed

This endpoint retrieves all of a client users "Completed" archived projects.

curl -X GET "https://app.mertzcrew.com/api/my_archive_projects/completed"
  -H "Authorization: xxxxxxxxxxxx"

The above command returns JSON structured like this:

[
    {
        "_id": "6729382f58def0001545c587",
        "modified_on": "2024-11-15T15:19:41.747Z",
        "enable_auto_approve": false,
        "enable_auto_submit": false,
        "is_lump_sum": false,
        "is_daily_lump_sum": false,
        "is_pro_rate": false,
        "is_weekly_rate": false,
        "timezone_name_updated": "America/Denver",
        "validated_location_on": "2024-11-04T21:09:34.977Z",
        "validated_location_via": "google",
        "validated_location": true,
    ...

HTTP Request

GET https://app.mertzcrew.com/api/my_archive_projects/completed

Get My Archived Projects Approved

This endpoint retrieves all of a client users "Approved" archived projects.

curl -X GET "https://app.mertzcrew.com/api/my_archive_projects/approved"
  -H "Authorization: xxxxxxxxxxxx"

The above command returns JSON structured like this:

[
    {
        "_id": "6729382f58def0001545c587",
        "modified_on": "2024-11-15T15:19:41.747Z",
        "enable_auto_approve": false,
        "enable_auto_submit": false,
        "is_lump_sum": false,
        "is_daily_lump_sum": false,
        "is_pro_rate": false,
        "is_weekly_rate": false,
        "timezone_name_updated": "America/Denver",
        "validated_location_on": "2024-11-04T21:09:34.977Z",
        "validated_location_via": "google",
        "validated_location": true,
    ...

HTTP Request

GET https://app.mertzcrew.com/api/my_archive_projects/approved

Get My Archived Projects Stats

This endpoint retrieves the statuses of all of a client users archived projects.

curl -X GET "https://app.mertzcrew.com/api/my_archive_projects/stats"
  -H "Authorization: xxxxxxxxxxxx"

The above command returns JSON structured like this:

{
    "approved_projects": {
        "total_projects": 0
    },
    "completed_projects": {
        "total_projects": 1
    },
    "in_progress_projects": {
        "total_projects": 0
    },
    "future_projects": {
        "total_projects": 0
    },
    "grand_total_projects": {
        "total_projects": 1
    }
}

HTTP Request

GET https://app.mertzcrew.com/api/my_archive_projects/stats

Get Archived Projects

This endpoint retrieves all of a clients archived projects.

curl -X GET "https://app.mertzcrew.com/api/archive_projects"
  -H "Authorization: xxxxxxxxxxxx"

The above command returns JSON structured like this:

[
    {
        "_id": "6729382f58def0001545c587",
        "modified_on": "2024-11-15T15:19:41.747Z",
        "enable_auto_approve": false,
        "enable_auto_submit": false,
        "is_lump_sum": false,
        "is_daily_lump_sum": false,
        "is_pro_rate": false,
        "is_weekly_rate": false,
        "timezone_name_updated": "America/Denver",
        "validated_location_on": "2024-11-04T21:09:34.977Z",
        "validated_location_via": "google",
        "validated_location": true,
    ...

HTTP Request

GET https://app.mertzcrew.com/api/archive_projects

Get "Future" Archived Projects

This endpoint retrieves all of a clients "Future" archived projects.

curl -X GET "https://app.mertzcrew.com/api/archive_projects/future"
  -H "Authorization: xxxxxxxxxxxx"

The above command returns JSON structured like this:

[
    {
        "_id": "6729382f58def0001545c587",
        "modified_on": "2024-11-15T15:19:41.747Z",
        "enable_auto_approve": false,
        "enable_auto_submit": false,
        "is_lump_sum": false,
        "is_daily_lump_sum": false,
        "is_pro_rate": false,
        "is_weekly_rate": false,
        "timezone_name_updated": "America/Denver",
        "validated_location_on": "2024-11-04T21:09:34.977Z",
        "validated_location_via": "google",
        "validated_location": true,
    ...

HTTP Request

GET https://app.mertzcrew.com/api/archive_projects/future

Get "In Progress" Archived Projects

This endpoint retrieves all of a clients "In Progress" archived projects.

curl -X GET "https://app.mertzcrew.com/api/archive_projects/in_progress"
  -H "Authorization: xxxxxxxxxxxx"

The above command returns JSON structured like this:

[
    {
        "_id": "6729382f58def0001545c587",
        "modified_on": "2024-11-15T15:19:41.747Z",
        "enable_auto_approve": false,
        "enable_auto_submit": false,
        "is_lump_sum": false,
        "is_daily_lump_sum": false,
        "is_pro_rate": false,
        "is_weekly_rate": false,
        "timezone_name_updated": "America/Denver",
        "validated_location_on": "2024-11-04T21:09:34.977Z",
        "validated_location_via": "google",
        "validated_location": true,
    ...

HTTP Request

GET https://app.mertzcrew.com/api/archive_projects/in_progress

Get "Completed" Archived Projects

This endpoint retrieves all of a clients "Completed" archived projects.

curl -X GET "https://app.mertzcrew.com/api/archive_projects/completed"
  -H "Authorization: xxxxxxxxxxxx"

The above command returns JSON structured like this:

[
    {
        "_id": "6729382f58def0001545c587",
        "modified_on": "2024-11-15T15:19:41.747Z",
        "enable_auto_approve": false,
        "enable_auto_submit": false,
        "is_lump_sum": false,
        "is_daily_lump_sum": false,
        "is_pro_rate": false,
        "is_weekly_rate": false,
        "timezone_name_updated": "America/Denver",
        "validated_location_on": "2024-11-04T21:09:34.977Z",
        "validated_location_via": "google",
        "validated_location": true,
    ...

HTTP Request

GET https://app.mertzcrew.com/api/archive_projects/completed

Get "Approved" Archived Projects

This endpoint retrieves all of a clients "Approved" archived projects.

curl -X GET "https://app.mertzcrew.com/api/archive_projects/approved"
  -H "Authorization: xxxxxxxxxxxx"

The above command returns JSON structured like this:

[
    {
        "_id": "670ec14d451b88e6d4f17aa3",
        "modified_on": "2024-10-15T20:16:45.461Z",
        "enable_auto_approve": false,
        "enable_auto_submit": false,
        "is_lump_sum": false,
        "is_daily_lump_sum": true,
        "is_pro_rate": false,
        "is_weekly_rate": false,
        "pay_period": "Sunday-Saturday",
        "pay_frequency": "weekly",
        "timezone_name_updated": "America/New_York",
        "on_site_poc_entered": "",
        "on_site_poc": null,
    ...

HTTP Request

GET https://app.mertzcrew.com/api/archive_projects/approved

Get Archived Projects Stats

This endpoint retrieves the stats of all of a clients projects.

curl -X GET "https://app.mertzcrew.com/api/archive_projects/stats"
  -H "Authorization: xxxxxxxxxxxx"

The above command returns JSON structured like this:

{
    "approved_projects": {
        "total_projects": 6
    },
    "completed_projects": {
        "total_projects": 1
    },
    "in_progress_projects": {
        "total_projects": 0
    },
    "future_projects": {
        "total_projects": 0
    },
    "grand_total_projects": {
        "total_projects": 7
    }
}

HTTP Request

GET https://app.mertzcrew.com/api/archive_projects/stats

Get Project Notes

This endpoint retrieves all project contractor notes.

curl -X GET "https://app.mertzcrew.com/api/project_notes"
  -H "Authorization: xxxxxxxxxxxx"

The above command returns JSON structured like this:

[
    {
        "_id": "6736a6f0f0b55e66bf832906",
        "action": "create",
        "has_tags": false,
        "created_by": {
            "_id": "65132a2f6556fc001c84de9e",
            "username": "reginap@mertz.us",
            "client_role": 1,
            "first_name": "Regina",
            "field_office": null,
            "client": "549630aa4f7b88bb3c8ed42d",
      ...

HTTP Request

GET https://app.mertzcrew.com/api/project_notes

### URL Parameters

Parameters Description
contractor or employee ID of the contractor or employee whose notes you want to retrieve.

Delete Project Note

This endpoint deletes a project note.

curl -X DELETE "https://app.mertzcrew.com/api/project_note/1"
  -H "Authorization: xxxxxxxxxxxx"

The above command returns a Success/Error code structured like this:

200

HTTP Request

DELETE https://app.mertzcrew.com/api/project_note/<Note_ID>

### URL Parameters

Parameters Description
Note_ID ID of the note you want to delete

Create Project Note

This endpoint posts a project note.

curl -X POST "https://app.mertzcrew.com/api/project_note"
  -H "Authorization: xxxxxxxxxxxx"

The above command returns a Success/Error code structured like this:

{
    "id": "673e49e94e839d1b6eea171b"
}

HTTP Request

POST https://app.mertzcrew.com/api/project_note

### URL Parameters

Parameters Description
Contractor or Employee "contractor" or "employee" id to post the note to.

Get A Specific Projects Notes

This endpoint retrieves a specific project contractors notes.

curl -X GET "https://app.mertzcrew.com/api/project/1/notes"
  -H "Authorization: xxxxxxxxxxxx"

The above command returns JSON structured like this:

{
    "status": "success",
    "message": "Query project notes successful.",
    "data": [
        {
            "_id": "67368376e1ab810c089b4cd4",
            "is_internal": true,
            "is_log": true,
            "category": "Notification",
            "log_type": "Contractor",
            "action": "create",
            "has_tags": true,
            "crew": null,
      ...

HTTP Request

GET https://app.mertzcrew.com/api/project/<Project_ID>/notes

URL Parameters

Parameters Description
Project_ID ID of the contractor project from which the tech is assigned.
contractor/employee contractor/employee ID whose notes you want to retrieve

Get Notes by Project and Note ID

This endpoint retrieves a specific note and requires the Project ID.

curl -X GET "https://app.mertzcrew.com/api/project/1/note/2"
  -H "Authorization: xxxxxxxxxxxx"

The above command returns JSON structured like this:

{
    "_id": "6736a6f0f0b55e66bf832906",
    "action": "create",
    "has_tags": false,
    "created_by": {
        "_id": "65132a2f6556fc001c84de9e",
        "username": "reginap@mertz.us",
        "client_role": 1,
        "first_name": "Regina",
        "field_office": null,
  ...

HTTP Request

GET https://app.mertzcrew.com/api/project/<PROJECT_ID>/note/<NOTE_ID>

URL Parameters

Parameters Description
PROJECT_ID ID of the project from which the note is being retrieved.
NOTE_ID ID of the Note you want to retrieve.

Delete Notes by Project and Note ID

This endpoint deletes a specific note and requires the Project ID.

curl -X DELETE "https://app.mertzcrew.com/api/project/1/note/2"
  -H "Authorization: xxxxxxxxxxxx"

The above command returns a response code like this:

200

HTTP Request

DELETE https://app.mertzcrew.com/api/project/<PROJECT_ID>/note/<NOTE_ID>

### URL Parameters

Parameters Description
PROJECT_ID ID of the project from which the note is being deleted.
NOTE_ID ID of the Note you want to delete.

Final Approve a Specific Project

This endpoint final approves a specific project.

curl -H "Content-Type: application/json" -X POST "https://app.mertzcrew.com/api/project/1/approve_final"
  -H "Authorization: xxxxxxxxxxxx"

For a complete list refer to the section POST parameters.

HTTP Request

POST https://app.mertzcrew.com/api/project/<ID>/approve_final

URL Parameters

Parameter Description
ID The ID of the project of the assignment

Archive Project

This endpoint archives a specified project.

curl -X PUT "https://app.mertzcrew.com/api/project/<project_id>/archive"
  -H "Authorization: xxxxxxxxxxxx"

The above command returns a Success/Error code structured like this:

{[
    {
        "status": "success",
        "message": "Project 67534aadf03b8c530b922301 has been archived."
    }
]}

HTTP Request

POST "https://app.mertzcrew.com/api/project/<project_id>/archive"

URL Parameters

Parameters Description
PROJECT_ID ID of the project that is being arhived

Unarchive Project

This endpoint unarchives a specified project.

curl -X PUT "https://app.mertzcrew.com/api/project/<project_id>/unarchive"
  -H "Authorization: xxxxxxxxxxxx"

The above command returns a Success/Error code structured like this:

{[
    {
        "status": "success",
        "message": "Project 67534aadf03b8c530b922301 has been unarchived."
    }
]}

HTTP Request

POST "https://app.mertzcrew.com/api/project/<project_id>/unarchive"

URL Parameters

Parameters Description
PROJECT_ID ID of the project that is being unarhived.

Assignments

Get All Project Assignments

This endpoint retrieves all assignments for a specific project.

curl "https://app.mertzcrew.com/api/project/1/contractors"
  -H "Authorization: xxxxxxxxxxxx"

The above command returns JSON structured like this:

[{
  "_id": "2",
  "department": "Audio",
  "status": "Accepted",
  "modified_by": "57ab828fd9f336f86f3b1be8",
  "modified_on": "2018-05-29T15:09:32.877Z",
  "daily_rate": 350,
  "start_date": "2018-06-11T12:00:50.290Z",
  ...
}]

HTTP Request

GET https://app.mertzcrew.com/api/project/<ID>/contractors

URL Parameters

Parameter Description
ID The ID of the project to retrieve all assignments

Get a Specific Project Assignment

This endpoint retrieves a specific assignment for a specific project.

curl "https://app.mertzcrew.com/api/project/1/contractor/2"
  -H "Authorization: xxxxxxxxxxxx"

The above command returns JSON structured like this:

{
  "_id": "2",
  "department": "Audio",
  "status": "Accepted",
  "modified_by": "57ab828fd9f336f86f3b1be8",
  "modified_on": "2018-05-29T15:09:32.877Z",
  "daily_rate": 350,
  "start_date": "2018-06-11T12:00:50.290Z",
  ...
}

HTTP Request

GET https://app.mertzcrew.com/api/project/<PROJECT_ID>/contractors/<ASSIGNMENT_ID>

URL Parameters

Parameter Description
PROJECT_ID The ID of the project to retrieve the assignment from
ASSIGNMENT_ID The ID of the assignment to retrieve

Create Project Assignment

This endpoint creates a new assignment for a specific project.

curl -d "@data.json" -H "Content-Type: application/json" -X POST "https://app.mertzcrew.com/api/project/1/contractor"
  -H "Authorization: xxxxxxxxxxxx"

The above command requires data.json to have the following format:

{
  "contractor": "569702a6026b03086fa378c9",
  "contractor_role": "4",
  "daily_rate": 350,
  "pay_model": "564fda3fc4b109fc4a1726d4",
  "timesheets": [[{"start_date_time":"2018-08-19","end_date_time":"2018-08-19","break":null,"is_half_day":false,"is_travel":false,"no_time_entries":true},{"start_date_time":"2018-08-20","end_date_time":"2018-08-20","break":null,"is_half_day":false,"is_travel":false,"no_time_entries":true}]]
  ...
}

For a complete list refer to the section POST parameters.

HTTP Request

POST https://app.mertzcrew.com/api/project/<ID>/contractor

URL Parameters

Parameter Description
ID The ID of the project to retrieve all assignments

POST Parameters

Parameter Description
contractor The email address (or ID if known) of the contractor if this assignment is for a contractor
employee The email address (or ID if known) of the employee if this assignment is for an employee
contractor_role The ID of the role for this assignment
daily_rate The rate amount for this assignment
pay_model The ID of the pay rule/model
timesheets The schedule of the assignment - this is a JSON object with a start_date_time, end_date_time, break, is_half_day, is_travel, no_time_entries

Edit a Specific Project Assignment

This endpoint edits a specific assignment for a specific project.

curl -d "@data.json" -H "Content-Type: application/json" -X PUT "https://app.mertzcrew.com/api/project/1/contractor/2"
  -H "Authorization: xxxxxxxxxxxx"

The above command requires data.json to have the following format:

{
  "_id": "569702a6026b03086fa378c8",
  "contractor": "569702a6026b03086fa378c9",
  "contractor_role": "4",
  "daily_rate": 350,
  "pay_model": "564fda3fc4b109fc4a1726d4",
  "timesheets": [[{"start_date_time":"2018-08-19","end_date_time":"2018-08-19","break":null,"is_half_day":false,"is_travel":false,"no_time_entries":true},{"start_date_time":"2018-08-20","end_date_time":"2018-08-20","break":null,"is_half_day":false,"is_travel":false,"no_time_entries":true}]]
  ...
}

For a complete list refer to the section PUT parameters.

HTTP Request

PUT https://app.mertzcrew.com/api/project/<ID>/contractor/<ASSIGNMENT_ID>

URL Parameters

Parameter Description
ID The ID of the project of the assignment
ASSIGNMENT_ID The ID of the assignment you want to edit

PUT Parameters

Parameter Description
_id The ID of the assignment
contractor The email address (or ID if known) of the contractor if this assignment is for a contractor
employee The email address (or ID if known) of the employee if this assignment is for an employee
contractor_role The ID of the role for this assignment
daily_rate The rate amount for this assignment
pay_model The ID of the pay rule/model
timesheets The schedule of the assignment - this is a JSON object with a start_date_time, end_date_time, break, is_half_day, is_travel, no_time_entries

Approve a Specific Project Assignment

This endpoint approves a specific assignment for a specific project.

curl -H "Content-Type: application/json" -X POST "https://app.mertzcrew.com/api/project/1/contractor/2/approve"
  -H "Authorization: xxxxxxxxxxxx"

For a complete list refer to the section POST parameters.

HTTP Request

PUT https://app.mertzcrew.com/api/project/<ID>/contractor/<ASSIGNMENT_ID>/approve

URL Parameters

Parameter Description
ID The ID of the project of the assignment
ASSIGNMENT_ID The ID of the assignment you want to edit

Approve a Timesheet Entry for a Specific Project Assignment

This endpoint approves a specific timesheet entry assignment for a specific project.

curl -H "Content-Type: application/json" -X POST "https://app.mertzcrew.com/api/project/1/contractor/2/approve/3"
  -H "Authorization: xxxxxxxxxxxx"

The above command requires data.json to have the following format:

{
    "date": "2021-03-08T00:00:00" 
}

For a complete list refer to the section POST parameters.

HTTP Request

POST https://app.mertzcrew.com/api/project/<ID>/contractor/<CONTRACTOR_ID>/approve/<TIMESHEET_ENTRY_ID>

URL Parameters

Parameter Description
ID The ID of the project of the assignment
CONTRACTOR_ID The ID of the contractor of the timesheet you want to edit
TIMESHEET_ENTRY_ID The ID of the timehseet entry you want to edit

POST Parameters

Parameter Description
date The date of the timesheet entry you would like to reject.

Approve all Assignments for a Specific Project

This endpoint approves all assignments for a specific project.

curl -H "Content-Type: application/json" -X POST "https://app.mertzcrew.com/api/project/1/approve_all"
  -H "Authorization: xxxxxxxxxxxx"

For a complete list refer to the section POST parameters.

HTTP Request

POST https://app.mertzcrew.com/api/project/<ID>/approve_all

URL Parameters

Parameter Description
ID The ID of the project of the assignment

Reject a Specific Project Assignment

This endpoint rejects a specifice assignment for a specific project.

curl -H "Content-Type: application/json" -X POST "https://app.mertzcrew.com/api/project/1/contractor/2/reject"
  -H "Authorization: xxxxxxxxxxxx"

The above command requires data.json to have the following format:

{
    "reason": "Please clarify your hours for this day", 
}

For a complete list refer to the section POST parameters.

HTTP Request

POST https://app.mertzcrew.com/api/project/<ID>/contractor/<CONTRACTOR_ID>/reject

URL Parameters

Parameter Description
ID The ID of the project of the assignment
CONTRACTOR_ID The ID of the contractor of the timesheet you want to edit
TIMESHEET_ENTRY_ID The ID of the timehseet entry you want to edit

POST Parameters

Parameter Description
reason The message to the contractor for the rejection.

Reject a Timesheet Entry for a Specific Project Assignment

This endpoint rejects a specific timesheet entry assignment for a specific project.

curl -H "Content-Type: application/json" -X POST "https://app.mertzcrew.com/api/project/1/contractor/2/reject/3"
  -H "Authorization: xxxxxxxxxxxx"

The above command requires data.json to have the following format:

{
    "reason": "Please clarify your hours for this day", 
    "date": "2021-03-08T00:00:00" 
}

For a complete list refer to the section POST parameters.

HTTP Request

POST https://app.mertzcrew.com/api/project/<ID>/contractor/<CONTRACTOR_ID>/reject/<TIMESHEET_ENTRY_ID>

URL Parameters

Parameter Description
ID The ID of the project of the assignment
CONTRACTOR_ID The ID of the contractor of the timesheet you want to edit
TIMESHEET_ENTRY_ID The ID of the timehseet entry you want to edit

POST Parameters

Parameter Description
reason The message to the contractor for the rejection of the timesheet entry.
date The date of the timesheet entry you would like to reject.

Delete a Specific Project Assignment

This endpoint deletes a specific assignment for a specific project.

curl -X DELETE "https://app.mertzcrew.com/api/project/1/contractor/2"
  -H "Authorization: xxxxxxxxxxxx"

The above command returns an HTTP status code of 200 if successful. Refer to the Error section for error codes.

HTTP Request

DELETE https://app.mertzcrew.com/api/project/<ID>/contractor/<ASSIGNMENT_ID>

URL Parameters

Parameter Description
ID The ID of the project of the assignment
ASSIGNMENT_ID The ID of the assignment you want to edit

Publish a Specific Project Assignment

This endpoint publishes a specific assignment for a specific project. This generates a contract or notification and sends it to the technician assigned.

curl -X POST "https://app.mertzcrew.com/api/project/1/publish/2"
  -H "Authorization: xxxxxxxxxxxx"

The above command returns an HTTP status code of 200 if successful. Refer to the Error section for error codes.

HTTP Request

POST https://app.mertzcrew.com/api/project/<ID>/publish/<ASSIGNMENT_ID>

URL Parameters

Parameter Description
ID The ID of the project of the assignment
ASSIGNMENT_ID The ID of the assignment you want to edit

Publish all Project Assignments

This endpoint publishes all assignments for a specific project. This generates any contracts and/or notifications for the assigned technician.

curl -X POST "https://app.mertzcrew.com/api/project/1/publish"
  -H "Authorization: xxxxxxxxxxxx"

The above command returns an HTTP status code of 200 if successful. Refer to the Error section for error codes.

HTTP Request

POST https://app.mertzcrew.com/api/project/<ID>/publish

URL Parameters

Parameter Description
ID The ID of the project of the assignment
ASSIGNMENT_ID The ID of the assignment you want to edit

Contractors

Search for Contractors

This endpoint allows you to search our database of contractors.

curl -X GET "https://app.mertzcrew.com/api/contractor/search/stagehand"
  -H "Authorization: xxxxxxxxxxxx"

The above command returns an HTTP status code of 200 if successful. Refer to the Error section for error codes.

HTTP Request

GET https://app.mertzcrew.com/api/contractor/search/<CRITERIA>

URL Parameters

Parameter Description
CRITERIA The text you want to use as your search criteria

Get a Specific Contractor

This endpoint retreives a specific contractor.

curl -X GET "https://app.mertzcrew.com/api/contractor/1"
  -H "Authorization: xxxxxxxxxxxx"

The above command returns an HTTP status code of 200 if successful. Refer to the Error section for error codes.

HTTP Request

GET https://app.mertzcrew.com/api/contractor/<ID>

URL Parameters

Parameter Description
ID The ID of the contractor you want to retrieve

Employees

Search for Employees

This endpoint allows you to search your employee database in Mertzcrew.

curl -X GET "https://app.mertzcrew.com/api/employee/search/stagehand"
  -H "Authorization: xxxxxxxxxxxx"

The above command returns an HTTP status code of 200 if successful. Refer to the Error section for error codes.

HTTP Request

GET https://app.mertzcrew.com/api/employee/search/<CRITERIA>

URL Parameters

Parameter Description
CRITERIA The text you want to use as your search criteria

Get a Specific Employee

This endpoint retreives a specific employee in Mertzcrew.

curl -X GET "https://app.mertzcrew.com/api/employee/1"
  -H "Authorization: xxxxxxxxxxxx"

The above command returns an HTTP status code of 200 if successful. Refer to the Error section for error codes.

HTTP Request

GET https://app.mertzcrew.com/api/employee/<ID>

URL Parameters

Parameter Description
ID The ID of the employee you want to retrieve

Timesheets

Get All Timesheets

This endpoint allows you to get all timesheet periods along with all timesheet entries.

curl -X GET "https://app.mertzcrew.com/api/employees/1/timesheets"
  -H "Authorization: xxxxxxxxxxxx"

The above command returns JSON structured like this:

{
    "results": [
        {
            "start_date": "2024-09-11T07:00:00.000Z",
            "end_date": "2024-09-17T07:00:00.000Z",
            "employees": [
                {
                    "_id": "57681dbfaf67a09d1f15bf1f",
                    "first_name": "Jeffery",
                    "last_name": "Smith",
                    "main_office": "Acme",
                    "main_office_id": "549630aa4f7b88bb3c8ed42d",
                    "employee_type": "",
                    "timesheet_id": "66e2f25d554b3fde54df1cb6",
                    "hours": 0,
                    "pto_hours": 0,
                    "low_rate_hours": 0,
                    "expenses": 0,
                    "per_diem": 0,
                    "status": "Awaiting Submittal"
                }
            ]
        }, 

HTTP Request

GET https://app.mertzcrew.com/api/employees/<ID>/timesheets

URL Parameters

Parameter Description
ID The ID of the Client (client)

Get a Specific Employee Timesheet

This endpoint retreives a specific employees timesheet.

curl -X GET "https://app.mertzcrew.com/api/employee/1/?timesheet_details=2"
  -H "Authorization: xxxxxxxxxxxx"

The above command returns JSON structured like this:

{
    "_id": "5e8ce8f10e28c20013236b7c",
    "user": {
        "_id": "5e8ce8f10e28c20013236b7b",
        "postal_code": "12345",
        "address": "123 Main Street",
        "last_name": "Iverson",
        "first_name": "Allen",
        "city": "Seattle",
        "state_province": {
            ...
        },
        "username": "ai@aol.com",
        "country": {
            ...
        },

HTTP Request

https://app.mertzcrew.com/api/employee/<ID>/?timesheet_details=<timesheet_id>

URL Parameters

Parameter Description
ID The ID of the employee whose timesheet you want to approve
timesheet_id The ID of the timesheet you want to approve

Force Submit a Specific Employee Timesheet

This endpoint forces the submit of a specific employees timesheet.

curl -X POST "https://app.mertzcrew.com/api/employee/1/forcesubmit_timesheet"
  -H "Authorization: xxxxxxxxxxxx"

The above command returns JSON structured like this:

{
    "status": "success",
    "message": "Timesheet entries submitted successfully.",
    "data": {
        "forced_submit_by": "65132a2f6556fc001c84de9e",
        "forced_submit_on": "2024-09-22T19:55:40.896Z",
        "is_forced_submit": true,
        "submitted_on": "2024-09-22T19:55:40.896Z",
        "start_date": "2024-09-04T07:00:00.000Z",
        "end_date": "2024-09-10T07:00:00.000Z",
        "start_date_string": "20240904",
        "end_date_string": "20240910",
        "status": "Pending Approval",
        "_id": "66d87a33d15c1200159eff18",
    }
}

HTTP Request

https://app.mertzcrew.com/api/employee/<ID>/forcesubmit_timesheet

URL Parameters

Parameter Description
ID The ID of the employee you want to submit
Body Description
timesheet_id the ID of the timesheet you want to submit

Clarify Employee Timesheet

This endpoint rejects/requests clarification for an employees timesheet.

curl -X POST "https://app.mertzcrew.com/api/employee/1/reject_timesheet/2"
  -H "Authorization: xxxxxxxxxxxx"

The above command returns JSON structured like this:

{
    "status": "success",
    "message": "Timesheet entries submitted successfully.",
    "data": {
        "start_date": "2024-07-10T07:00:00.000Z",
        "end_date": "2024-07-16T07:00:00.000Z",
        "start_date_string": "20240710",
        "end_date_string": "20240716",
        "status": "Clarify",
        "_id": "66b14e2384e25463faf76b16",
        "hours": 0,
        "pto_hours": 0,
        "rate_hours": 0,

HTTP Request

https://app.mertzcrew.com/api/employee/<ID>/reject_timesheet/<timesheet_id>

URL Parameters

Parameter Description
ID The ID of the employee you want to clarify
timesheet_id the ID of the timesheet you want to clarify

Approve Employee Timesheet

This endpoint approves a specific employee timesheet.

curl -X POST "https://app.mertzcrew.com/api/employee/1/approve_timesheet/2"
  -H "Authorization: xxxxxxxxxxxx"

The above command returns JSON structured like this:

{
    "status": "success",
    "message": "Timesheet entries submitted successfully.",
    "data": {
        "submitted_on": "2024-09-23T19:42:20.007Z",
        "is_forced_submit": true,
        "forced_submit_on": "2024-09-23T19:42:20.007Z",
        "forced_submit_by": "65132a2f6556fc001c84de9e",
        "rate_low_hours": 0,
        "rate_hours": 0,
        "pto_hours": 0,
        "hours": 0,
        "_id": "66c37950e64a8167aa419e48",
        "status": "Approved",
        "end_date_string": "20240813",
        "start_date_string": "20240807",
        "end_date": "2024-08-13T07:00:00.000Z",
        "start_date": "2024-08-07T07:00:00.000Z",

HTTP Request

https://app.mertzcrew.com/api/employee/<ID>/approve_timesheet/<timesheet_id>

URL Parameters

Parameter Description
ID The ID of the employee you want to approve
timesheet_id The ID of the timesheet you want to approve

Get Timesheet Details

This endpoint retrieves the details of a specific timesheet.

curl -X GET "https://app.mertzcrew.com/api/employee/1?timesheet_details=2"
  -H "Authorization: xxxxxxxxxxxx"

The above command returns JSON structured like this:

{
    "_id": "5e8ce8f10e28c20013236b7c",
    "user": {
        "_id": "5e8ce8f10e28c20013236b7b",
        "postal_code": "12345",
        "address": "123 Main Street",
        "last_name": "Iverson",
        "first_name": "Allen",
        "city": "Seattle",
        "state_province": {
            ...

HTTP Request

GET https://app.mertzcrew.com/api/employee/<ID>?timesheet_details=<timesheet_id>

URL Parameters

Parameter Description
ID The ID of the employee you want to retrieve
timesheet_id The ID of the timesheet you want to retrieve

Download Timesheets By Employee

This endpoint retrieves the timesheets of a specific employee as an excel document.

curl -X GET "https://app.mertzcrew.com/api/employee/1?timesheet_details=2&generate_report=application/vnd.ms-excel"
  -H "Authorization: xxxxxxxxxxxx"

The above command returns an excel file (.xlsx) where content-type/mime-type is application/vnd.ms-excel

HTTP Request

GET https://app.mertzcrew.com/api/employee/<ID>?timesheet_details=<timesheet_id>&generate_report=application/vnd.ms-excel

URL Parameters

Parameter Description
ID The ID of the employee whose timesheets you want to download
timesheet_id The ID of the timesheet you want to retrieve

Download Timesheets By Client

This endpoint retrieves the timesheets from a specific client.

curl -X GET "https://app.mertzcrew.com/api/employees/reports/payroll/1/2?main_office=3&field_office=4"
  -H "Authorization: xxxxxxxxxxxx"

The above command returns an excel file (.xlsx) where content-type/mime-type is application/vnd.ms-excel

HTTP Request

GET https://app.mertzcrew.com/api/employees/reports/payroll/<start_date>/<end_date>?main_office=<main_office_id>&field_office=<field_office_id>

URL Parameters

Parameter Description
start_date as a timestamp
end_date as a timestamp
main_office_id ID of the client's main office. Can be found in the "Get All Timesheets" response
field_office_id ID of the field office. Can be found in the "Get All Timesheets" response (optional)

Download Timesheets By Start/End Date

This endpoint retrieves the timesheets from a specific date range.

curl -X GET "https://app.mertzcrew.com/api/employees/reports/payroll/1/2"
  -H "Authorization: xxxxxxxxxxxx"

The above command returns an excel file (.xlsx) where content-type/mime-type is application/vnd.ms-excel

HTTP Request

GET https://app.mertzcrew.com/api/employees/reports/payroll/<start_date>/<end_date>

URL Parameters

Parameter Description
start_date as a timestamp
end_date as a timestamp

Errors

Mertzcrew uses conventional HTTP response codes to indicate the success or failure of an API request. In general: Codes in the 2xx range indicate success. Codes in the 4xx range indicate an error that failed given the information provided (e.g., a required parameter was omitted, etc.). Codes in the 5xx range indicate an error with our servers.

Some 4xx errors that could be handled programmatically (e.g., add a required parameter). We include an error message that briefly explains the error reported.

Error Code Meaning
400 Bad Request -- The request was unacceptable, often due to missing a required parameter.
401 Unauthorized -- No valid API token provided.
402 Request Failed -- The parameters were valid but the request failed.
403 Forbidden -- The enpoint requested is hidden for administrators only.
404 Not Found -- The requested resource doesn't exist.
405 Method Not Allowed -- You tried to access an endpoint with an invalid HTTP verb.
409 Conflict -- The request conflicts with another request (perhaps due to using the same idempotent key).
429 Too Many Requests -- Too many requests hit the API too quickly. We recommend an exponential backoff of your requests.
500 Internal Server Error -- We had a problem with our server. Try again later.
503 Service Unavailable -- We're temporarially offline for maintanance. Please try again later.