Introduction
Welcome! Appia's API provides the tools needed for developing integrations between the Appia service and other software applications. You can use this API to access Appia resources programmatcally using standard HTTP requests in a RESTful manner.
All requests should be made over SSL. All request and response bodies, including errors, are encoded in JSON.
Authentication
To authorize, use this code:
curl "api_endpoint_here"
-H "Authorization: Bearer a8de477316013a267ecee639aa7e4c9a"
The Appia service uses API keys to allow access to the API.
To prevent misuse, tokens need to be protected from disclosure in storage and in transport. The Appia service expects for the token to be included in all authenticated requests to the server as part of the Authorization request header field:
Authorization: Bearer a8de477316013a267ecee639aa7e4c9a
Projects
Get All Projects
curl "https://appia.net/api/v1/projects"
-H "Authorization: Bearer a8de477316013a267ecee639aa7e4c9a"
The above command returns JSON structured like this:
{
"projects": [
{
"id": "0632d565-be61-4944-9c49-fc38453292eb",
"name": "Main Street Resurfacing Project",
"description": "project description",
"notice_to_proceed_date": "2019-11-01",
"status": "construction",
"awarded_amount": "523282.45",
"authorized_amount": "443282.45"
}, {
"id": "d51d04aa-8df1-4021-8589-6b5a7e0f9ac7",
"name": "I-75 Lane Reconfiguration",
"description": "project description",
"notice_to_proceed_date": "2017-12-04",
"status": "construction",
"awarded_amount": "233082.50",
"authorized_amount": "283952.76"
}
]
}
This endpoint retrieves all projects.
HTTP Request
GET https://appia.net/api/v1/projects
Get Project Attachments
curl "https://appia.net/api/v1/projects/<ID>/attachments"
-H "Authorization: Bearer a8de477316013a267ecee639aa7e4c9a"
The above command returns JSON structured like this:
{
"attachments": [
{
"id": "a1d5be86-4597-48b2-953a-88e3d51ed0dd",
"name": "Bridge's blueprint",
"description": "Detailed blueprint of bridge.",
"attachment_group": null,
"filename": "blueprint.pdf"
}
]
}
This endpoint retrieves a specific project's attachments.
HTTP Request
GET https://appia.net/api/v1/projects/<ID>/attachments
URL Parameters
Parameter | Description |
---|---|
ID | The ID of the project you would like to retrieve attachments for |
Get Project Contractors
curl "https://appia.net/api/v1/projects/<ID>/contractors"
-H "Authorization: Bearer a8de477316013a267ecee639aa7e4c9a"
The above command returns JSON structured like this:
{
"contractors": [
{
"id": "e37a96c2-8b32-475b-93ef-3200cd1a8f4e",
"project_id": "0632d565-be61-4944-9c49-fc38453292eb",
"awarded_amount": "123.0",
"prime": true,
"created_at": "2020-07-26T22:25:29.885-04:00",
"contractor_type": "DBE",
"name": "Bob's Contractors, LLC.",
"code": "12-3456"
}
]
}
This endpoint retrieves a specific project's contractors.
HTTP Request
GET https://appia.net/api/v1/projects/<ID>/contractors
URL Parameters
Parameter | Description |
---|---|
ID | The ID of the project you would like to retrieve contractors for |
Get Project Daily Reports
curl "https://appia.net/api/v1/projects/<ID>/daily_reports"
-H "Authorization: Bearer a8de477316013a267ecee639aa7e4c9a"
The above command returns JSON structured like this:
{
"daily_reports": [
{
"id": "7970e650-94c6-4483-a15b-b8585ad91840",
"project_id": "0632d565-be61-4944-9c49-fc38453292eb",
"daily_report_at": "2020-07-24",
"status": "draft"
}
]
}
This endpoint retrieves a specific project's daily reports.
HTTP Request
GET https://appia.net/api/v1/projects/<ID>/daily_reports
URL Parameters
Parameter | Description |
---|---|
ID | The ID of the project you would like to retrieve daily reports for |
Get Project Fund Packages
curl "https://appia.net/api/v1/projects/<ID>/fund_packages"
-H "Authorization: Bearer a8de477316013a267ecee639aa7e4c9a"
The above command returns JSON structured like this:
{
"fund_packages": [
{
"id": "772f1a5d-8388-41c7-b6df-9aa134ee4ba5",
"project_id": "0632d565-be61-4944-9c49-fc38453292eb",
"name": "Fund Package"
}
]
}
This endpoint retrieves a specific project's fund packages.
HTTP Request
GET https://appia.net/api/v1/projects/<ID>/fund_packages
URL Parameters
Parameter | Description |
---|---|
ID | The ID of the project you would like to retrieve fund packages for |
Get Project Fund Sources
curl "https://appia.net/api/v1/projects/<ID>/fund_sources"
-H "Authorization: Bearer a8de477316013a267ecee639aa7e4c9a"
The above command returns JSON structured like this:
{
"fund_sources": [
{
"id": "041aae09-0e8d-4d0c-9ade-1924927d5ac8",
"project_id": "0632d565-be61-4944-9c49-fc38453292eb",
"name": "Fund Source"
}
]
}
This endpoint retrieves a specific project's fund sources.
HTTP Request
GET https://appia.net/api/v1/projects/<ID>/fund_sources
URL Parameters
Parameter | Description |
---|---|
ID | The ID of the project you would like to retrieve fund sources for |
Get Project Items
curl "https://appia.net/api/v1/projects/<ID>/items"
-H "Authorization: Bearer a8de477316013a267ecee639aa7e4c9a"
The above command returns JSON structured like this:
{
"items": [
{
"id": "2be0f5d7-d6fe-4200-82a5-cf0497600e0e",
"project_id": "0632d565-be61-4944-9c49-fc38453292eb",
"line_number": "0010",
"code": "201.06",
"description": "select fill",
"section_id": "d0629c7e-e420-45c3-866f-3a9b97a0e6fd",
"unit": "CY",
"quantity": "200.0",
"unit_price": "15.0",
"extension": "3000.0",
"lump_sum": null
}
]
}
This endpoint retrieves a specific project's items.
HTTP Request
GET https://appia.net/api/v1/projects/<ID>/items
URL Parameters
Parameter | Description |
---|---|
ID | The ID of the project you would like to retrieve items for |
Get Project Materials
curl "https://appia.net/api/v1/projects/<ID>/materials"
-H "Authorization: Bearer a8de477316013a267ecee639aa7e4c9a"
The above command returns JSON structured like this:
{
"materials": [
{
"id": "ea68eca6-34af-4438-a664-5605b70bfb42",
"project_id": "0632d565-be61-4944-9c49-fc38453292eb",
"code": "713C",
"description": "202.001 turf",
"unit": "SY"
}
]
}
This endpoint retrieves a specific project's materials.
HTTP Request
GET https://appia.net/api/v1/projects/<ID>/materials
URL Parameters
Parameter | Description |
---|---|
ID | The ID of the project you would like to retrieve materials for |
Get Project Payments
curl "https://appia.net/api/v1/projects/<ID>/payments"
-H "Authorization: Bearer a8de477316013a267ecee639aa7e4c9a"
The above command returns JSON structured like this:
{
"payments": [
{
"id": "7ae5c16b-cade-4ee5-be43-edde6d13c316",
"project_id": "0632d565-be61-4944-9c49-fc38453292eb",
"status": "paid",
"start_at": "2019-11-01",
"end_at": "2019-11-06",
"final": null,
"total": "31685.0",
"total_to_date": "31685.0"
}, {
"id": "8bd3c16b-wade-bee5-be43-edde6d13c316",
"project_id": "0632d565-be61-4944-9c49-fc38453292eb",
"status": "paid",
"start_at": "2019-11-07",
"end_at": "2019-12-06",
"final": true,
"total": "3000.0",
"total_to_date": "34685.0"
}
]
}
This endpoint retrieves a specific project's payments.
HTTP Request
GET https://appia.net/api/v1/projects/<ID>/payments
URL Parameters
Parameter | Description |
---|---|
ID | The ID of the project you would like to retrieve payments for |
Fund Packages
Get a Specific Fund Package
curl "https://appia.net/api/v1/fund_packages/<ID>"
-H "Authorization: a8de477316013a267ecee639aa7e4c9a"
The above command returns JSON structured like this:
{
"id": "995a3abd-eb6a-468c-b018-6a3629a86724",
"project_id": "0632d565-be61-4944-9c49-fc38453292eb",
"name": "Federal",
"created_at": "2020-07-26T22:31:08.872-04:00",
"fund_package_sources": [
{
"id": "728e5cfe-0bc7-4f10-ad0e-a3fa932be9f8",
"fund_source_id": "e4ec30b3-c6cb-4820-84ae-bd0676e078e4",
"extension": "24935.0",
"percent": "100.0",
"created_at": "2020-07-26T22:31:08.879-04:00"
}, {
"id": "27411c02-5bf5-48ed-b687-83df9b2b2540",
"fund_source_id": "52c21229-fd86-4306-acc3-c4cdf57e70ee",
"extension": "0.0",
"percent": "0.0",
"created_at": "2020-07-26T22:31:08.900-04:00"
}
]
}
This endpoint retrieves a specific fund package.
HTTP Request
GET https://appia.net/api/v1/fund_packages/<ID>
URL Parameters
Parameter | Description |
---|---|
ID | The ID of the fund package to retrieve |
Fund Sources
Get a Specific Fund Source
curl "https://appia.net/api/v1/fund_sources/<ID>"
-H "Authorization: a8de477316013a267ecee639aa7e4c9a"
The above command returns JSON structured like this:
{
"id": "3ccc045a-e2a2-4b5a-899d-f7aed7932932",
"name": "Fund Source 1",
"project_id": "0632d565-be61-4944-9c49-fc38453292eb",
"created_at": "2020-07-26T22:33:07.362-04:00",
"fund_package_sources": [
{
"id": "b58ddcc2-ed9b-4fde-a66a-1c8a2d6be7d5",
"percent": "0.0",
"extension": "0.0",
"fund_package_id": "b09d6ab9-fed2-4a47-b3d5-a8d47b044ccb",
"created_at": "2020-07-26T22:33:07.363-04:00"
}, {
"id": "ed1e6805-2ebb-4957-9fff-83bef360d8a5",
"percent": "65.0",
"extension": "13575.25",
"fund_package_id": "76819980-de0d-461f-bcc4-1791129ff228",
"created_at": "2020-07-26T22:33:07.385-04:00"
}
]
}
This endpoint retrieves a specific fund source.
HTTP Request
GET https://appia.net/api/v1/fund_sources/<ID>
URL Parameters
Parameter | Description |
---|---|
ID | The ID of the fund source to retrieve |
Daily Reports
Get a Specific Daily Report
curl "https://appia.net/api/v1/daily_reports/<ID>"
-H "Authorization: a8de477316013a267ecee639aa7e4c9a"
The above command returns JSON structured like this:
{
"id": "60d014db-e1c1-4551-bcfd-b6e41b53ee70",
"project_id": "0632d565-be61-4944-9c49-fc38453292eb",
"user_id": 1,
"daily_report_at": "2020-06-27",
"status": "pending",
"weather": "Snowing",
"low_temperature": 30,
"high_temperature": 35,
"weather_day": true,
"remarks": "<b>Severe</b> weather.",
"created_at": "2020-07-26T22:28:55.031-04:00",
"payment_id": null
}
This endpoint retrieves a specific daily report.
HTTP Request
GET https://appia.net/api/v1/daily_reports/<ID>
URL Parameters
Parameter | Description |
---|---|
ID | The ID of the daily report to retrieve |
Get Attachments
curl "https://appia.net/api/v1/daily_reports/<ID>/attachments"
-H "Authorization: Bearer a8de477316013a267ecee639aa7e4c9a"
The above command returns JSON structured like this:
{
"attachments": [
{
"id": "a1d5be86-4597-48b2-953a-88e3d51ed0dd",
"name": "Bridge's blueprint",
"description": "Detailed blueprint of bridge.",
"attachment_group": null,
"filename": "blueprint.pdf"
}
]
}
This endpoint retrieves a specific daily report's attachments.
HTTP Request
GET https://appia.net/api/v1/daily_reports/<ID>/attachments
URL Parameters
Parameter | Description |
---|---|
ID | The ID of the daily report you would like to retrieve attachments for |
Get Custom Fields
curl "https://appia.net/api/v1/daily_reports/<ID>/custom_fields"
-H "Authorization: Bearer a8de477316013a267ecee639aa7e4c9a"
The above command returns JSON structured like this:
{
"custom_fields": [
{
"id": "10af5b48-af58-488c-ae36-b9090c89795a",
"label": "Special Remarks",
"value": "All went well today."
}
]
}
This endpoint retrieves a specific daily report's custom fields.
HTTP Request
GET https://appia.net/api/v1/daily_reports/<ID>/custom_fields
URL Parameters
Parameter | Description |
---|---|
ID | The ID of the daily report you would like to retrieve custom fields for |
Get Equipment
curl "https://appia.net/api/v1/daily_reports/<ID>/equipment_postings"
-H "Authorization: Bearer a8de477316013a267ecee639aa7e4c9a"
The above command returns JSON structured like this:
{
"equipment_postings": [
{
"id": "69f61453-d929-4044-bcbd-9114e4883244",
"daily_report_id": "60d014db-e1c1-4551-bcfd-b6e41b53ee70",
"contractor_id": "6c9f2458-5421-4c6e-8bb4-b474c7b83f9d",
"active_count": 1,
"active_hours": "6.0",
"idle_count": 1,
"idle_hours": "1.5",
"comments": null,
"created_at": "2020-07-26T22:29:44.275-04:00",
"description": "Bobcat"
}
]
}
This endpoint retrieves a specific daily report's equipment.
HTTP Request
GET https://appia.net/api/v1/daily_reports/<ID>/equipment_postings
URL Parameters
Parameter | Description |
---|---|
ID | The ID of the daily report you would like to retrieve equipment for |
Get Item Postings
curl "https://appia.net/api/v1/daily_reports/<ID>/item_postings"
-H "Authorization: Bearer a8de477316013a267ecee639aa7e4c9a"
The above command returns JSON structured like this:
{
"item_postings": [
{
"id": "91cbea15-d7d8-4114-929b-825ec4f2ba03",
"item_id": "05b95afd-fbfe-4b96-ab32-26d3e8aecaed",
"daily_report_id": "60d014db-e1c1-4551-bcfd-b6e41b53ee70",
"created_at": "2020-07-26T22:37:58.608-04:00",
"remarks": null,
"location": "Gainesville",
"contractor_id": "0e0f065b-1138-488b-8708-cb230b475faf",
"station_from_plus": "2.5",
"station_to_plus": "1.03",
"station_from": 1,
"station_to": 2,
"quantity": "0.5",
"unit_price": "70.0",
"amount": "35.0",
"item_posting_package_splits": [
{
"id": "65b18818-f18c-4684-876e-8209335ad126",
"fund_package_id": "b11a2dee-0166-4337-9fe7-2d2952a3cc22",
"quantity": "0.5",
"created_at": "2020-07-26T22:37:58.610-04:00",
"amount": "35.0",
"material_usages": [
{
"id": "ddc1375b-a5ef-4930-8216-a7478ef6f858",
"usage_rate": "1.1",
"quantity": "0.55",
"item_material_id": "193cf212-4604-4248-a51a-a126a6e9320c",
"created_at": "2020-07-26T22:37:58.636-04:00",
"reviewed": true
}
]
}, {
"id": "90e2918f-e08c-43ba-b540-b16a684d7d92",
"fund_package_id": "3e43e36c-3d67-49df-a644-c03ed8c42428",
"quantity": "0.0",
"created_at": "2020-07-26T22:37:58.611-04:00",
"amount": "0.0",
"material_usages": []
}
]
}
]
}
This endpoint retrieves a specific daily report's item postings.
HTTP Request
GET https://appia.net/api/v1/daily_reports/<ID>/item_postings
URL Parameters
Parameter | Description |
---|---|
ID | The ID of the daily report you would like to retrieve item postings for |
Get Personnel
curl "https://appia.net/api/v1/daily_reports/<ID>/personnel"
-H "Authorization: Bearer a8de477316013a267ecee639aa7e4c9a"
The above command returns JSON structured like this:
{
"crews": [
{
"id": "8c7c6641-e96c-409e-a960-67889bd0772c",
"daily_report_id": "60d014db-e1c1-4551-bcfd-b6e41b53ee70",
"contractor_id": "0a312769-ce58-4ae8-81fc-c095bb955b66",
"name": "Crew #1",
"created_at": "2020-07-26T22:26:20.347-04:00",
"crew_members": [
{
"id": "14061308-3042-4e94-bbcc-9eee09d0c0c6",
"crew_id": "8c7c6641-e96c-409e-a960-67889bd0772c",
"worker_type_id": "13cccbff-40f6-4c14-8f80-b51920f979b4",
"number": 0,
"hours": "0.0",
"created_at": "2020-07-26T22:26:20.350-04:00"
}
]
}
],
"worker_types": [
{
"id": "cd66be5e-20fe-438b-a1b2-37f54f9c4192",
"daily_report_id": "60d014db-e1c1-4551-bcfd-b6e41b53ee70",
"name": "Worker Type #1",
"created_at": "2020-07-26T22:45:09.167-04:00"
}
]
}
This endpoint retrieves a specific daily report's personnel.
HTTP Request
GET https://appia.net/api/v1/daily_reports/<ID>/personnel
URL Parameters
Parameter | Description |
---|---|
ID | The ID of the daily report you would like to retrieve personnel for |
Item Materials
Get a Specific Item Material
curl "https://appia.net/api/v1/item_materials/<ID>"
-H "Authorization: a8de477316013a267ecee639aa7e4c9a"
The above command returns JSON structured like this:
{
"id": "3bca855c-0789-49ee-91c8-45732c9fee5a",
"usage_rate": "0.9",
"item_id": "a3db9315-aec0-41c5-8fc9-d20b7722a5eb",
"material_id": "ec6027f8-8304-491c-8d62-def04751fcd0",
"created_at": "2020-07-26T22:36:53.749-04:00"
}
This endpoint retrieves a specific item material.
HTTP Request
GET https://appia.net/api/v1/item_materials/<ID>
URL Parameters
Parameter | Description |
---|---|
ID | The ID of the item material to retrieve |
Items
Get a Specific Item
curl "https://appia.net/api/v1/items/<ID>"
-H "Authorization: a8de477316013a267ecee639aa7e4c9a"
The above command returns JSON structured like this:
{
"id": "74da1cbf-eee3-41ff-ba6c-e3eaef8aec79",
"line_number": "0010",
"code": "201.06",
"description": "select fill",
"created_at": "2020-07-26T22:35:31.546-04:00",
"project_id": "0632d565-be61-4944-9c49-fc38453292eb",
"section_id": "4a332bd7-53e3-4e15-86e3-5f21c0f4862a",
"unit": "CY",
"quantity": "200.0",
"unit_price": "15.0",
"extension": "3000.0",
"has_supplemental_description": null,
"supplemental_description": null,
"fuel_factor": "19.0",
"asphalt_factor": "273.0",
"complete": null,
"unattached": null,
"lump_sum": null,
"pending_quantity": 0,
"remaining_quantity": "115.0",
"placed_quantity": "85.0",
"authorized_quantity": "200.0",
"authorized_extension": "3000.0",
"item_package_splits": [
{
"id": "3902357a-7568-494a-bb70-39efe3f2e1b4",
"quantity": "150.0",
"extension": "2250.0",
"fund_package_id": "8bbb5058-45e9-4b47-af07-0c4b7ec1e8a0",
"created_at": "2020-07-26T22:35:31.548-04:00"
}, {
"id": "eacc39ff-a778-4bf2-bf3c-640c2419c5b4",
"quantity": "50.0",
"extension": "750.0",
"fund_package_id": "96b00c36-7d9b-45e3-b126-7cec90dd2da1",
"created_at": "2020-07-26T22:35:31.550-04:00"
}
]
}
This endpoint retrieves a specific item.
HTTP Request
GET https://appia.net/api/v1/items/<ID>
URL Parameters
Parameter | Description |
---|---|
ID | The ID of the item to retrieve |
Get Item's Materials
curl "https://appia.net/api/v1/items/<ID>/materials"
-H "Authorization: Bearer a8de477316013a267ecee639aa7e4c9a"
The above command returns JSON structured like this:
{
"item_materials": [
{
"id": "3bca855c-0789-49ee-91c8-45732c9fee5a",
"usage_rate": "0.9",
"item_id": "74da1cbf-eee3-41ff-ba6c-e3eaef8aec79",
"material_id": "ec6027f8-8304-491c-8d62-def04751fcd0",
"created_at": "2020-07-26T22:36:53.749-04:00"
}
]
}
This endpoint retrieves a specific item's materials.
HTTP Request
GET https://appia.net/api/v1/items/<ID>/materials
URL Parameters
Parameter | Description |
---|---|
ID | The ID of the item you would like to retrieve item materials for |
Materials
Get a Specific Material
curl "https://appia.net/api/v1/materials/<ID>"
-H "Authorization: a8de477316013a267ecee639aa7e4c9a"
The above command returns JSON structured like this:
{
"id": "ec6027f8-8304-491c-8d62-def04751fcd0",
"project_id": "0632d565-be61-4944-9c49-fc38453292eb",
"code": "713C",
"description": "202.001 turf",
"unit": "SY",
"requirements": null,
"created_at": "2020-07-26T22:41:13.209-04:00"
}
This endpoint retrieves a specific material.
HTTP Request
GET https://appia.net/api/v1/materials/<ID>
URL Parameters
Parameter | Description |
---|---|
ID | The ID of the material to retrieve |
Get Material's Items
curl "https://appia.net/api/v1/materials/<ID>/items"
-H "Authorization: Bearer a8de477316013a267ecee639aa7e4c9a"
The above command returns JSON structured like this:
{
"item_materials": [
{
"id": "3bca855c-0789-49ee-91c8-45732c9fee5a",
"usage_rate": "0.9",
"item_id": "74da1cbf-eee3-41ff-ba6c-e3eaef8aec79",
"material_id": "ec6027f8-8304-491c-8d62-def04751fcd0",
"created_at": "2020-07-26T22:36:53.749-04:00"
}
]
}
This endpoint retrieves a specific material's items.
HTTP Request
GET https://appia.net/api/v1/materials/<ID>/items
URL Parameters
Parameter | Description |
---|---|
ID | The ID of the material you would like to retrieve item materials for |
Payments
Get a Specific Payment
curl "https://appia.net/api/v1/payments/<ID>"
-H "Authorization: a8de477316013a267ecee639aa7e4c9a"
The above command returns JSON structured like this:
{
"id": "7ae5c16b-cade-4ee5-be43-edde6d13c316",
"project_id": "0632d565-be61-4944-9c49-fc38453292eb",
"status": "paid",
"start_at": "2019-11-01",
"end_at": "2019-11-06",
"approval_at": "2019-11-18",
"payment_at": "2019-11-28",
"retainage_percent": "5.0",
"retainage_cap_percent": "0.0",
"retainage_cap_amount": "0.0",
"retainage_released": "0.0",
"remarks": "<b>payment remarks</b>",
"plain_remarks": "payment remarks",
"adjustment": "0.0",
"adjustment_remarks": "no payment adjustment needed",
"retainage_amount": "887.5",
"final": null,
"retainage_cap_rule": "none",
"paid_amount": "17750.0",
"stockpile_advancement": "14822.5",
"stockpile_recovery": "0.0",
"liquidated_damages": "0.0",
"total": "31685.0",
"total_to_date": "31685.0"
}
This endpoint retrieves a specific payment.
HTTP Request
GET https://appia.net/api/v1/payments/<ID>
URL Parameters
Parameter | Description |
---|---|
ID | The ID of the payment to retrieve |
Get Payment Item Splits
curl "https://appia.net/api/v1/payments/<ID>/payment_item_splits"
-H "Authorization: Bearer a8de477316013a267ecee639aa7e4c9a"
The above command returns JSON structured like this:
{
"payment_item_splits": [
{
"id": "109150ee-ae00-4120-a508-247a3ceebe74",
"payment_id": "482722aa-83f6-4157-b6e8-2f79a41cb950",
"item_package_split_id": "f11b2b7f-474f-4e85-82e3-7adafadfe05e",
"item_id":"44fb2f8a-93cf-46e5-b22f-5095b7bba688",
"fund_package_id":"8e26e64a-c052-4f70-a0f3-64e1a6d0c3eb",
"placed_quantity_to_date": "4.0",
"placed_amount_to_date": "8.0",
"created_at": "2020-07-29T21:35:24.351-04:00",
"authorized_quantity": "5.0",
"authorized_extension": "10.0",
"prev_placed_quantity_to_date": "0.0",
"prev_placed_amount_to_date": "0.0",
"prev_paid_quantity_to_date": "0.0",
"prev_paid_amount_to_date": "0.0",
"paid_quantity_to_date": "4.0",
"paid_amount_to_date": "8.0",
"prev_authorized_quantity_to_date": "0.0",
"prev_authorized_extension_to_date": "0.0",
"authorized_quantity_to_date": "4.0",
"authorized_extension_to_date": "8.0",
"payable_material_quantity": "0.0",
"has_materials": false,
"insufficient_materials": false,
"witheld_quantity": "0.0",
"paid_quantity": "4.0",
"paid_amount": "8.0"
}, {
"id": "b74e9359-130d-4f56-b944-76e51bb48919",
"payment_id": "482722aa-83f6-4157-b6e8-2f79a41cb950",
"item_package_split_id": "0b1c46ac-a45b-4734-b5ff-b3900c8ec4ac",
"item_id":"5fd19a29-dcdf-4d36-b991-88d386e6a4ae",
"fund_package_id":"8e26e64a-c052-4f70-a0f3-64e1a6d0c3eb",
"placed_quantity_to_date": "6.0",
"placed_amount_to_date": "12.0",
"created_at": "2020-07-29T21:35:24.354-04:00",
"authorized_quantity": "6.0",
"authorized_extension": "12.0",
"prev_placed_quantity_to_date": "0.0",
"prev_placed_amount_to_date": "0.0",
"prev_paid_quantity_to_date": "0.0",
"prev_paid_amount_to_date": "0.0",
"paid_quantity_to_date": "6.0",
"paid_amount_to_date": "12.0",
"prev_authorized_quantity_to_date": "0.0",
"prev_authorized_extension_to_date": "0.0",
"authorized_quantity_to_date": "6.0",
"authorized_extension_to_date": "12.0",
"payable_material_quantity": "0.0",
"has_materials": false,
"insufficient_materials": false,
"witheld_quantity": "0.0",
"paid_quantity": "6.0",
"paid_amount": "12.0"
}
]
}
This endpoint retrieves a specific payment's item splits.
HTTP Request
GET https://appia.net/api/v1/daily_reports/<ID>/payment_item_splits
URL Parameters
Parameter | Description |
---|---|
ID | The ID of the payment you would like to retrieve item splits for |
Sections
Get a Specific Section
curl "https://appia.net/api/v1/sections/<ID>"
-H "Authorization: a8de477316013a267ecee639aa7e4c9a"
The above command returns JSON structured like this:
{
"id": "44d14c63-ddf1-4c9d-bdbb-0f0f22829a7f",
"number": "1",
"description": "Pavement",
"project_id": "0632d565-be61-4944-9c49-fc38453292eb",
"created_at": "2020-07-26T22:44:26.993-04:00"
}
This endpoint retrieves a specific section.
HTTP Request
GET https://appia.net/api/v1/sections/<ID>
URL Parameters
Parameter | Description |
---|---|
ID | The ID of the section to retrieve |
Pagination
Paginated json will include a meta key with pagination data like this:
curl "https://appia.net/api/v1/projects?page=2&per_page=10"
-H "Authorization: Bearer a8de477316013a267ecee639aa7e4c9a"
{
"meta": {
"current_page": 2,
"next_page": 3,
"prev_page": 1,
"total_pages": 5,
"total_count": 52
}
}
Responses are paginated to make large object list responses more manageable. You can control pagination with the page and per_page parameters. Pages start at 1 and the first page will be returned if no page is specified. The number of results per page can be any value between 0 and 100 and defaults to 30.
Query Parameters
Parameter | Default | Description |
---|---|---|
page | 1 | The page number to retrieve |
per_page | 30 | The number of results per page |
Errors
The Appia service uses standard HTTP response codes to indicate 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 resulted from the provided information, and codes in the 5xx range indicate an error with Appia's servers. The Appia API uses the following error codes:
Error Code | Meaning |
---|---|
400 | Bad Request -- The request is malformed. |
401 | Unauthorized -- The API key is not valid. |
403 | Forbidden -- Not authorized to access the requested resource. |
404 | Not Found -- The specified resource could not be found. |
429 | Too Many Requests -- Recieved too many requests (see Rate Limiting). |
500 | Internal Server Error -- We had a problem with our server. Try again later. |
Rate Limiting
Example of HTTP headers and JSON response when the rate limited has been exceeded.
X-Rate-Limit-Limit → 60
X-Rate-Limit-Remaining → 0
X-Rate-Limit-Reset → 2020-10-04 12:58:52 -0400
{
"error": "You have surpassed the maximum number of requests. Please wait until your limit resets.",
"retry_after": "2020-10-04 12:58:52 -0400"
}
Limits are placed on the number of API requests you may make using your API key. This is to prevent abuse that would degrade our ability to maintain consistent API performance for all users. These limits are applied across all Appia API requests for each API key. Exceeding these limits will lead to your API key being temporarily blocked from making further requests.
HTTP Headers and Response Codes
When the rate limit for a given API endpoint is exceeded, it will return an HTTP 429 “Too Many Requests” response code.
The following headers will be returned:
X-Rate-Limit-Limit: The limit that you cannot surpass in a given amount of time.
X-Rate-Limit-Remaining: The number of calls you have available until a given reset time stamp.
X-Rate-Limit-Reset: The timestamp in UTC format for when the limits will be reset.