Great News! To offer you an even better invoicing experience, Invoice Machine is officially joining invoicely on June 22nd, 2019.
Please make sure to switch to invoicely as soon as possible to continue using our platform.

Hook up your own application with The Machine's functionality.

This method will add a new project.

You call this method with the following URL:


Parameters are the data you will pass with the call.


Your secret identifier. You find your API Token under Account Overview in the Account section.

Rules: Required.


The description of the project.

Rules: Required.

hours (optional)

The number of hours for the project.

Rules: Decimal time. Can only include numeric characters.

rate (optional)

The rate for the project.

Rules: Can only include numeric characters. If you don't use this parameter, your default rate will be used instead. If parameter is used it must be set to "true". Otherwise it will be ignored.

get (optional)

If this parameter is set the result sent back will be the new project in XML data rather than the success message.

Rules: If parameter is used it must be set to "true". Otherwise it will be ignored.

Return Values

This is the result that will be passed back to you when you have sent a call.


Sucess: Project added.

The project was successfully added.

If you have set the get parameter to "true" you will rather get the new project in XML sent back to you. Like this:

<?xml version="1.0" encoding="utf-8"?>
    <method request="project.get">
        <description>Web design</description>

Error: No data passed.

No data was passed to the method.

Error: API Token is invalid.

The API Token parameter is missing or incorrectly entered.

Error: Description is invalid.

The Description is missing or incorrectly entered.

Error: Hours is invalid.

The Hours parameter is incorrectly entered.

Error: Rate is invalid.

The Rate parameter is incorrectly entered.


The example below is strictly a demonstration of the method and it's parameters. Methods should never be posted from a HTML form. They should be posted directly from your server script.

<form action="" method="post">
    <input type="hidden" name="api_token" value="c86cea54c71sbb05a5f8297bed641944">
    <input type="hidden" name="description" value="Web design">
    <input type="hidden" name="hours" value="10">
    <input type="hidden" name="rate" value="100">