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. |