ExpenseCategories



Important note about API versions

If you are using Dovico Timesheet version 13 or below, you should use API version 5. If using version 14, use API version 6.


Versions 1 through 6
This call has been updated to reflect the 6th version of the API.

The API calls listed below enable a person to view, create, and edit Expense Categories that they have been given security access to within DOVICO Timesheet or DOVICO Planning and Timesheet.

Examples are provided using cURL.cURL is a 3rd party tool used for transferring data with URL syntax.



Get all Expense Categories


GET ExpenseCategories/

Returns a list of all Expense Categories using pagination. Note:The $filter query string can optionally be included with this request.

Security Check: The user must have Software Access set to 'All' or 'Time and Expense Entry only' and have Read access to the 'Expense Categories' view or Access to the 'Timesheet - Expenses' tool.
Example XML request:
 
        URI: https://api.dovico.com/ExpenseCategories/?version=6
        Method: GET
 
        Sample request syntax using Win32 cURL:
        curl -k "https://api.dovico.com/ExpenseCategories/?version=6" -H "Authorization: WRAP access_token=""client=36bb7f2f29474d88bf35c4a89cdcfb34.593&user_token=e7d1e55015ee4ecebe5298cb439344fd.593"""
 
 
Example JSON request:
 
        URI: https://api.dovico.com/ExpenseCategories/?version=6
        Method: GET
        Accept: application/json
 
        Sample request syntax using Win32 cURL:
        curl -k "https://api.dovico.com/ExpenseCategories/?version=6" -H "Accept: application/json" -H "Authorization: WRAP access_token=""client=36bb7f2f29474d88bf35c4a89cdcfb34.593&user_token=e7d1e55015ee4ecebe5298cb439344fd.593"""
 
 
Example XML response:
 
        <Result xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
            <ExpenseCategories>
                <ExpenseCategory>
                    <ID>109</ID>
                    <Name>Accomodations</Name>
                    <Unit>F</Unit>
                    <CostPerUnit>0</CostPerUnit>
                    <Currency>
                        <ID>280</ID>
                        <Symbol>USD $</Symbol>
                        <GetItemURI>https://api.dovico.com/Currencies/280/?version=6</GetItemURI>
                    </Currency>
                    <UnitDescription></UnitDescription>
                    <Description>Travel Expense</Description>
                    <Archive>F</Archive>
                    <Integrate></Integrate>
                    <CustomFields>
                        <CustomField>
                            <ID>1631</ID>
                            <TemplateID>148</TemplateID>
                            <Name>Date of Birth</Name>
                            <Values>
                                <Value>1967-12-31</Value>
                            </Values>
                            <GetCustomTemplateURI>https://api.dovico.com/CustomFieldTemplates/148/?version=6</GetCustomTemplateURI>
                        </CustomField>
                        <CustomField>
                        ...
                        </CustomField>
                    </CustomFields>
                </ExpenseCategory>
                <ExpenseCategory>
                    ...
                </ExpenseCategory>
            </ExpenseCategories>
            <PrevPageURI>https://api.dovico.com/ExpenseCategories/?prev=109&version=6</PrevPageURI>
            <NextPageURI>https://api.dovico.com/ExpenseCategories/?next=122&version=6</NextPageURI>
        </Result>


Fields for Result
ExpenseCategories (will return zero or more ExpenseCategory nodes)
PrevPageURI (string. Will be 'N/A' if there is no previous page of data)
NextPageURI (string. Will be 'N/A' if there is no next page of data)

Fields for ExpenseCategory
ID (long)
Name (string)
Unit (string - 'T' or 'F')
CostPerUnit (double - US English format)
Currency (node containing information about the currency specified for the current item)
UnitDescription (string)
Description (string)
Archive (string - 'T' or 'F')
Integrate (string of XML)
CustomFields (will return zero or more CustomField nodes)

Fields for Currency
ID (long)
Symbol (string)
GetItemURI (string - URI to pull information about the current currency item)

Fields for CustomField
ID (long)
TemplateID (long)
Name (string)
Values (will return one or more Value nodes)
GetCustomTemplateURI (string - URI to pull information about this custom template)

Fields for CustomField's Values node
Value (string, date, or double - based on the custom template's type)

Example JSON response:
 
        {
        "ExpenseCategories":
            [
                {
                    "ID":"109",
                    "Name":"Accomodations",
                    "Unit":"F",
                    "CostPerUnit":"0",
                    "Currency":
                    {
                        "ID":"280",
                        "Symbol":"USD $",
                        "GetItemURI":"https:\/\/api.dovico.com\/Currencies\/280\/?version=6"
                    },
                    "UnitDescription":"",
                    "Description":"Travel Expense",
                    "Archive":"F",
                    "Integrate":"",
                    "CustomFields":
                    [
                        {
                            "ID":"1631",
                            "TemplateID":"148",
                            "Name":"Date of Birth",
                            "Values":
                            [
                                "1967-12-31"
                            ],
                            "GetCustomTemplateURI":"https:\/\/api.dovico.com\/CustomFieldTemplates\/148\/?version=6"
                        },
                        {
                            ...
                        }
                    ]
                },
                {
                    ...
                }
            ],
        "PrevPageURI":"https:\/\/api.dovico.com\/ExpenseCategories\/?prev=109&version=6",
        "NextPageURI":"https:\/\/api.dovico.com\/ExpenseCategories\/?next=122&version=6"
        }

Fields
ExpenseCategories (will return zero or more ExpenseCategory objects)
PrevPageURI (string. Will be 'N/A' if there is no previous page of data)
NextPageURI (string. Will be 'N/A' if there is no next page of data)


Fields for ExpenseCategory
ID (long)
Name (string)
Unit (string - 'T' or 'F')
CostPerUnit (double - US English format)
Currency (object containing information about the currency specified for the current item)
UnitDescription (string)
Description (string)
Archive (string - 'T' or 'F')
Integrate (string of XML)
CustomFields (will return zero or more CustomField objects)


Fields for Currency
ID (long)
Symbol (string)
GetItemURI (string - URI to pull information about the current currency item)


Fields for CustomField
ID (long)
TemplateID (long)
Name (string)
Values (will return one or more Value objects)
GetCustomTemplateURI (string - URI to pull information about this custom template)


Fields for CustomField's Values object
Value (string, date, or double - based on the custom template's type)



Get an Expense Category


GET ExpenseCategories/{sExpenseCategoryID}/

Returns the Expense Category requested.

Security Check: The user must have Software Access set to 'All' or 'Time and Expense Entry only' and have Read access to the 'Expense Categories' view or Access to the 'Timesheet - Expenses' tool.

Example XML request:
 
        URI: https://api.dovico.com/ExpenseCategories/{ExpenseCategoryID}/?version=6
        Method: GET
 
        Sample request syntax using Win32 cURL:
        curl -k "https://api.dovico.com/ExpenseCategories/109/?version=6" -H "Authorization: WRAP access_token=""client=36bb7f2f29474d88bf35c4a89cdcfb34.593&user_token=e7d1e55015ee4ecebe5298cb439344fd.593"""
 
 
Example JSON request:
 
        URI: https://api.dovico.com/ExpenseCategories/{ExpenseCategoryID}/?version=6
        Method: GET
        Accept: application/json
 
        Sample request syntax using Win32 cURL:
        curl -k "https://api.dovico.com/ExpenseCategories/109/?version=6" -H "Accept: application/json" -H "Authorization: WRAP access_token=""client=36bb7f2f29474d88bf35c4a89cdcfb34.593&user_token=e7d1e55015ee4ecebe5298cb439344fd.593"""
 
 
Example XML response:
 
        <Result xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
            <ExpenseCategories>
                <ExpenseCategory>
                    <ID>109</ID>
                    <Name>Accomodations</Name>
                    <Unit>F</Unit>
                    <CostPerUnit>0</CostPerUnit>
                    <Currency>
                        <ID>280</ID>
                        <Symbol>USD $</Symbol>
                        <GetItemURI>https://api.dovico.com/Currencies/280/?version=6</GetItemURI>
                    </Currency>
                    <UnitDescription></UnitDescription>
                    <Description>Travel Expense</Description>
                    <Archive>F</Archive>
                    <Integrate></Integrate>
                    <CustomFields>
                        <CustomField>
                            <ID>1631</ID>
                            <TemplateID>148</TemplateID>
                            <Name>Date of Birth</Name>
                            <Values>
                                <Value>1967-12-31</Value>
                            </Values>
                            <GetCustomTemplateURI>https://api.dovico.com/CustomFieldTemplates/148/?version=6</GetCustomTemplateURI>
                        </CustomField>
                        <CustomField>
                        ...
                        </CustomField>
                    </CustomFields>
                </ExpenseCategory>
            </ExpenseCategories>
        </Result>

Fields for Result
ExpenseCategories (will return zero ExpenseCategory nodes if the requested item does not exist. Will return one ExpenseCategory node if the requested item does exist)

Fields for ExpenseCategory
ID (long)
Name (string)
Unit (string - 'T' or 'F')
CostPerUnit (double - US English format)
Currency (node containing information about the currency specified for the current item)
UnitDescription (string)
Description (string)
Archive (string - 'T' or 'F')
Integrate (string of XML)
CustomFields (will return zero or more CustomField nodes)

Fields for Currency
ID (long)
Symbol (string)
GetItemURI (string - URI to pull information about the current currency item)

Fields for CustomField
ID (long)
TemplateID (long)
Name (string)
Values (will return one or more Value nodes)
GetCustomTemplateURI (string - URI to pull information about this custom template)

Fields for CustomField's Values node
Value (string, date, or double - based on the custom template's type)

Example JSON response:
 
        {
        "ExpenseCategories":
            [
                {
                    "ID":"109",
                    "Name":"Accomodations",
                    "Unit":"F",
                    "CostPerUnit":"0",
                    "Currency":
                    {
                        "ID":"280",
                        "Symbol":"USD $",
                        "GetItemURI":"https:\/\/api.dovico.com\/Currencies\/280\/?version=6"
                    },
                    "UnitDescription":"",
                    "Description":"Travel Expense",
                    "Archive":"F",
                    "Integrate":"",
                    "CustomFields":
                    [
                        {
                            "ID":"1631",
                            "TemplateID":"148",
                            "Name":"Date of Birth",
                            "Values":
                            [
                                "1967-12-31"
                            ],
                            "GetCustomTemplateURI":"https:\/\/api.dovico.com\/CustomFieldTemplates\/148\/?version=6"
                        },
                        {
                            ...
                        }
                    ]
                }
            ]
        }
Fields
ExpenseCategories (will return zero ExpenseCategory objects if the requested item does not exist. Will return one ExpenseCategory object if the requested item does exist)


Fields for ExpenseCategory
ID (long)
Name (string)
Unit (string - 'T' or 'F')
CostPerUnit (double - US English format)
Currency (object containing information about the currency specified for the current item)
UnitDescription (string)
Description (string)
Archive (string - 'T' or 'F')
Integrate (string of XML)
CustomFields (will return zero or more CustomField objects)


Fields for Currency
ID (long)
Symbol (string)
GetItemURI (string - URI to pull information about the current currency item)


Fields for CustomField
ID (long)
TemplateID (long)
Name (string)
Values (will return one or more Value objects)
GetCustomTemplateURI (string - URI to pull information about this custom template)


Fields for CustomField's Values object
Value (string, date, or double - based on the custom template's type)




Insert


POST ExpenseCategories/

Creates the Expense Categories specified.

Security Check:The user must have Software Access set to All and have Read and Modify access to the Expense Categories view.
Example XML request:
 
        URI: https://api.dovico.com/ExpenseCategories/?version=6
        Method: POST
 
        Sample request syntax using Win32 cURL:
        curl -k "https://api.dovico.com/ExpenseCategories/?version=6" --request POST -H "Authorization: WRAP access_token=""client=36bb7f2f29474d88bf35c4a89cdcfb34.593&user_token=e7d1e55015ee4ecebe5298cb439344fd.593""" -H "Content-Type: text/xml" --data "<ExpenseCategories><ExpenseCategory><Name>Accomodations</Name></ExpenseCategory></ExpenseCategories>"
 

Fields for ExpenseCategories
*ExpenseCategory (required - at least one ExpenseCategory node is required but more than one can be provided)

Fields for ExpenseCategory
*Name (required - string with a maximum length of 100 characters)
Unit (optional - string 'T' or 'F')
CostPerUnit (optional - double in US English format)
CurrencyID (optional - long - must be an enabled currency)
*UnitDescription (required if Unit is 'T' - string with a maximum length of 20 characters)
Description (optional - string with a maximum length of 250 characters)
Archive (optional - string 'T' or 'F')
Integrate (optional - string of XML. If specified, do not include a root INT element.)
CustomFields (optional - zero or more CustomField nodes)

Fields for CustomField
*ID (required - long - specify -1 in this case)
*TemplateID (required - long - the ID of the Custom Template that this Custom Field belongs to)
Values (optional - zero or more Value nodes)

Fields for Value
Value (optional - string, date, or double depending on the Custom Template's type)

NOTE: Name is a required value and must be unique. The UnitDescription value is also required but only if Unit it set to 'T'. All other nodes for ExpenseCategory are optional. One or more ExpenseCategory nodes can be provided.


Example JSON request:
 
        URI: https://api.dovico.com/ExpenseCategories/?version=6
        Method: POST
        Accept: application/json
        Content-Type: application/json
 
        Sample request syntax using Win32 cURL:
        curl -k "https://api.dovico.com/ExpenseCategories/?version=6" --request POST -H "Accept: application/json" -H "Authorization: WRAP access_token=""client=36bb7f2f29474d88bf35c4a89cdcfb34.593&user_token=e7d1e55015ee4ecebe5298cb439344fd.593""" -H "Content-Type: application/json" --data "[{""Name"":""Accomodations""}]"
 
 
Fields
*An array containing at least one ExpenseCategory object (required)


Fields for ExpenseCategory
*Name (required - string with a maximum length of 100 characters)
Unit (optional - string 'T' or 'F')
CostPerUnit (optional - double in US English format)
CurrencyID (optional - long - must be an enabled currency)
*UnitDescription (required if Unit is 'T' - string with a maximum length of 20 characters)
Description (optional - string with a maximum length of 250 characters)
Archive (optional - string 'T' or 'F')
Integrate (optional - string of XML. If specified, do not include a root INT element.)
CustomFields (optional - an array of zero or more CustomField objects)


Fields for CustomField
*ID (required - long - specify -1 in this case)
*TemplateID (required - long - the ID of the Custom Template that this Custom Field belongs to)
Values (optional - an array of zero or more Value objects)


Fields for Value
Value (optional - string, date, or double depending on the Custom Template's type)


NOTE: Name is a required value and must be unique. The UnitDescription value is also required but only if Unit it set to 'T'. All other nodes for ExpenseCategory are optional. One or more ExpenseCategory nodes can be provided.

Example XML response:
 
        <Result xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
            <ExpenseCategories>
                <ExpenseCategory>
                    <ID>109</ID>
                    <Name>Accomodations</Name>
                    <Unit>F</Unit>
                    <CostPerUnit>0</CostPerUnit>
                    <Currency>
                        <ID>280</ID>
                        <Symbol>USD $</Symbol>
                        <GetItemURI>https://api.dovico.com/Currencies/280/?version=6</GetItemURI>
                    </Currency>
                    <UnitDescription></UnitDescription>
                    <Description>Travel Expense</Description>
                    <Archive>F</Archive>
                    <Integrate></Integrate>
                    <CustomFields>
                        <CustomField>
                            <ID>1631</ID>
                            <TemplateID>148</TemplateID>
                            <Name>Date of Birth</Name>
                            <Values>
                                <Value>1967-12-31</Value>
                            </Values>
                            <GetCustomTemplateURI>https://api.dovico.com/CustomFieldTemplates/148/?version=6</GetCustomTemplateURI>
                        </CustomField>
                        <CustomField>
                        ...
                        </CustomField>
                    </CustomFields>
                </ExpenseCategory>
            </ExpenseCategories>
        </Result>
 

Fields for Result
ExpenseCategories (will return zero ExpenseCategory nodes if the requested item does not exist. Will return one ExpenseCategory node if the requested item does exist)

Fields for ExpenseCategory
ID (long)
Name (string)
Unit (string - 'T' or 'F')
CostPerUnit (double - US English format)
Currency (node containing information about the currency specified for the current item)
UnitDescription (string)
Description (string)
Archive (string - 'T' or 'F')
Integrate (string of XML)
CustomFields (will return zero or more CustomField nodes)

Fields for Currency
ID (long)
Symbol (string)
GetItemURI (string - URI to pull information about the current currency item)

Fields for CustomField
ID (long)
TemplateID (long)
Name (string)
Values (will return one or more Value nodes)
GetCustomTemplateURI (string - URI to pull information about this custom template)

Fields for CustomField's Values node
Value (string, date, or double - based on the custom template's type)

Example JSON response:
 
        {
        "ExpenseCategories":
            [
                {
                    "ID":"109",
                    "Name":"Accomodations",
                    "Unit":"F",
                    "CostPerUnit":"0",
                    "Currency":
                    {
                        "ID":"280",
                        "Symbol":"USD $",
                        "GetItemURI":"https:\/\/api.dovico.com\/Currencies\/280\/?version=6"
                    },
                    "UnitDescription":"",
                    "Description":"Travel Expense",
                    "Archive":"F",
                    "Integrate":"",
                    "CustomFields":
                    [
                        {
                            "ID":"1631",
                            "TemplateID":"148",
                            "Name":"Date of Birth",
                            "Values":
                            [
                                "1967-12-31"
                            ],
                            "GetCustomTemplateURI":"https:\/\/api.dovico.com\/CustomFieldTemplates\/148\/?version=6"
                        },
                        {
                            ...
                        }
                    ]
                }
            ]
        }
Fields
ExpenseCategories (will return zero ExpenseCategory objects if the requested item does not exist. Will return one ExpenseCategory object if the requested item does exist)


Fields for ExpenseCategory
ID (long)
Name (string)
Unit (string - 'T' or 'F')
CostPerUnit (double - US English format)
Currency (object containing information about the currency specified for the current item)
UnitDescription (string)
Description (string)
Archive (string - 'T' or 'F')
Integrate (string of XML)
CustomFields (will return zero or more CustomField objects)


Fields for Currency
ID (long)
Symbol (string)
GetItemURI (string - URI to pull information about the current currency item)


Fields for CustomField
ID (long)
TemplateID (long)
Name (string)
Values (will return one or more Value objects)
GetCustomTemplateURI (string - URI to pull information about this custom template)


Fields for CustomField's Values object
Value (string, date, or double - based on the custom template's type)




Update (bulk)


PUT ExpenseCategories/

Updates the Expense Categories specified.

Security Check:
The user must have Software Access set to All and have Read and Modify access to the Expense Categories view.

Example XML request:
 
        URI: https://api.dovico.com/ExpenseCategories/?version=6
        Method: PUT
 
        Sample request syntax using Win32 cURL:
        curl -k "https://api.dovico.com/ExpenseCategories/?version=6" --request PUT -H "Authorization: WRAP access_token=""client=36bb7f2f29474d88bf35c4a89cdcfb34.593&user_token=e7d1e55015ee4ecebe5298cb439344fd.593""" -H "Content-Type: text/xml" --data "<ExpenseCategories><ExpenseCategory><ID>109</ID><Name>Accomodations</Name></ExpenseCategory></ExpenseCategories>"
 

Fields for ExpenseCategories
*ExpenseCategory (required - at least one ExpenseCategory node is required but more than one can be provided)


Fields for ExpenseCategory
*ID (required - long - the ID of the expense category record to update)
Name (optional - string with a maximum length of 100 characters)
CostPerUnit (optional - double in US English format)
CurrencyID (optional - long - must be an enabled currency)
UnitDescription (required if Unit is 'T' - string with a maximum length of 20 characters)
Description (optional - string with a maximum length of 250 characters)
Archive (optional - string 'T' or 'F')
Integrate (optional - string of XML. If specified, do not include a root INT element.)
DeleteIntegrateElement (optional - string containing the name of the element to be removed from the Integrate field)
CustomFields (optional - zero or more CustomField nodes)


WARNING: The Integrate field is used by several of DOVICO Software's integration solutions. If this field contains a value, do not overwrite the value with a new value unless you intend for this record to no longer work with the solution(s) it was integrated with.


Fields for CustomField
*ID (required - long)
*TemplateID (required - long - the ID of the Custom Template that this Custom Field belongs to)
Values (optional - zero or more Value nodes)


Fields for Value
Value (optional - string, date, or double depending on the Custom Template's type)

Example JSON request:
 
        URI: https://api.dovico.com/ExpenseCategories/?version=6
        Method: PUT
        Accept: application/json
        Content-Type: application/json
 
        Sample request syntax using Win32 cURL:
        curl -k "https://api.dovico.com/ExpenseCategories/?version=6" --request PUT -H "Accept: application/json" -H "Authorization: WRAP access_token=""client=36bb7f2f29474d88bf35c4a89cdcfb34.593&user_token=e7d1e55015ee4ecebe5298cb439344fd.593""" -H "Content-Type: application/json" --data "[{""ID"":""109"",""Name"":""Accomodations""}]"
 

Fields
*An array containing at least one ExpenseCategory object (required)

Fields for ExpenseCategory
*ID (required - long - the ID of the expense category record to update)
Name (optional - string with a maximum length of 100 characters)
CostPerUnit (optional - double in US English format)
CurrencyID (optional - long - must be an enabled currency)
UnitDescription (required if Unit is 'T' - string with a maximum length of 20 characters)
Description (optional - string with a maximum length of 250 characters)
Archive (optional - string 'T' or 'F')
Integrate (optional - string of XML. If specified, do not include a root INT element.)
DeleteIntegrateElement (optional - string containing the name of the element to be removed from the Integrate field)
CustomFields (optional - an array of zero or more CustomField objects)

WARNING: The Integrate field is used by several of DOVICO Software's integration solutions. If this field contains a value, do not overwrite the value with a new value unless you intend for this record to no longer work with the solution(s) it was integrated with.


Fields for CustomField
*ID (required - long)
*TemplateID (required - long - the ID of the Custom Template that this Custom Field belongs to)
Values (optional - an array of zero or more Value objects)


Fields for Value
Value (optional - string, date, or double depending on the Custom Template's type)

Example XML response:
 
        <Result xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
            <ExpenseCategories>
                <ExpenseCategory>
                    <ID>109</ID>
                    <Name>Accomodations</Name>
                    <Unit>F</Unit>
                    <CostPerUnit>0</CostPerUnit>
                    <Currency>
                        <ID>280</ID>
                        <Symbol>USD $</Symbol>
                        <GetItemURI>https://api.dovico.com/Currencies/280/?version=6</GetItemURI>
                    </Currency>
                    <UnitDescription></UnitDescription>
                    <Description>Travel Expense</Description>
                    <Archive>F</Archive>
                    <Integrate></Integrate>
                    <CustomFields>
                        <CustomField>
                            <ID>1631</ID>
                            <TemplateID>148</TemplateID>
                            <Name>Date of Birth</Name>
                            <Values>
                                <Value>1967-12-31</Value>
                            </Values>
                            <GetCustomTemplateURI>https://api.dovico.com/CustomFieldTemplates/148/?version=6</GetCustomTemplateURI>
                        </CustomField>
                        <CustomField>
                        ...
                        </CustomField>
                    </CustomFields>
                </ExpenseCategory>
            </ExpenseCategories>
        </Result>

Fields for Result
ExpenseCategories (will return zero ExpenseCategory nodes if the requested item does not exist. Will return one ExpenseCategory node if the requested item does exist)

Fields for ExpenseCategory
ID (long)
Name (string)
Unit (string - 'T' or 'F')
CostPerUnit (double - US English format)
Currency (node containing information about the currency specified for the current item)
UnitDescription (string)
Description (string)
Archive (string - 'T' or 'F')
Integrate (string of XML)
CustomFields (will return zero or more CustomField nodes)


Fields for Currency
ID (long)
Symbol (string)
GetItemURI (string - URI to pull information about the current currency item)


Fields for CustomField
ID (long)
TemplateID (long)
Name (string)
Values (will return one or more Value nodes)
GetCustomTemplateURI (string - URI to pull information about this custom template)


Fields for CustomField's Values node
Value (string, date, or double - based on the custom template's type)

Example JSON response:
 
        {
        "ExpenseCategories":
            [
                {
                    "ID":"109",
                    "Name":"Accomodations",
                    "Unit":"F",
                    "CostPerUnit":"0",
                    "Currency":
                    {
                        "ID":"280",
                        "Symbol":"USD $",
                        "GetItemURI":"https:\/\/api.dovico.com\/Currencies\/280\/?version=6"
                    },
                    "UnitDescription":"",
                    "Description":"Travel Expense",
                    "Archive":"F",
                    "Integrate":"",
                    "CustomFields":
                    [
                        {
                            "ID":"1631",
                            "TemplateID":"148",
                            "Name":"Date of Birth",
                            "Values":
                            [
                                "1967-12-31"
                            ],
                            "GetCustomTemplateURI":"https:\/\/api.dovico.com\/CustomFieldTemplates\/148\/?version=6"
                        },
                        {
                            ...
                        }
                    ]
                }
            ]
        }

Fields
ExpenseCategories (will return zero ExpenseCategory objects if the requested item does not exist. Will return one ExpenseCategory object if the requested item does exist)

Fields for ExpenseCategory
ID (long)
Name (string)
Unit (string - 'T' or 'F')
CostPerUnit (double - US English format)
Currency (object containing information about the currency specified for the current item)
UnitDescription (string)
Description (string)
Archive (string - 'T' or 'F')
Integrate (string of XML)
CustomFields (will return zero or more CustomField objects)


Fields for Currency
ID (long)
Symbol (string)
GetItemURI (string - URI to pull information about the current currency item)


Fields for CustomField
ID (long)
TemplateID (long)
Name (string)
Values (will return one or more Value objects)
GetCustomTemplateURI (string - URI to pull information about this custom template)


Fields for CustomField's Values object
Value (string, date, or double - based on the custom template's type)





Update


PUT ExpenseCategories/{sExpenseCategoryID}/

Updates the Expense Category specified.

Security Check:The user must have Software Access set to All and have Read and Modify access to the Expense Categories view.
Example XML request:
 
        URI: https://api.dovico.com/ExpenseCategories/{ExpenseCategoryID}/?version=6
        Method: PUT
 
        Sample request syntax using Win32 cURL:
        curl -k "https://api.dovico.com/ExpenseCategories/109/?version=6" --request PUT -H "Authorization: WRAP access_token=""client=36bb7f2f29474d88bf35c4a89cdcfb34.593&user_token=e7d1e55015ee4ecebe5298cb439344fd.593""" -H "Content-Type: text/xml" --data "<ExpenseCategory><Name>Accomodations</Name></ExpenseCategory>"
 

Fields for ExpenseCategory
Name (optional - string with a maximum length of 100 characters)
CostPerUnit (optional - double in US English format)
CurrencyID (optional - long - must be an enabled currency)
UnitDescription (required if Unit is 'T' - string with a maximum length of 20 characters)
Description (optional - string with a maximum length of 250 characters)
Archive (optional - string 'T' or 'F')
Integrate (optional - string of XML. If specified, do not include a root INT element.)
DeleteIntegrateElement (optional - string containing the name of the element to be removed from the Integrate field)
CustomFields (optional - zero or more CustomField nodes)

NOTE: All fields are optional but at least one must be specified (the Unit value cannot be updated)

WARNING: The Integrate field is used by several of DOVICO Software's integration solutions. If this field contains a value, do not overwrite the value with a new value unless you intend for this record to no longer work with the solution(s) it was integrated with.


Fields for CustomField
*ID (required - long)
*TemplateID (required - long - the ID of the Custom Template that this Custom Field belongs to)
Values (optional - zero or more Value nodes)

Fields for Value
Value (optional - string, date, or double depending on the Custom Template's type)

Example JSON request:
 
        URI: https://api.dovico.com/ExpenseCategories/{ExpenseCategoryID}/?version=6
        Method: PUT
        Accept: application/json
        Content-Type: application/json
 
        Sample request syntax using Win32 cURL:
        curl -k "https://api.dovico.com/ExpenseCategories/109/?version=6" --request PUT -H "Accept: application/json" -H "Authorization: WRAP access_token=""client=36bb7f2f29474d88bf35c4a89cdcfb34.593&user_token=e7d1e55015ee4ecebe5298cb439344fd.593""" -H "Content-Type: application/json" --data "{""Name"":""Accomodations""}"
 

Fields for ExpenseCategory
Name (optional - string with a maximum length of 100 characters)
CostPerUnit (optional - double in US English format)
CurrencyID (optional - long - must be an enabled currency)
UnitDescription (required if Unit is 'T' - string with a maximum length of 20 characters)
Description (optional - string with a maximum length of 250 characters)
Archive (optional - string 'T' or 'F')
Integrate (optional - string of XML. If specified, do not include a root INT element.)
DeleteIntegrateElement (optional - string containing the name of the element to be removed from the Integrate field)
CustomFields (optional - an array of zero or more CustomField objects)

NOTE: All fields are optional but at least one must be specified (the Unit value cannot be updated)

WARNING: The Integrate field is used by several of DOVICO Software's integration solutions. If this field contains a value, do not overwrite the value with a new value unless you intend for this record to no longer work with the solution(s) it was integrated with.


Fields for CustomField
*ID (required - long)
*TemplateID (required - long - the ID of the Custom Template that this Custom Field belongs to)
Values (optional - an array of zero or more Value objects)


Fields for Value
Value (optional - string, date, or double depending on the Custom Template's type)

Example XML response:
 
        <Result xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
            <ExpenseCategories>
                <ExpenseCategory>
                    <ID>109</ID>
                    <Name>Accomodations</Name>
                    <Unit>F</Unit>
                    <CostPerUnit>0</CostPerUnit>
                    <Currency>
                        <ID>280</ID>
                        <Symbol>USD $</Symbol>
                        <GetItemURI>https://api.dovico.com/Currencies/280/?version=6</GetItemURI>
                    </Currency>
                    <UnitDescription></UnitDescription>
                    <Description>Travel Expense</Description>
                    <Archive>F</Archive>
                    <Integrate></Integrate>
                    <CustomFields>
                        <CustomField>
                            <ID>1631</ID>
                            <TemplateID>148</TemplateID>
                            <Name>Date of Birth</Name>
                            <Values>
                                <Value>1967-12-31</Value>
                            </Values>
                            <GetCustomTemplateURI>https://api.dovico.com/CustomFieldTemplates/148/?version=6</GetCustomTemplateURI>
                        </CustomField>
                        <CustomField>
                        ...
                        </CustomField>
                    </CustomFields>
                </ExpenseCategory>
            </ExpenseCategories>
        </Result>
 

Fields for Result
ExpenseCategories (will return zero ExpenseCategory nodes if the requested item does not exist. Will return one ExpenseCategory node if the requested item does exist)

Fields for ExpenseCategory
ID (long)
Name (string)
Unit (string - 'T' or 'F')
CostPerUnit (double - US English format)
Currency (node containing information about the currency specified for the current item)
UnitDescription (string)
Description (string)
Archive (string - 'T' or 'F')
Integrate (string of XML)
CustomFields (will return zero or more CustomField nodes)

Fields for Currency
ID (long)
Symbol (string)
GetItemURI (string - URI to pull information about the current currency item)

Fields for CustomField
ID (long)
TemplateID (long)
Name (string)
Values (will return one or more Value nodes)
GetCustomTemplateURI (string - URI to pull information about this custom template)

Fields for CustomField's Values node
Value (string, date, or double - based on the custom template's type)

Example JSON response:
 
        {
        "ExpenseCategories":
            [
                {
                    "ID":"109",
                    "Name":"Accomodations",
                    "Unit":"F",
                    "CostPerUnit":"0",
                    "Currency":
                    {
                        "ID":"280",
                        "Symbol":"USD $",
                        "GetItemURI":"https:\/\/api.dovico.com\/Currencies\/280\/?version=6"
                    },
                    "UnitDescription":"",
                    "Description":"Travel Expense",
                    "Archive":"F",
                    "Integrate":"",
                    "CustomFields":
                    [
                        {
                            "ID":"1631",
                            "TemplateID":"148",
                            "Name":"Date of Birth",
                            "Values":
                            [
                                "1967-12-31"
                            ],
                            "GetCustomTemplateURI":"https:\/\/api.dovico.com\/CustomFieldTemplates\/148\/?version=6"
                        },
                        {
                            ...
                        }
                    ]
                }
            ]
        }
Fields
ExpenseCategories (will return zero ExpenseCategory objects if the requested item does not exist. Will return one ExpenseCategory object if the requested item does exist)


Fields for ExpenseCategory
ID (long)
Name (string)
Unit (string - 'T' or 'F')
CostPerUnit (double - US English format)
Currency (object containing information about the currency specified for the current item)
UnitDescription (string)
Description (string)
Archive (string - 'T' or 'F')
Integrate (string of XML)
CustomFields (will return zero or more CustomField objects)


Fields for Currency
ID (long)
Symbol (string)
GetItemURI (string - URI to pull information about the current currency item)


Fields for CustomField
ID (long)
TemplateID (long)
Name (string)
Values (will return one or more Value objects)
GetCustomTemplateURI (string - URI to pull information about this custom template)


Fields for CustomField's Values object
Value (string, date, or double - based on the custom template's type)