Search Results for

    Show / Hide Table of Contents

    Introduction to APIs available in Progressus

    Introduction

    This document provides the high-level overview of APIs used in the DevOps/ Jira Progressus Integration

    Integration Flows

    The integration flows bring project names and IDs from Jira and stores them in the Integration Project List.

    Integration Project List

    Projects in Business Central need to be marked as ‘External Time Entry’. Then select which Jira project should be mapped to this BC project.

    Project Card

    Example of above Jira Project ending up in Timesheet:

    Timesheet

    Jira Epic - Progressus Task

    The integration flows bring Epic names and IDs from Jira and stores them in the Integration Task List.

    Integration Task List

    Similar to projects, Business Central Job Tasks can be marked as ‘External Time Entry’ and matched with a Jira Epic. By default, new tasks are created in Business Central automatically with this information as Epics are added in Jira.

    Job Task Card

    Example of above Jira Epic ending up in Timesheet:

    Timesheet

    Jira Time tracking - Progressus Timesheet (Time Entry)

    Time tracking from Jira is brought over for a Business Central resource based on the Jira Assignee. The Business Central resource must be enabled as ‘External Time Entry User’ and their email must match the Jira Assignee’s email address.

    Resource Card

    Jira Time Tracking is entered into Business Central for the Assignee based on the parent project\task that were shown in the other sections of this document.

    Timesheet

    Notice that the “8.00” in the Business Central screenshot above is bold and green. This indicates that there are multiple Time Entries for this date in this Timesheet line. You can click on that field and then click the ellipsis to drill down to see the Time Entries.

    Edit - Timesheet

    Once we drill down, we can see that the Jira time tracking is entered as a description for the Time Entry. Time Entries

    APIs Used

    The End Point for calling API using basic authorization will be following:

    https://api.businesscentral.dynamics.com/v1.0/><tenantid>/api/<API publisher>/<API group>/<API version>/companies(<company id>)/EntityName

    Name Page ID Page Name Example URL
    Resources 14046092 Resources API v1 PGS https://api.businesscentral.dynamics.com/v1.0/7ff9c274-542c-4f17-9fe96a2aad51085c/sandbox/api/progressus/resource/v1.0/companies(6ff64c7a-b1fd-ea11-bc7d-00155df3a615)/resources
    Projects 14046090 Project API v1 PGS https://api.businesscentral.dynamics.com/v1.0/7ff9c274-542c-4f17-9fe96a2aad51085c/sandbox/api/progressus/project/v1.0/companies(6ff64c7a-b1fd-ea11-bc7d-00155df3a615)/projects
    External Projects 14046108 External Project API v1 PGS https://api.businesscentral.dynamics.com/v1.0/7ff9c274-542c-4f17-9fe96a2aad51085c/sandbox/api/progressus/externalproject/v1.0/companies(6ff64c7a-b1fd-ea11-bc7d-00155df3a615)/externalprojects
    Integration Projects 14046105 Integration Projects API PGS https://api.businesscentral.dynamics.com/v1.0/7ff9c274-542c-4f17-9fe96a2aad51085c/sandbox/api/progressus/integrationproject/v1.0/companies(6ff64c7a-b1fd-ea11-bc7d-00155df3a615)/integrationprojects
    Tasks 14046091 Task API v1 PGS https://api.businesscentral.dynamics.com/v1.0/7ff9c274-542c-4f17-9fe96a2aad51085c/sandbox/api/progressus/task/v1.0/companies(6ff64c7a-b1fd-ea11-bc7d-00155df3a615)/tasks
    External Tasks 14046109 External Task API v1 PGS https://api.businesscentral.dynamics.com/v1.0/7ff9c274-542c-4f17-9fe96a2aad51085c/sandbox/api/progressus/externaltask/v1.0/companies(6ff64c7a-b1fd-ea11-bc7d-00155df3a615)/externaltasks
    Integration Tasks 14046107 Integration Task API PGS https://api.businesscentral.dynamics.com/v1.0/7ff9c274-542c-4f17-9fe96a2aad51085c/sandbox/api/progressus/integrationtask/v1.0/companies(6ff64c7a-b1fd-ea11-bc7d-00155df3a615)/integrationtasks
    TimeEntry/ TimeCard 14046095 Time Cards API v1 PGS https://api.businesscentral.dynamics.com/v1.0/7ff9c274-542c-4f17-9fe96a2aad51085c/sandbox/api/progressus/timecard/v1.0/companies(6ff64c7a-b1fd-ea11-bc7d-00155df3a615)/timecards
    TimePeriods 14046093 Time Periods API v1 PGS https://api.businesscentral.dynamics.com/v1.0/7ff9c274-542c-4f17-9fe96a2aad51085c/sandbox/api/progressus/timeperiod/v1.0/companies(6ff64c7a-b1fd-ea11-bc7d-00155df3a615)/timeperiods
    Integration Entry Log 14046114 Integration Log API PGS https://api.businesscentral.dynamics.com/v1.0/7ff9c274-542c-4f17-9fe96a2aad51085c/sandbox/api/progressus/integrationlog/v1.0/companies(6ff64c7a-b1fd-ea11-bc7d-00155df3a615)/integrationlogs
    Integration Setup 14046097 Integration Setup API v1 PGS https://api.businesscentral.dynamics.com/v1.0/7ff9c274-542c-4f17-9fe96a2aad51085c/sandbox/api/progressus/integrationsetup/v1.0/companies(6ff64c7a-b1fd-ea11-bc7d-00155df3a615)/integrationsetup

    Resources

    GET list of Resources using API

    GET https://api.businesscentral.dynamics.com/v1.0/7ff9c274-542c-4f17-9fe9-6a2aad51085c/sandbox/api/progressus/resource/v1.0/companies(6ff64c7a-b1fd-ea11-bc7d-00155df3a615)/resources

    Sample Response:

    {
    "@odata.context": `"https://api.businesscentral.dynamics.com/v1.0/7ff9c274-542c-4f17-9fe9-6a2aad51085c/sandbox/api/progressus/resource/v1.0/$metadata#companies(6ff64c7a-b1fd-ea11-bc7d-00155df3a615)/resources",`
    
    "value": [
        {
            "@odata.etag": "W/\"JzQ0O0hZa1ErT3JEelhmZTRLcHFkWWxUZ1dId1pKRFlzT1E3Yi9BSEtRWkd4dnM9MTswMDsn\"",
            "id": "f77a7548-a393-eb11-8ce2-000d3a0e5516",
            "no": "R1490",
            "type": "Person",
            "name": "Velosio",
            "employmentDate": "2021-01-01",
            "resourceGroupNumber": "",
            "genProductPostingGroup": "NO TAX",
            "taxGroupCode": "",
            "vatProdPostingGroup": "",
            "projectManager": false,
            "lineManager": "",
            "lineManager2": "",
            "taxAreaCode": "",
            "baseUnitOfMeasure": "HOUR",
            "email": "skuchana@plumblineConsulting.com",
            "externalTimeSystem": true
        },
        {
            "@odata.etag": "W/\"JzQ0O04yTnpVWUdEMGZlR1k3aUJlZ2VtVmRCakVYbWNZODJqaDZUVGJTMTNYRkk9MTswMDsn\"",
            "id": "e7b27ec2-b593-eb11-8ce2-000d3a0e5516",
            "no": "R1500",
            "type": "Person",
            "name": "Velosio-2",
            "employmentDate": "2021-01-01",
            "resourceGroupNumber": "ADMIN",
            "genProductPostingGroup": "NO TAX",
            "taxGroupCode": "",
            "vatProdPostingGroup": "",
            "projectManager": false,
            "lineManager": "",
            "lineManager2": "",
            "taxAreaCode": "",
            "baseUnitOfMeasure": "HOUR",
            "email": "skuchana@plumblineConsulting.com",
            "externalTimeSystem": false
        },
            
        {
            "@odata.etag": "W/\"JzQ0O2pqeUZaQnBGMG13aVRzd2lJRFVPVDNieEpYZzhVU0EzNG1IWFRFQ2QvcUE9MTswMDsn\"",
            "id": "c9b04833-ee28-eb11-bf6b-000d3a0fc19e",
            "no": "PM0007",
            "type": "Person",
            "name": "PM0007",
            "employmentDate": "2018-01-01",
            "resourceGroupNumber": "PROJMAN",
            "genProductPostingGroup": "SERVICES",
            "taxGroupCode": "",
            "vatProdPostingGroup": "",
            "projectManager": true,
            "lineManager": "",
            "lineManager2": "",
            "taxAreaCode": "",
            "baseUnitOfMeasure": "HOUR",
            "email": "",
            "externalTimeSystem": false
        }
    
    Sr. No. Field/ Tag Description Example
    1 no Code[20] Specifies the number of the involved Resource, according to the specified number series or specified manually.] "no": "R1490",
    2 type Option [Person/ Machine] Specifies whether the resource is a person or a machine. "type": "Person",
    3 name Text[100] Specifies a description of the resource. "name": "Velosio",
    4 employmentDate Date Specifies the date when the person began working for you or the date when the machine was placed in service. "employmentDate": "2021-01-01",
    5 resourceGroupNumber Code[20] Specifies the resource group that this resource is assigned to. "resourceGroupNumber": "",
    6 genProductPostingGroup Code[20] Specifies the item's product type to link transactions made for this item with the appropriate general ledger account according to the general posting setup. "genProductPostingGroup": "NO TAX",
    7 taxGroupCode Code[20] Specifies the tax group that is used to calculate and post sales tax. "taxGroupCode": "",
    8 vatProdPostingGroup Code[20] Specifies the tax specification of the involved item or resource to link transactions made for this record with the appropriate general ledger account according to the tax posting setup. "vatProdPostingGroup": "",
    9 projectManager Boolean Check this box if this user will act as a project Manager. Project managers are allowed to approve time cards in the system. It also allows the resource to be chosen as a project manager on the project card. "projectManager": false,
    10 lineManager Code[20] Specifies the line manager from the resource code list. Choose a resource as the line manager for the resource in question. A line manager filter can be used when approving time entries and expenses "lineManager": "",
    11 lineManager2 Code[20] Specifies the line manager 2 from the resource code List. Choose a resource as the line manager for the resource in question. A line manager 2 filter can be used when approving time entries and expense "lineManager2": "",
    12 taxAreaCode Code[20] Specifies the tax area used to calculate and post the sales tax. "taxAreaCode": "",
    13 baseUnitOfMeasure Code[10] Specifies the base unit used to measure the resource, such as hour, piece, or kilometer. "baseUnitOfMeasure": "HOUR",
    14 email Text[80] Enter the email for the resource "email": "",
    15 externalTimeSystem Boolean Specifies if the resource will use external/ integration system for time entry. "externalTimeSystem": true

    GET Filtered data, filter by a field value using API

    GET https://api.businesscentral.dynamics.com/v1.0/7ff9c274-542c-4f17-9fe9-6a2aad51085c/sandbox/api/progressus/resource/v1.0/companies(6ff64c7a-b1fd-ea11-bc7d-00155df3a615)/resources?$filter=name eq 'Sandeep'
    

    Sample Response:

    {
    "@odata.context": "https://api.businesscentral.dynamics.com/v1.0/7ff9c274-542c-4f17-9fe9-6a2aad51085c/sandbox/api/progressus/resource/v1.0/$metadata#companies(6ff64c7a-b1fd-ea11-bc7d-00155df3a615)/resources",
    "value": [
        {
            "@odata.etag": "W/\"JzQ0O3Urc0V0eVVXZk1ibUhndk0yN0NuRHFJZzNWbTV4YzhpQ3dhYjYyM2RkVXc9MTswMDsn\"",
            "id": "2964b63b-ea95-eb11-8ce2-000d3a0e5516",
            "no": "R1520",
            "type": "Person",
            "name": "Sandeep",
            "employmentDate": "2021-02-02",
            "resourceGroupNumber": "PROJMAN",
            "genProductPostingGroup": "SERVICES",
            "taxGroupCode": "LABOR",
            "vatProdPostingGroup": "NOTAX",
            "projectManager": true,
            "lineManager": "API0010",
            "lineManager2": "API0015",
            "taxAreaCode": "CHICAGO, IL",
            "baseUnitOfMeasure": "HOUR",
            "email": "sgourishetty@plumblineconsulting.com",
            "externalTimeSystem": true
        }
    ]
    

    }

    POST Resource using API

    `POST https://api.businesscentral.dynamics.com/v1.0/7ff9c274-542c-4f17-9fe9-6a2aad51085c/sandbox/api/progressus/resource/v1.0/companies(6ff64c7a-b1fd-ea11-bc7d-00155df3a615)/resources`
    

    Sample Request Body:

    {
            "type": "Person",
            "name": "Velosio",
            "employmentDate": "2021-01-01",
            "resourceGroupNumber": "",
            "genProductPostingGroup": "NO TAX",
            "taxGroupCode": "",
            "vatProdPostingGroup": "",
            "projectManager": false,
            "lineManager": "",
            "lineManager2": "",
            "taxAreaCode": "",
            "baseUnitOfMeasure": "HOUR",
            "email": "skuchana@plumblineConsulting.com",S
            "externalTimeSystem": false
        }
    

    Sample Response:

    {
    "@odata.context": "<https://api.businesscentral.dynamics.com/v1.0/7ff9c274-542c-4f17-9fe9-6a2aad51085c/sandbox/api/progressus/resource/v1.0/>$metadata#companies(6ff64c7a-b1fd-ea11-bc7d-00155df3a615)/resources/$entity",
    "@odata.etag": "W/\"JzQ0O0ZrOE9CRFBMRG1tNkgxRmpsM2t3azRNNWVNUFVlSVhjbzVEY3Fzc25oNlk9MTswMDsn\"",
    "id": "7852c40b-c6ac-eb11-9b4f-000d3a23f74d",
    "no": "R1530",
    "type": "Person",
    "name": "Velosio",
    "employmentDate": "2021-01-01",
    "resourceGroupNumber": "",
    "genProductPostingGroup": "NO TAX",
    "taxGroupCode": "",
    "vatProdPostingGroup": "",
    "projectManager": false,
    "lineManager": "",
    "lineManager2": "",
    "taxAreaCode": "",
    "baseUnitOfMeasure": "HOUR",
    "email": "skuchana@plumblineConsulting.com",
    "externalTimeSystem": false
    

    }

    GET only Resource specified fields using API

    GET https://api.businesscentral.dynamics.com/v1.0/7ff9c274-542c-4f17-9fe9-6a2aad51085c/sandbox/api/progressus/resource/v1.0/companies(6ff64c7a-b1fd-ea11-bc7d-00155df3a615)/resources?$select=no,name
    

    Sample Response:

    `{
    "@odata.context": "https://api.businesscentral.dynamics.com/v1.0/7ff9c274-542c-4f17-9fe9-6a2aad51085c/sandbox/api/progressus/resource/v1.0/$metadata#companies(6ff64c7a-b1fd-ea11-bc7d-00155df3a615)/resources",
    "value": [
        {
            "@odata.etag": "W/\"JzQ0O0hZa1ErT3JEelhmZTRLcHFkWWxUZ1dId1pKRFlzT1E3Yi9BSEtRWkd4dnM9MTswMDsn\"",
            "no": "R1490",
            "name": "Velosio"
        },
        {
            "@odata.etag": "W/\"JzQ0O04yTnpVWUdEMGZlR1k3aUJlZ2VtVmRCakVYbWNZODJqaDZUVGJTMTNYRkk9MTswMDsn\"",
            "no": "R1500",
            "name": "Velosio-2"
        },
        {
            "@odata.etag": "W/\"JzQ0O0QrWk5pZitrS0N4WTVjS2xqZmZ1ZTFLZHlZaE1JeEdVSi9HcDF3bFdQcVE9MTswMDsn\"",
            "no": "R1510",Sam
            "name": "Velosio"
        },
    

    `

    Projects

    GET list of Projects using API

    GET https://api.businesscentral.dynamics.com/v1.0/7ff9c274-542c-4f17-9fe9-6a2aad51085c/sandbox/api/progressus/project/v1.0/companies(6ff64c7a-b1fd-ea11-bc7d-00155df3a615)/projects
    

    Sample Response:

    {
    "@odata.context": "https://api.businesscentral.dynamics.com/v1.0/7ff9c274-542c-4f17-9fe9-6a2aad51085c/sandbox/api/progressus/project/v1.0/$metadata#companies(6ff64c7a-b1fd-ea11-bc7d-00155df3a615)/projects",
    "value": [
        {
            "@odata.etag": "W/\"JzQ0OzFnNG9PZThYMHZXRGNMK0tNbUhBR3hMU05iUzdJbkd6ekJ2SXNTcU9ub3c9MTswMDsn\"",
            "no": "API00010",
            "description": "API Project-1",
            "billtoCustomerNo": "30000",
            "externalProjectNo": "",
            "status": "Open",
            "personResponsible": "ARDEN.BILL",
            "projectManagerx": "",
            "salespersonCode": "",
            "internalProject": false,
            "privateProject": false,
            "customerProject": false,
            "startingDate": "2018-03-01"
        },
        {
            "@odata.etag": "W/\"JzQ0O1hKYi9hU1BFR3IrWnNUam5kd1ZvbVE5cDJ5L0phQlJDMjdoZFVoczBGbWs9MTswMDsn\"",
            "no": "API00010-API",
            "description": "API Project-1",
            "billtoCustomerNo": "30000",
            "externalProjectNo": "",
            "status": "Open",
            "personResponsible": "",
            "projectManagerx": "",
            "salespersonCode": "",
            "internalProject": false,
            "privateProject": false,
            "customerProject": true,
            "startingDate": "2018-03-01"
        }
    ]
    

    }

    Sr. No. Field/ Tag Description Example
    1 no Code[20] Specifies a unique identifier for the project. The field is either filled automatically from a defined number series, or you enter the number if manual number entry has been enabled in the number series setup. "no": "API00010",
    2 description Text[100] Specifies a short description of the project. "description": "API Project-1",
    3 billtoCustomerNo Code[20] Specifies the number of the customer who pays for the project. "billtoCustomerNo": "30000",
    4 externalProjectNo Code[20] Specifies an external reference number to identify the project "externalProjectNo": "",
    5 status Option (Enum) with option values: Planning, Quote, Open, Completed "status": "Open",
    6 personResponsible Code[20] Specifies the person at your company who is responsible for the project. "personResponsible": "ARDEN.BILL",
    7 projectManagerx Code[20] Specifies the person who is assigned to manage the project. "projectManagerx": "",
    8 salespersonCode Code[20] Specifies a code for the salesperson who normally handles the customer's account and project. "salespersonCode": "",
    9 internalProject Boolean Specifies it is an internal, company project. "internalProject": false,
    10 privateProject Boolean Specifies it is a private project. "privateProject": false,
    11 customerProject Boolean Specifies it is a project billable to a customer. "customerProject": false,
    Row12 startingDate Date Specifies the date on which the project actually starts. "startingDate": "2018-03-01"

    GET Projects - filtered by a field using API

    You can provide filters in API calls. The syntax for this follows the Microsoft REST API guidelines. For example, to GET all projects with status as Open,

    call https://api.businesscentral.dynamics.com/v1.0/7ff9c274-542c-4f17-9fe9-6a2aad51085c/sandbox/api/progressus/project/v1.0/companies(6ff64c7a-b1fd-ea11-bc7d-00155df3a615)/projects?$filter=status eq 'Open'
    

    Another example of filtering in API call:

    GET https://api.businesscentral.dynamics.com/v1.0/7ff9c274-542c-4f17-9fe9-6a2aad51085c/sandbox/api/progressus/project/v1.0/companies(6ff64c7a-b1fd-ea11-bc7d-00155df3a615)/projects?$filter=no eq 'API00010'
    

    Sample Response:

    `{
    "@odata.context": "https://api.businesscentral.dynamics.com/v1.0/7ff9c274-542c-4f17-9fe9-6a2aad51085c/sandbox/api/progressus/project/v1.0/$metadata#companies(6ff64c7a-b1fd-ea11-bc7d-00155df3a615)/projects",
    "value": [
        {
            "@odata.etag": "W/\"JzQ0OzFnNG9PZThYMHZXRGNMK0tNbUhBR3hMU05iUzdJbkd6ekJ2SXNTcU9ub3c9MTswMDsn\"",
            "no": "API00010",
            "description": "API Project-1",
            "billtoCustomerNo": "30000",
            "externalProjectNo": "",
            "status": "Open",
            "personResponsible": "ARDEN.BILL",
            "projectManagerx": "",
            "salespersonCode": "",
            "internalProject": false,
            "privateProject": false,
            "customerProject": false,
            "startingDate": "2018-03-01"
        }
    ]
    

    }

    Another example of filtering in the GET call:

    GET https://api.businesscentral.dynamics.com/v1.0/7ff9c274-542c-4f17-9fe9-6a2aad51085c/sandbox/api/progressus/project/v1.0/companies(6ff64c7a-b1fd-ea11-bc7d-00155df3a615)/projects?$filter=personResponsible eq 'ARDEN.BILL' and startingDate eq 2018-03-01
    

    POST Project using API

    POST  https://api.businesscentral.dynamics.com/v1.0/7ff9c274-542c-4f17-9fe9-6a2aad51085c/sandbox/api/progressus/project/v1.0/companies(6ff64c7a-b1fd-ea11-bc7d-00155df3a615)/projects
    

    Sample Request Body:

    `{
            "description": "API Project-1",
            "billtoCustomerNo": "30000",
            "externalProjectNo": "",
            "status": "Open",
            "personResponsible": "ARDEN.BILL",
            "projectManagerx": "",
            "salespersonCode": "",
            "internalProject": false,
            "privateProject": false,
            "customerProject": false,
            "startingDate": "2018-03-01"
        }
    

    Sample Response:

    `{
    "@odata.context": "<https://api.businesscentral.dynamics.com/v1.0/7ff9c274-542c-4f17-9fe9-6a2aad51085c/sandbox/api/progressus/project/v1.0/>$metadata#companies(6ff64c7a-b1fd-ea11-bc7d-00155df3a615)/projects/$entity",
    "@odata.etag": "W/\"JzQ0O0dlellldGdEb1lXT1Mxc2JRczNnbnJuNWpaditDYzRPTURNQnpHWVdrYzg9MTswMDsn\"",
    "no": "P0000083",
    "description": "API Project-1",
    "billtoCustomerNo": "30000",
    "externalProjectNo": "",
    "status": "Open",
    "personResponsible": "ARDEN.BILL",
    "projectManagerx": "",
    "salespersonCode": "",
    "internalProject": false,
    "privateProject": false,
    "customerProject": false,
    "startingDate": "2018-03-01"
    

    }

    GET Projects - only specified fields using API

    GET https://api.businesscentral.dynamics.com/v1.0/7ff9c274-542c-4f17-9fe9-6a2aad51085c/sandbox/api/progressus/project/v1.0/companies(6ff64c7a-b1fd-ea11-bc7d-00155df3a615)/projects?$select=no,description
    

    Sample Response:

    {
    "@odata.context": "https://api.businesscentral.dynamics.com/v1.0/7ff9c274-542c-4f17-9fe9-6a2aad51085c/sandbox/api/progressus/project/v1.0/$metadata#companies(6ff64c7a-b1fd-ea11-bc7d-00155df3a615)/projects",
    "value": [
        {
            "@odata.etag": "W/\"JzQ0OzFnNG9PZThYMHZXRGNMK0tNbUhBR3hMU05iUzdJbkd6ekJ2SXNTcU9ub3c9MTswMDsn\"",
            "no": "API00010",
            "description": "API Project-1"
        },
        {
            "@odata.etag": "W/\"JzQ0O1hKYi9hU1BFR3IrWnNUam5kd1ZvbVE5cDJ5L0phQlJDMjdoZFVoczBGbWs9MTswMDsn\"",
            "no": "API00010-API",
            "description": "API Project-1"
        },
        {
            "@odata.etag": "W/\"JzQ0O05mVDk5eC9CYnErWkZLYmE3cENvTDF0M3FCdmxqZmx4NEQzbHIwVnJCVE09MTswMDsn\"",
            "no": "API00010-API-API",
            "description": "API Project-1"
        },
        {
            "@odata.etag": "W/\"JzQ0OzlpbFNwdGlOTWhwb2taeG5iN09NVGpQak5CWGlrVjJ4V2MveWxxU2I4Y1k9MTswMDsn\"",
            "no": "API00010-API-API-API",
            "description": "API Project-1"
        },
        {
            "@odata.etag": "W/\"JzQ0OzFVVVM0MHNQb1FiVkplUjlEZkhnUTRjTkJMVHkzWkx2NUhHVzdhVVp4Tjg9MTswMDsn\"",
            "no": "API00011",
            "description": "API Project-11"
        }
    

    ) ]

    External Projects

    GET list of External Projects using API

    GET https://api.businesscentral.dynamics.com/v1.0/7ff9c274-542c-4f17-9fe9-6a2aad51085c/sandbox/api/progressus/externalproject/v1.0/companies(6ff64c7a-b1fd-ea11-bc7d-00155df3a615)/externalprojects
    

    Sample Response:

    {
    "@odata.context": "https://api.businesscentral.dynamics.com/v1.0/7ff9c274-542c-4f17-9fe9-6a2aad51085c/sandbox/api/progressus/externalproject/v1.0/$metadata#companies(6ff64c7a-b1fd-ea11-bc7d-00155df3a615)/externalprojects",
    "value": [
        {
            "@odata.etag": "W/\"JzQ0O0NZNVhUQUhYSFhwUzNXcDJneW0yY1JlcDR2Smh5cCt0NUdCSUVaNjd1dUE9MTswMDsn\"",
            "no": "API00010",
            "description": "API Project-1",
            "billtoCustomerNo": "30000",
            "externalProjectNo": "",
            "status": "Open",
            "personResponsible": "ARDEN.BILL",
            "projectManagerx": "",
            "salespersonCode": "",
            "internalProject": false,
            "privateProject": false,
            "customerProject": false,
            "startingDate": "2018-03-01",
            "externalTimeEntry": true,
            "integrationProjectName": "43f42d32-7f5d-4516-ab57-88241e9d598d",
            "integrationProjectPK": ""
        },
        {
     "@odata.etag": "W/\"JzQ0O2d5SEFjeUczWVAyb1o4NXBmNG93Z0t6MUd3K0lnbk1rUTUwVVlQNUtTdTQ9MTswMDsn\"",
            "no": "API00010-API",
            "description": "API Project-1",
            "billtoCustomerNo": "30000",
            "externalProjectNo": "",
            "status": "Open",
            "personResponsible": "",
            "projectManagerx": "",
            "salespersonCode": "",
            "internalProject": false,
            "privateProject": false,
            "customerProject": true,
            "startingDate": "2018-03-01",
            "externalTimeEntry": true,
            "integrationProjectName": "Progressus API Testing",
            "integrationProjectPK": "4d0fc121-2c66-432e-bff6-8f5fe00b8d2a"
        }
        )
    

    ]

    Difference between External Projects API and Projects API: External Projects API have following three additional fields to Projects API

    1. externalTimeEntry
    2. integrationProjectName
    3. integrationProjectPK
    Sr. No. Field/ Tag Description Example
    1 no Code[20] Specifies a unique identifier for the project. The field is either filled automatically from a defined number series, or you enter the number if manual number entry has been enabled in the number series setup. "no": "API00010-API",
    2 description Text[100] Specifies a short description of the project. "description": "API Project-1",
    3 billtoCustomerNo Code[20] Specifies the number of the customer who pays for the project. "billtoCustomerNo": "30000",
    4 externalProjectNo Code[20] Specifies an external reference number to identify the project "externalProjectNo": "",
    5 status Option (Enum) with option values: Planning, Quote, Open, Completed; Specifies the current status of the project. You can change the status for the project as it progresses. Final calculations can be made on completed projects. "status": "Open",
    6 personResponsible Code[20] Specifies the person at your company who is responsible for the project. "personResponsible": "",
    7 projectManagerx Code[20] Specifies the person who is assigned to manage the project. "projectManagerx": "",
    8 salespersonCode Code[20] Specifies a code for the salesperson who normally handles the customer's account and project. "salespersonCode": "",
    9 internalProject Boolean Specifies it is an internal, company project. "internalProject": false,
    10 privateProject Boolean Specifies it is a private project. "privateProject": false,
    11 customerProject Boolean Specifies it is a project billable to a customer. "customerProject": false,
    12 startingDate Date Specifies the date on which the project actually starts. "startingDate": "2018-03-01"
    13 ExternalTimeEntry Boolean Specifies if the project will use external/integration system for time entry. "externalTimeEntry": true,
    14 integrationProjectName Text[250] Specifies the name of the project in integration system. "integrationProjectName": "Progressus API Testing",
    15 integrationProjectPK Text[50] Specifies a unique identifier for the project in integrated system. "integrationProjectPK": "4d0fc121-2c66-432e-bff6-8f5fe00b8d2a"

    POST External Projects using API

    POST https://api.businesscentral.dynamics.com/v1.0/7ff9c274-542c-4f17-9fe9-6a2aad51085c/sandbox/api/progressus/externalproject/v1.0/companies(6ff64c7a-b1fd-ea11-bc7d-00155df3a615)/externalprojects
    

    Sample Request Body:

            {
            "description": "Test POST External Proj",
            "billtoCustomerNo": "30000",
            "externalProjectNo": "",
            "status": "Open",
            "personResponsible": "ARDEN.BILL",
            "projectManagerx": "",
            "salespersonCode": "",
            "internalProject": false,
            "privateProject": false,
            "customerProject": false,
            "startingDate": "2018-03-01",
            "externalTimeEntry": true,
            "integrationProjectName": "Test data for Integration Project J00500",
            "integrationProjectPK": "J00500"
    

    `

    Sample Response:

    {
    "@odata.context": "https://api.businesscentral.dynamics.com/v1.0/7ff9c274-542c-4f17-9fe9-6a2aad51085c/sandbox/api/progressus/externalproject/v1.0/$metadata#companies(6ff64c7a-b1fd-ea11-bc7d-00155df3a615)/externalprojects/$entity",
    "@odata.etag": "W/\"JzQ0O3UwUExpNVlnYlU4amx0QjJweENpek1xczVkb3I0c3Y5VUxFMW1JeFpmR2s9MTswMDsn\"",
    "no": "P0000084",
    "description": "Test POST External Proj",
    "billtoCustomerNo": "30000",
    "externalProjectNo": "",
    "status": "Open",
    "personResponsible": "ARDEN.BILL",
    "projectManagerx": "",
    "salespersonCode": "",
    "internalProject": false,
    "privateProject": false,
    "customerProject": false,
    "startingDate": "2018-03-01",
    "externalTimeEntry": true,
    "integrationProjectName": "Test data for Integration Project J00500",
    "integrationProjectPK": "J00500"
    

    }

    Integration Projects

    GET Integration Projects using API

    GET https://api.businesscentral.dynamics.com/v1.0/7ff9c274-542c-4f17-9fe9-6a2aad51085c/sandbox/api/progressus/integrationproject/v1.0/companies(6ff64c7a-b1fd-ea11-bc7d-00155df3a615)/integrationprojects
    

    Sample Response:

    {
    "@odata.context": "https://api.businesscentral.dynamics.com/v1.0/7ff9c274-542c-4f17-9fe9-6a2aad51085c/sandbox/api/progressus/integrationproject/v1.0/$metadata#companies(6ff64c7a-b1fd-ea11-bc7d-00155df3a615)/integrationprojects",
    "value": [
        {
            "@odata.etag": "W/\"JzQ0OzJHL3I5dUJGZnNjTG1XOVNVMHl0OXFCc1FLYWF5TzBoaWlWSjJYdkZ2OGs9MTswMDsn\"",
            "iD": "",
            "name": "Test Internal Project"
        },
        {
            "@odata.etag": "W/\"JzQ0O0lDcDhleHM2eGpRdkt6TlIwS1hna0pPeXlqejlNZ2RQU0ZUWHZNaTFmdUE9MTswMDsn\"",
            "iD": "10000",
            "name": "VelosioJira"
        },
        {
            "@odata.etag": "W/\"JzQ0O3g2bG0xUzJIWTFBN0MybkZGVW1SME56TmVENHRLSElmc29KOGxFcEUreGc9MTswMDsn\"",
            "iD": "10001",
            "name": "VelosioJira2"
        }
    ]
    
    Sr. No. Field/ Tag Description Example
    1 iD Text[50] Specifies a unique identifier for the project in integrated system. The field is filled when data is populated from integration system through flow/ power automation. "iD": "",
    2 name Text[250] Specifies the project name in integrated system (DevOps or Jira). "name": "VelosioJira"

    POST Integration Projects using API

    POST https://api.businesscentral.dynamics.com/v1.0/7ff9c274-542c-4f17-9fe9-6a2aad51085c/sandbox/api/progressus/integrationproject/v1.0/companies(6ff64c7a-b1fd-ea11-bc7d-00155df3a615)/integrationprojects
    

    Sample Request Body:

    {

            "iD": "New Integration Project",
            "name": "Test Internal Project"
        }
    

    Sample Response:

    { "@odata.context": "<https://api.businesscentral.dynamics.com/v1.0/7ff9c274-542c-4f17-9fe9-6a2aad51085c/sandbox/api/progressus/integrationproject/v1.0/>$metadata#companies(6ff64c7a-b1fd-ea11-bc7d-00155df3a615)/integrationprojects/$entity", "@odata.etag": "W/\"JzQ0O1pPa2l1akcwb2k2VVRBc2w5MWpoYUYvM3J5QXIvQ3dKQWJJMUdJRnlUelE9MTswMDsn\"", "iD": "New Integration Project", "name": "Test Internal Project" }

    Tasks

    GET Tasks using API

    GET https://api.businesscentral.dynamics.com/v1.0/7ff9c274-542c-4f17-9fe9-6a2aad51085c/sandbox/api/progressus/task/v1.0/companies(6ff64c7a-b1fd-ea11-bc7d-00155df3a615)/tasks
    

    Sample Response:

    {
    "@odata.context": "https://api.businesscentral.dynamics.com/v1.0/7ff9c274-542c-4f17-9fe9-6a2aad51085c/sandbox/api/progressus/task/v1.0/$metadata#companies(6ff64c7a-b1fd-ea11-bc7d-00155df3a615)/tasks",
    "value": [
        {
            "@odata.etag": "W/\"JzQ0O0VFMm9vSnphN1c5dXpPeVI5bERkSk81SGJVRFUraVBCTEtpY3RDaUx5cEU9MTswMDsn\"",
            "id": "c4534d25-827a-eb11-b853-000d3a049031",
            "jobno": "P0000066",
            "taskno": "1500",
            "description": "365 Solutions 111",
            "preOrder": false,
            "requireComments": false
        },
        {
            "@odata.etag": "W/\"JzQ0O0l5MW9vOW5ITzhhTDhhQjU0aVlYWkxRQ3FHOGJxQS93SU5PT3lpQmJDTk09MTswMDsn\"",
            "id": "8d815b2b-827a-eb11-b853-000d3a049031",
            "jobno": "P0000066",
            "taskno": "1600",
            "description": "",
            "preOrder": false,
            "requireComments": false
        },
        {
            "@odata.etag": "W/\"JzQ0O0ZQMm5DSFc1UHRIOUVwOHIrT3lmNFlBVXZGVUw3RGFsck9GeTJRZWlMQjg9MTswMDsn\"",
            "id": "5d3ac194-907a-eb11-b853-000d3a049031",
            "jobno": "P0000066",
            "taskno": "3000",
            "description": "",
            "preOrder": false,
            "requireComments": false
        }
    ]
    

    }

    Sr. No. Field/ Tag Description Example
    1 id GUID Specifies a unique identifier of the record.System generated GUID. id": "8d815b2b-827a-eb11-b853-000d3a049031",
    2 jobno Code[20] Specifies the Job/Project number. "jobno": "P0000066",
    3 taskno Code[20] Specifies the number of the related job task. "taskno": "3000",
    4 description Text[100] Specifies a description of the job task. You can enter anything that is meaningful in describing the task. The description is copied and used in descriptions on the job planning line. "description": "",
    5 preOrder Boolean Specifies if it is a Pre-Order "preOrder": false,
    6 requireComments Boolean Specifies when comments are required on timesheet or expense sheet entries posted to this task. "requireComments": false

    GET Tasks - filtered data using API

    GET https://api.businesscentral.dynamics.com/v1.0/7ff9c274-542c-4f17-9fe9-6a2aad51085c/sandbox/api/progressus/task/v1.0/companies(6ff64c7a-b1fd-ea11-bc7d-00155df3a615)/tasks?$filter=jobno eq 'P0000066'
    

    Sample Response:

    {
    "@odata.context": "https://api.businesscentral.dynamics.com/v1.0/7ff9c274-542c-4f17-9fe9-6a2aad51085c/sandbox/api/progressus/task/v1.0/$metadata#companies(6ff64c7a-b1fd-ea11-bc7d-00155df3a615)/tasks",
    "value": [
        {
            "@odata.etag": "W/\"JzQ0O0VFMm9vSnphN1c5dXpPeVI5bERkSk81SGJVRFUraVBCTEtpY3RDaUx5cEU9MTswMDsn\"",
            "id": "c4534d25-827a-eb11-b853-000d3a049031",
            "jobno": "P0000066",
            "taskno": "1500",
            "description": "365 Solutions 111",
            "preOrder": false,
            "requireComments": false
        },
        {
            "@odata.etag": "W/\"JzQ0O0l5MW9vOW5ITzhhTDhhQjU0aVlYWkxRQ3FHOGJxQS93SU5PT3lpQmJDTk09MTswMDsn\"",
            "id": "8d815b2b-827a-eb11-b853-000d3a049031",
            "jobno": "P0000066",
            "taskno": "1600",
            "description": "",
            "preOrder": false,
            "requireComments": false
        },
        {
            "@odata.etag": "W/\"JzQ0O0ZQMm5DSFc1UHRIOUVwOHIrT3lmNFlBVXZGVUw3RGFsck9GeTJRZWlMQjg9MTswMDsn\"",
            "id": "5d3ac194-907a-eb11-b853-000d3a049031",
            "jobno": "P0000066",
            "taskno": "3000",
            "description": "",
            "preOrder": false,
            "requireComments": false
        }
    ]
    

    }

    POST Tasks using API

    POST https://api.businesscentral.dynamics.com/v1.0/7ff9c274-542c-4f17-9fe9-6a2aad51085c/sandbox/api/progressus/task/v1.0/companies(6ff64c7a-b1fd-ea11-bc7d-00155df3a615)/tasks
    

    Sample Request Body:

    {
    "@odata.context": "https://api.businesscentral.dynamics.com/v1.0/7ff9c274-542c-4f17-9fe9-6a2aad51085c/sandbox/api/progressus/task/v1.0/$metadata#companies(6ff64c7a-b1fd-ea11-bc7d-00155df3a615)/tasks/$entity",
    "@odata.etag": "W/\"JzQ0O05tOS8zUStRYjZvWExpK2RvTklZRFVkSlBYekhzQ050bFpDNmhsbTh4NUE9MTswMDsn\"",
    "id": "e2a7351a-20b2-eb11-9b52-000d3a3c0378",
    "jobno": "P0000066",
    "taskno": "3500",
    "description": "365 Solutions 111",
    "preOrder": false,
    "requireComments": false
    

    }

    Sample Response:

    {
    "@odata.context": "https://api.businesscentral.dynamics.com/v1.0/7ff9c274-542c-4f17-9fe9-6a2aad51085c/sandbox/api/progressus/task/v1.0/$metadata#companies(6ff64c7a-b1fd-ea11-bc7d-00155df3a615)/tasks/$entity",
    "@odata.etag": "W/\"JzQ0O05tOS8zUStRYjZvWExpK2RvTklZRFVkSlBYekhzQ050bFpDNmhsbTh4NUE9MTswMDsn\"",
    "id": "e2a7351a-20b2-eb11-9b52-000d3a3c0378",
    "jobno": "P0000066",
    "taskno": "3500",
    "description": "365 Solutions 111",
    "preOrder": false,
    "requireComments": false
    }
    

    External Tasks

    GET External Tasks using API

    GET https://api.businesscentral.dynamics.com/v1.0/7ff9c274-542c-4f17-9fe9-6a2aad51085c/sandbox/api/progressus/externaltask/v1.0/companies(6ff64c7a-b1fd-ea11-bc7d-00155df3a615)/externaltasks
    

    Sample Response:

    { "@odata.context": "https://api.businesscentral.dynamics.com/v1.0/7ff9c274-542c-4f17-9fe9-6a2aad51085c/sandbox/api/progressus/externaltask/v1.0/$metadata#companies(6ff64c7a-b1fd-ea11-bc7d-00155df3a615)/externaltasks", "value": [ { "@odata.etag": "W/\"JzQ0O1ZvbUtaUW9yNUNZTTVGeUFqMWNKNjAybGFQUkxMRDdjVkRlOFVmYnN6NGc9MTswMDsn\"", "id": "c4534d25-827a-eb11-b853-000d3a049031", "jobno": "P0000066", "taskno": "1500", "description": "365 Solutions 111", "preOrder": false, "requireComments": false, "externalTimeEntry": true, "integrationTaskName": "", "integrationTaskPK": 0 }, { "@odata.etag": "W/\"JzQ0O1NCdWxFZWdpOGZ4SStIaHNVVFFxZGx1dzJTbll6SkIrV01EV0UwR0p3OWs9MTswMDsn\"", "id": "8d815b2b-827a-eb11-b853-000d3a049031", "jobno": "P0000066", "taskno": "1600", "description": "", "preOrder": false, "requireComments": false, "externalTimeEntry": false, "integrationTaskName": "", "integrationTaskPK": 0 } ] }

    Difference between External Tasks API and Tasks API: External Tasks API have following three additional fields to Projects API

    1. externalTimeEntry
    2. integrationTaskName
    3. integrationTaskPK
    Sr. no. Field/Tag Description Example
    1 id GUID Specifies a unique identifier of the record.System generated GUID. "id": "c4534d25-827a-eb11-b853-000d3a049031",
    2 jobno Code[20] Specifies the Job/Project number. "jobno": "P0000066",
    3 taskno Code[20] Specifies the number of the related job task "taskno": "3000",
    4 description Text[100] Specifies a description of the job task. You can enter anything that is meaningful in describing the task. The description is copied and used in descriptions on the job planning line "description": "",
    5 preOrder Boolean Specifies if it is a Pre-Order "preOrder": false,
    6 requireComments Boolean Specifies when comments are required on timesheet or expense sheet entries posted to this task. "requireComments": false
    7 ExternalTimeEntry Boolean Specifies if the project will use external/integration system for time "externalTimeEntry": false,
    8 integrationTaskName Text[255] Specifies the name of the task in integration system "integrationTaskName": "",
    9 integrationTaskPK Integer Specifies a unique identifier for the task in integrated system "integrationTaskPK": 0

    GET External Tasks filtered data using API

    GET https://api.businesscentral.dynamics.com/v1.0/7ff9c274-542c-4f17-9fe9-6a2aad51085c/sandbox/api/progressus/externaltask/v1.0/companies(6ff64c7a-b1fd-ea11-bc7d-00155df3a615)/externaltasks?$filter=jobno eq 'P0000066'
    

    Sample Response:

    { "@odata.context": "https://api.businesscentral.dynamics.com/v1.0/7ff9c274-542c-4f17-9fe9-6a2aad51085c/sandbox/api/progressus/externaltask/v1.0/$metadata#companies(6ff64c7a-b1fd-ea11-bc7d-00155df3a615)/externaltasks", "value": [ { "@odata.etag": "W/\"JzQ0O1ZvbUtaUW9yNUNZTTVGeUFqMWNKNjAybGFQUkxMRDdjVkRlOFVmYnN6NGc9MTswMDsn\"", "id": "c4534d25-827a-eb11-b853-000d3a049031", "jobno": "P0000066", "taskno": "1500", "description": "365 Solutions 111", "preOrder": false, "requireComments": false, "externalTimeEntry": true, "integrationTaskName": "", "integrationTaskPK": 0 }, { "@odata.etag": "W/\"JzQ0O1NCdWxFZWdpOGZ4SStIaHNVVFFxZGx1dzJTbll6SkIrV01EV0UwR0p3OWs9MTswMDsn\"", "id": "8d815b2b-827a-eb11-b853-000d3a049031", "jobno": "P0000066", "taskno": "1600", "description": "", "preOrder": false, "requireComments": false, "externalTimeEntry": false, "integrationTaskName": "", "integrationTaskPK": 0 }, { "@odata.etag": "W/\"JzQ0O0FDMit2djlyY2YrbTUxbmdHTkFCbGJnREVVWmJ2R3VoNDNuemhlSXVLQ0E9MTswMDsn\"", "id": "5d3ac194-907a-eb11-b853-000d3a049031", "jobno": "P0000066", "taskno": "3000", "description": "", "preOrder": false, "requireComments": false, "externalTimeEntry": false, "integrationTaskName": "", "integrationTaskPK": 0 }, { "@odata.etag": "W/\"JzQ0O2Z4cmprZ3R5aGk5cTRmc1Q0VjdqK3ZBbjN3MUJYeU5GYjdVNVJzOFlGS1U9MTswMDsn\"", "id": "5f3ac194-907a-eb11-b853-000d3a049031", "jobno": "P0000066", "taskno": "4000", "description": "", "preOrder": false, "requireComments": false, "externalTimeEntry": false, "integrationTaskName": "", "integrationTaskPK": 0 }, { "@odata.etag": "W/\"JzQ0OzROdDB3YTl2aHNXTHlUbnhlT3IxWUZQWEMyNmlzVXpxdWZvdS9DbEFLRUk9MTswMDsn\"", "id": "a1428da7-957a-eb11-b853-000d3a049031", "jobno": "P0000066", "taskno": "4300", "description": "", "preOrder": false, "requireComments": false, "externalTimeEntry": false, "integrationTaskName": "", "integrationTaskPK": 0 }, { "@odata.etag": "W/\"JzQ0O1pkcE5qZ1Jib3o4U3EzVHkrekI1RjAzY0YwcjdGUE1oUG9OYUF5YmMrZEU9MTswMDsn\"", "id": "417d5115-9a7a-eb11-b853-000d3a049031", "jobno": "P0000066", "taskno": "4790", "description": "", "preOrder": false, "requireComments": false, "externalTimeEntry": true, "integrationTaskName": "", "integrationTaskPK": 0 }, { "@odata.etag": "W/\"JzQ0O1VObzdYQXRjemhvbUpyQ2lSLzcxSjJEM1h1QXNmaHl1eXY0V1krU3d1SG89MTswMDsn\"", "id": "43a9a11e-9a7a-eb11-b853-000d3a049031", "jobno": "P0000066", "taskno": "4800", "description": "", "preOrder": false, "requireComments": false, "externalTimeEntry": true, "integrationTaskName": "", "integrationTaskPK": 0 }, { "@odata.etag": "W/\"JzQ0O0pyQ2gzUmp6aFREczZsbklYbGRzS1JPSHlnS0FNbVpiVUhYVkpNSGIxVTg9MTswMDsn\"", "id": "d24a0c22-9d7a-eb11-b853-000d3a049031", "jobno": "P0000066", "taskno": "5100", "description": "RSM 206", "preOrder": false, "requireComments": false, "externalTimeEntry": true, "integrationTaskName": "", "integrationTaskPK": 0 }, { "@odata.etag": "W/\"JzQ0O0pSRzJjanV1V0lHVjQ0cTdYaWRoaDJMbWovSC92Q2J2MGExbjRZcXFwbmM9MTswMDsn\"", "id": "142c1afe-837a-eb11-b853-000d3a0e8d23", "jobno": "P0000066", "taskno": "2500", "description": "Fixed Assets", "preOrder": false, "requireComments": false, "externalTimeEntry": true, "integrationTaskName": "", "integrationTaskPK": 0 }, { "@odata.etag": "W/\"JzQ0O1F2bjFpWmZHNzloaFVPZDUzMVNkM2kvdkpHQ2ZycGtIdTJacUtHZ0ZKK1k9MTswMDsn\"", "id": "69e9a28c-917a-eb11-b853-000d3a0e8d23", "jobno": "P0000066", "taskno": "4100", "description": "", "preOrder": false, "requireComments": false, "externalTimeEntry": false, "integrationTaskName": "", "integrationTaskPK": 0 }, { "@odata.etag": "W/\"JzQ0O2JTdXRwYXJVNC83aXlBVTc3QnoweUV0c0lYRWUwNytqREtKQXViR2VsTFE9MTswMDsn\"", "id": "88579809-927a-eb11-b853-000d3a0e8d23", "jobno": "P0000066", "taskno": "4200", "description": "", "preOrder": false, "requireComments": false, "externalTimeEntry": false, "integrationTaskName": "", "integrationTaskPK": 0 } ] }

    POST External Tasks using API

    POST https://api.businesscentral.dynamics.com/v1.0/7ff9c274-542c-4f17-9fe9-6a2aad51085c/sandbox/api/progressus/externaltask/v1.0/companies(6ff64c7a-b1fd-ea11-bc7d-00155df3a615)/externaltasks
    

    Sample Request Body:

    {
    
            "jobno": "P0000029",
            "taskno": "36000",
            "description": "HR Training / Tasks ",
            "preOrder": false,
            "requireComments": false,
            "externalTimeEntry": true,
            "integrationTaskName": "Employee Kudos",
            "integrationTaskPK": 35703
        }
    

    Sample Response:

    {
    "@odata.context": "https://api.businesscentral.dynamics.com/v1.0/7ff9c274-542c-4f17-9fe9-6a2aad51085c/sandbox/api/progressus/externaltask/v1.0/$metadata#companies(6ff64c7a-b1fd-ea11-bc7d-00155df3a615)/externaltasks/$entity",
    "@odata.etag": "W/\"JzQ0O0dEZWxuVTc2R0FId0lSZEhybys5U3QxOFB4NExWN3FvbGpWMlhJSHJXNjg9MTswMDsn\"",
    "id": "8e062dd0-2bb2-eb11-9b52-000d3a3c0018",
    "jobno": "P0000029",
    "taskno": "36000",
    "description": "HR Training / Tasks ",
    "preOrder": false,
    "requireComments": false,
    "externalTimeEntry": true,
    "integrationTaskName": "Employee Kudos",
    "integrationTaskPK": 35703
    

    }

    Integration Tasks

    GET Integration Tasks using API

    GET https://api.businesscentral.dynamics.com/v1.0/7ff9c274-542c-4f17-9fe9-6a2aad51085c/sandbox/api/progressus/integrationtask/v1.0/companies(6ff64c7a-b1fd-ea11-bc7d-00155df3a615)/integrationtasks
    

    Sample Response:

    {
    "@odata.context": "https://api.businesscentral.dynamics.com/v1.0/7ff9c274-542c-4f17-9fe9-6a2aad51085c/sandbox/api/progressus/integrationtask/v1.0/$metadata#companies(6ff64c7a-b1fd-ea11-bc7d-00155df3a615)/integrationtasks",
    "value": [
        {
            "@odata.etag": "W/\"JzQ0O0hoVjdDd0JsQU5SSC9ib0cyTThKZUNJTGVzQS9oZXRxQUtYeTRvRmFCZDg9MTswMDsn\"",
            "workItemId": 0,
            "parentWorkItemId": "1a10e74f-13b9-4584-b68b-38a70de96b0c",
            "title": "Test Integration Task"
        },
        {
            "@odata.etag": "W/\"JzQ0O0hLYjVwdmVaak5CeW82UldGVUl0N3IwYXJGU2FDTXBYRkF1cFRDQXl2S2M9MTswMDsn\"",
            "workItemId": 82,
            "parentWorkItemId": "94919702-77d1-4e4e-9979-a699f183abde",
            "title": "Skyline - Custom Invoice"
        },
        {
            "@odata.etag": "W/\"JzQ0O2twUTRjQmtYRHM0WUFDbnJtdjNTbWpQNitta25pdlJGTldiLzJydVV6c289MTswMDsn\"",
            "workItemId": 83,
            "parentWorkItemId": "1a10e74f-13b9-4584-b68b-38a70de96b0c",
            "title": "Test Integration Task-2"
        }
    ]
    

    }

    Sr. No. Field/ Tag Description Example
    1 workItemId Integer Specifies the unique identifier of task in integration system. i"workItemId": 82,
    2 parentWorkItemId Text[50] Specifies the parent project’s name in integration system. "parentWorkItemId": "1a10e74f-13b9-4584-b68b-38a70de96b0c",
    3 title Text[255] Specifies the name/ description of the task in integration system. "title": "Skyline - Custom Invoice"

    POST Integration Tasks using API

    POST https://api.businesscentral.dynamics.com/v1.0/7ff9c274-542c-4f17-9fe9-6a2aad51085c/sandbox/api/progressus/integrationtask/v1.0/companies(6ff64c7a-b1fd-ea11-bc7d-00155df3a615)/integrationtasks
    

    Sample Request Body:

    {
    
            "workItemId": 100,
            "parentWorkItemId": "1a10e74f-13b9-4584-b68b-38a70de96b0c",
            "title": "Test Integration API"
        }
    

    Sample Response:

    {
    "@odata.context": "https://api.businesscentral.dynamics.com/v1.0/7ff9c274-542c-4f17-9fe9-6a2aad51085c/sandbox/api/progressus/integrationtask/v1.0/$metadata#companies(6ff64c7a-b1fd-ea11-bc7d-00155df3a615)/integrationtasks/$entity",
    "@odata.etag": "W/\"JzQ0O2hEMFFheEFVd3lTelJPdnRHcjNZcXNDMXRETEVWL3ZQM01ncDJpamF2SFU9MTswMDsn\"",
    "workItemId": 100,
    "parentWorkItemId": "1a10e74f-13b9-4584-b68b-38a70de96b0c",
    "title": "Test Integration API"
    

    }

    Timecard

    GET Timecards using API

    GET https://api.businesscentral.dynamics.com/v1.0/7ff9c274-542c-4f17-9fe9-6a2aad51085c/sandbox/api/progressus/timecard/v1.0/companies(6ff64c7a-b1fd-ea11-bc7d-00155df3a615)/timecards
    

    Sample Response:

    {
    "@odata.context": "https://api.businesscentral.dynamics.com/v1.0/7ff9c274-542c-4f17-9fe9-6a2aad51085c/sandbox/api/progressus/timecard/v1.0/$metadata#companies(6ff64c7a-b1fd-ea11-bc7d-00155df3a615)/timecards",
    "value": [
        {
            "@odata.etag": "W/\"JzQ0OzZmcWI5TlgyUnFDQ2NaamZ6cm0rRVpHSnJ6ajJWcjZRY09pa3RJeTZUZW89MTswMDsn\"",
            "id": "9285a63a-6182-eb11-b853-000d3a049031",
            "projectNumber": "API00010",
            "projectTaskCode": "1500",
            "resourceCode": "R1480",
            "workTypeCode": "HALFRATEL",
            "quantity": 3,
            "description": "",
            "customerNumber": "30000",
            "unitOfMeasure": "HOUR",
            "resourceGroupNo": "",
            "costType": "",
            "periodStartDate": "2021-03-01",
            "date": "2021-03-02",
            "timesheetCurrencyCode": ""
        },
        {
            "@odata.etag": "W/\"JzQ0O1cycEZKOG4vbjlPajZ2ZWdmZ25FRFVwMEhObTZ1RVVRRVRTYjk3dFFXczA9MTswMDsn\"",
            "id": "9485a63a-6182-eb11-b853-000d3a049031",
            "projectNumber": "API00010",
            "projectTaskCode": "1500",
            "resourceCode": "R1480",
            "workTypeCode": "HALFRATEL",
            "quantity": 5,
            "description": "",
            "customerNumber": "30000",
            "unitOfMeasure": "HOUR",
            "resourceGroupNo": "",
            "costType": "",
            "periodStartDate": "2021-03-01",
            "date": "2021-03-04",
            "timesheetCurrencyCode": ""
        }
    

    ] }

    Sr. No. Field/ Tag Description Example
    1 projectNumber Code[20] Specifies the project no. from the list of projects on which the resource has worked. "projectNumber": "API00010",
    2 projectTaskCode Code[20] Specifies the task no. from the list of tasks for this project. "projectTaskCode": "1500",
    3 resourceCode Code[20] Specifies the number of the resource whose timesheet is being entered. "resourceCode": "R1480",
    4 workTypeCode Code[20] Code[10] Specifies a work type code from the list of available work types or leave blank. "workTypeCode": "HALFRATEL",
    5 quantity Decimal Specifies the quantity in Unit of Measure Code for which resource has worked on this task. "quantity": 5,
    6 description Text[100] Specifies the description that is contained in the details about the timesheet line. "description": "",
    7 customerNumber Code[20] Specifies the number of the customer who pays for the project. "customerNumber": "30000",
    8 unitOfMeasure Code[10] Specifies the unit of measure for the resource. "unitOfMeasure": "HOUR",
    9 resourceGroupNo Code[20] Specifies the resource group for the resource. "resourceGroupNo": "",
    10 costType Code[10] Specifies the cost type of the resource "costType": "",
    11 periodStartDate Date Specifies the start date of the timesheet period. "periodStartDate": "2021-03-01",
    12 date Date Specifies the date of timesheet/ billing. "date": "2021-03-04",
    13 timesheetCurrencyCode Code[10] Specifies the currency code. "timesheetCurrencyCode": ""

    POST Timecards using API

    POST  https://api.businesscentral.dynamics.com/v1.0/7ff9c274-542c-4f17-9fe9-6a2aad51085c/sandbox/api/progressus/timecard/v1.0/companies(6ff64c7a-b1fd-ea11-bc7d-00155df3a615)/timecards
    

    Sample Request Body:

    {
            "projectNumber": "API00010",
            "projectTaskCode": "1500",
            "resourceCode": "R1480",
            "workTypeCode": "HALFRATEL",
            "quantity": 4,
            "description": "Testing API",
            "customerNumber": "30000",
            "unitOfMeasure": "HOUR",
            "resourceGroupNo": "",
            "costType": "",
            "periodStartDate": "2021-03-01",
            "date": "2021-03-05",
            "timesheetCurrencyCode": ""
        }
    

    Sample Response:

    `{
    "@odata.context": "https://api.businesscentral.dynamics.com/v1.0/7ff9c274-542c-4f17-9fe9-6a2aad51085c/sandbox/api/progressus/timecard/v1.0/$metadata#companies(6ff64c7a-b1fd-ea11-bc7d-00155df3a615)/timecards/$entity",
    "@odata.etag": "W/\"JzQ0O0JPUFBhSkhVMERDanJheGRsbzltQU1UWGpCKzdjL2Z2Ly8vaWVGcGt3dFE9MTswMDsn\"",
    "id": "e82d0b6e-45ae-eb11-9b4f-000d3a23f6ab",
    "projectNumber": "API00010",
    "projectTaskCode": "1500",
    "resourceCode": "R1480",
    "workTypeCode": "HALFRATEL",
    "quantity": 4,
    "description": "Testing API",
    "customerNumber": "30000",
    "unitOfMeasure": "HOUR",
    "resourceGroupNo": "",
    "costType": "",
    "periodStartDate": "2021-03-01",
    "date": "2021-03-05",
    "timesheetCurrencyCode": ""
    

    }

    Timeperiods

    GET List of Timecards using API

    GET https://api.businesscentral.dynamics.com/v1.0/7ff9c274-542c-4f17-9fe9-6a2aad51085c/sandbox/api/progressus/timeperiod/v1.0/companies(6ff64c7a-b1fd-ea11-bc7d-00155df3a615)/timeperiods
    

    Sample Response:

    {
    "@odata.context": "https://api.businesscentral.dynamics.com/v1.0/7ff9c274-542c-4f17-9fe9-6a2aad51085c/sandbox/api/progressus/timeperiod/v1.0/$metadata#companies(6ff64c7a-b1fd-ea11-bc7d-00155df3a615)/timeperiods",
    "value": [
        {
            "@odata.etag": "W/\"JzQ0OzBjQ3phMExDa1U3TnVodm85WGN2aXBsRW9GUThQdzY3NzBlUUYwSzQ0K1E9MTswMDsn\"",
            "id": "468a1b67-b381-eb11-b853-000d3a049031",
            "startDate": "2020-01-01",
            "resource": "R1480",
            "type": "Month",
            "endDate": "2020-01-31",
            "description": "Month 12 - 01/31/20",
            "detailLevel": "Day",
            "open": true,
            "timeEntryStatus": "Not Used Yet"
        },
        {
            "@odata.etag": "W/\"JzQ0O0N6VlhyY2lYWUNyeHNrUFE3ekh3RHUyWDJsK3d4S0JxL2kweTNoRm5xdVk9MTswMDsn\"",
            "id": "478a1b67-b381-eb11-b853-000d3a049031",
            "startDate": "2020-02-01",
            "resource": "R1480",
            "type": "Month",
            "endDate": "2020-02-29",
            "description": "Month 13 - 02/29/20",
            "detailLevel": "Day",
            "open": true,
            "timeEntryStatus": "Not Used Yet"
        }
    ]
    

    }

    Sr. No. Field/ Tag Description Example
    1 startDate Code[20] Date Specifies the start date of the timeperiod. "startDate": "2020-02-01",
    2 resource Code[20] Specifies the resource for whom timeperiod is created. "resource": "R1480",
    3 type Specifies the type of timeperiod, applicable options are : Day,Week,Week2,Month,,,"Bi Weekly","Semi Monthly "type": "Month",
    4 endDate Date Specifies the end date of the timeperiod. "endDate": "2020-02-29",
    5 description Text[30] Specifies the description of the timeperiod "description": "Month 13 - 02/29/20",
    6 detailLevel Option: Day, Week, Month Specifies the detail level of the timeperiod, it is option type field with option values as Day, Week and Month "detailLevel": "Day",
    7 open Boolean True value specifies that the timeperiod is open. "open": true,
    8 timeEntryStatus Option Not Used Yet, Open, Waiting PM Approval, Waiting LM Approval, Waiting PE Approval, Waiting Posting, Rejected, Posted. Specifies the current status of time entry. "timeEntryStatus": "Not Used Yet"

    POST Timeperiods using API

    POST https://api.businesscentral.dynamics.com/v1.0/7ff9c274-542c-4f17-9fe9-6a2aad51085c/sandbox/api/progressus/timeperiod/v1.0/companies(6ff64c7a-b1fd-ea11-bc7d-00155df3a615)/timeperiods
    

    Sample Request Body:

    {
            "startDate": "2022-01-01",
            "resource": "R1490",
            "type": "Month",
            "endDate": "2022-01-31",
            "description": "Month 1 - 01/31/22",
            "detailLevel": "Day",
            "open": true,
            "timeEntryStatus": "Not Used Yet"
        }
    

    Sample Response:

    {
    "@odata.context": "https://api.businesscentral.dynamics.com/v1.0/7ff9c274-542c-4f17-9fe9-6a2aad51085c/sandbox/api/progressus/timeperiod/v1.0/$metadata#companies(6ff64c7a-b1fd-ea11-bc7d-00155df3a615)/timeperiods/$entity",
    "@odata.etag": "W/\"JzQ0O3YxcmtPWUxEK3JOMy9YSE5PNDBmc2FPTi9qLzJTc0ZEcVgyZmhydExyUWc9MTswMDsn\"",
    "id": "79c5ec74-4eae-eb11-9b4f-000d3a23f6ab",
    "startDate": "2022-01-01",
    "resource": "R1490",
    "type": "Month",
    "endDate": "2022-01-31",
    "description": "Month 1 - 01/31/22",
    "detailLevel": "Day",
    "open": true,
    "timeEntryStatus": "Not Used Yet"
    

    }

    Integration Entry Log

    GET Integration Entry Log

    GET https://api.businesscentral.dynamics.com/v1.0/7ff9c274-542c-4f17-9fe9-6a2aad51085c/sandbox/api/progressus/integrationlog/v1.0/companies(6ff64c7a-b1fd-ea11-bc7d-00155df3a615)/integrationlogs
    

    Sample Response:

    {
    "@odata.context": "https://api.businesscentral.dynamics.com/v1.0/7ff9c274-542c-4f17-9fe9-6a2aad51085c/sandbox/api/progressus/integrationlog/v1.0/$metadata#companies(6ff64c7a-b1fd-ea11-bc7d-00155df3a615)/integrationlogs",
    "value": [
        {
            "@odata.etag": "W/\"JzQ0O3FNMjhQVGpHdjJCUmNIOWE2M2RoUzFSTEsxNkJBWHljb1RESGRNa29hU3c9MTswMDsn\"",
            "entryNo": 118,
            "jSONRequest": "",
            "logCreatedOn": "2021-02-03T08:51:48.62Z",
            "description": "Test",
            "status": "Success",
            "integrationTable": "Resources",
            "flowName": "",
            "retry": false
        },
        {
            "@odata.etag": "W/\"JzQ0OzYyTHJpS29TNm0ybncxZDBqNUpjUWJ4UmJrcDJzV2tMNlpPVVZ4cVJWNjA9MTswMDsn\"",
            "entryNo": 119,
            "jSONRequest": "",
            "logCreatedOn": "2021-02-03T08:51:49.327Z",
            "description": "Test",
            "status": "Success",
            "integrationTable": "Resources",
            "flowName": "",
            "retry": false
        }
    ]
    
    Sr. No. Field/ Tag Description Example
    1 entryNo Integer Specifies the unique value of the entry number, which is auto incremented on insertion of data from integration system. "entryNo": 119,
    2 jSONRequest Text[2048] Specifies the JSON request used in the API call by the integration system. "jSONRequest": "",
    3 logCreatedOn DateTime Specifies the date and time of log creation. "logCreatedOn": "2021-02-03T08:51:49.327Z",
    4 description Text[500] Specifies the description/ purpose/ explanation of log entry. "description": "Test",
    5 status Option: Success, Failure Specifies the status of log entry, it is either success or failure. "status": "Success",
    6 integrationTable Option : Projects, Project Tasks, Time Periods, Resources, Time Entry Specifies the table to which log entry is related, Options are projects, project tasks, time periods, resources, time entry. "integrationTable": "Resources",
    7 flowName Text[250] Specifies the applicable flow name used in the power automation system. "flowName": "",
    8 retry Boolean Specifies the records which are marked for retrying to resolve error. This is applicable only for records having status as failure. "retry": false

    POST Integration Entry Log using API

    POST https://api.businesscentral.dynamics.com/v1.0/7ff9c274-542c-4f17-9fe9-6a2aad51085c/sandbox/api/progressus/integrationlog/v1.0/companies(6ff64c7a-b1fd-ea11-bc7d-00155df3a615)/integrationlogs
    

    Sample Request Body:

    {
            "jSONRequest": "",
            "logCreatedOn": "2021-02-03T08:51:48.62Z",
            "description": "Test",
            "status": "Success",
            "integrationTable": "Resources",
            "flowName": "",
            "retry": false
        }
    

    Sample Response:

    {
    "@odata.context": "https://api.businesscentral.dynamics.com/v1.0/7ff9c274-542c-4f17-9fe9-6a2aad51085c/sandbox/api/progressus/integrationlog/v1.0/$metadata#companies(6ff64c7a-b1fd-ea11-bc7d-00155df3a615)/integrationlogs/$entity",
    "@odata.etag": "W/\"JzQ0O3dGZGpkZkFkNzFGMWhVUWtFeDVDWnJ4ZGtUdkpVMTdOaFZFZmR1R1dVQ009MTswMDsn\"",
    "entryNo": 14061,
    "jSONRequest": "",
    "logCreatedOn": "2021-02-03T08:51:48.62Z",
    "description": "Test",
    "status": "Success",
    "integrationTable": "Resources",
    "flowName": "",
    "retry": false
    

    }

    Integration Setup

    This is a Business Central Setup table having one record only for configuration of Integration System and associated credentials.

    GET Integration Setup using API

    GET https://api.businesscentral.dynamics.com/v1.0/7ff9c274-542c-4f17-9fe9-6a2aad51085c/sandbox/api/progressus/integrationsetup/v1.0/companies(6ff64c7a-b1fd-ea11-bc7d-00155df3a615)/integrationsetup
    

    Sample Response:

    `{
    "@odata.context": "https://api.businesscentral.dynamics.com/v1.0/7ff9c274-542c-4f17-9fe9-6a2aad51085c/sandbox/api/progressus/integrationsetup/v1.0/$metadata#companies(6ff64c7a-b1fd-ea11-bc7d-00155df3a615)/integrationsetup",
    "value": [
        {
            "@odata.etag": "W/\"JzQ0O2JRMExpK2EydFdmMlAvbytOQXNzZ1kyZUtPQnVTTTRNSkxkWW5wYTU3RGM9MTswMDsn\"",
            "primaryKey": "",
            "enableIntegration": true,
            "enableLog": true,
            "integrationURL": "https://dev.azure.com",
            "integrationType": "DevOps",
            "organizationName": "velosio"
        }
    ]
    

    }

    Sr. No. Field/ Tag Description Example
    1 primaryKey Text[50] Specifies the unique primary key of the table. Generally, this field is blank. "primaryKey": "",
    2 enableIntegration Boolean Specifies whether to enable integration with external system or not. "enableIntegration": true,
    3 enableLog Text[50] Specifies the unique primary key of the table. Generally, this field is blank. "enableLog": true,
    4 integrationURL Text[250] Specifies the URL of the system with which integration is done "integrationURL": "https://dev.azure.com",
    5 integrationType Enum [Option]: Jira, DevOps Specifies the system with which integration is done. "integrationType": "DevOps",
    5 organizationName Text[50] Specifies the organization name in the external/ integration system. "organizationName": "velosio"

    POST Integration Setup using API

    POST: As per design, using APIs data can be read only from this table and insertion of data through API is not allowed. If we try to call POST function of the API user will get error.

    POST https://api.businesscentral.dynamics.com/v1.0/7ff9c274-542c-4f17-9fe9-6a2aad51085c/sandbox/api/progressus/integrationsetup/v1.0/companies(6ff64c7a-b1fd-ea11-bc7d-00155df3a615)/integrationsetup
    

    Sample Response:

    {
    "error": {
        "code": "Application_DialogException",
        "message": "You cannot insert data in Integration Setup table through API.  CorrelationId:  961123e0-0c77-4687-96cb-ab23f3c1d08c."
    }
    

    }

    See Also

    Introduction

    Progressus DevOps/Jira Integration

    In This Article
    Back to top Generated by DocFX