### Example Custom Properties JSON Structure Source: https://github.com/everii-group/mocoapp-api-docs/blob/master/custom_fields.md Illustrates the JSON structure for custom properties. ```json "custom_properties": { "UID": "123-UID-456", "Line of business": "Automotive" } ``` -------------------------------- ### Start Activity Timer Source: https://github.com/everii-group/mocoapp-api-docs/blob/master/sections/activities.md Start or continue a timer on an activity. The timer is only available for activities on the current day. If the timer cannot be started, a 422 will be returned. ```bash curl -X PATCH \ 'https://{domain}.mocoapp.com/api/v1/activities/{id}/start_timer' \ -H 'Authorization: Token token=YOUR_API_KEY' \ -H 'Content-Type: application/json' ``` -------------------------------- ### Planning Entry Attributes Example Source: https://github.com/everii-group/mocoapp-api-docs/blob/master/sections/planning_entries.md Shows the structure of a planning entry, including user, project, and task details. Note that either 'project' or 'deal' will be populated, not both. ```json { "id": 4839, "title": "Project Management", "starts_on": "2020-05-04", "ends_on": "2020-05-04", "hours_per_day": 6.0, "comment": "", "symbol": null, "color": "#2965cc", "read_only": false, "user": { "id": 5484, "firstname": "Thomas", "lastname": "Munster" }, "project": { "id": 4553, "identifier": "130", "name": "Support", "customer_name": "Acme GmbH", "color": "#faeb44" }, "task": { "id": 6789, "name": "Projektleitung" }, "deal": null, "series_id": null, "tentative": false, "series_repeat": null, "created_at": "2018-10-17T09:33:46Z", "updated_at": "2018-10-17T09:33:46Z" } ``` -------------------------------- ### Start Timer for an Activity Source: https://github.com/everii-group/mocoapp-api-docs/blob/master/sections/activities.md Starts or continues a timer on an activity. The timer is only available for activities on the current day. ```APIDOC ## PATCH /activities/{id}/start_timer ### Description Start or continue a timer on an activity. The timer is only available for activities on the current day. If the timer cannot be started, a 422 will be returned. ### Method PATCH ### Endpoint `/activities/{id}/start_timer` ### Response #### Success Response (200) - The timer has been started or continued. #### Error Response (422) - Indicates that the timer could not be started. ``` -------------------------------- ### Sorting Example Source: https://github.com/everii-group/mocoapp-api-docs/blob/master/index.md Demonstrates how to sort resources using the `sort_by` query parameter. You can specify the field name and an optional sorting order (asc or desc). ```APIDOC ## Sorting Sorting is controlled by the `sort_by` query parameter. Its value is the field name that should be sorted, followed by an optional sorting order (`asc` or `desc`, default is `asc`). Example: - `https://{domain}.mocoapp.com/api/v1/offers?sort_by=title desc` ``` -------------------------------- ### Internal Hourly Rates Response Example Source: https://github.com/everii-group/mocoapp-api-docs/blob/master/sections/account/internal_hourly_rates.md This is an example of the JSON response when retrieving internal hourly rates. It lists users and their associated rates for different years. ```json [ { "id": 933589613, "full_name": "Daniela Demo", "rates": [ { "year": 2020, "rate": 120.0 }, { "year": 2021, "rate": 130.0 } ] }, { "id": 933618769, "full_name": "Max Muster", "rates": [ { "year": 2020, "rate": 110.0 }, { "year": 2021, "rate": 120.0 } ] } ] ``` -------------------------------- ### Example Project Data Structure Source: https://github.com/everii-group/mocoapp-api-docs/blob/master/sections/projects.md This JSON structure represents the limited project information returned when retrieving projects assigned to a user. It includes basic project details and associated task and contract information. ```json [ { "id": 1234, "identifier": "P1900", "name": "Application", "active": false, "billable": true, "customer": { "id": 4567, "name": "A Company" }, "tasks": [ { "id": 573383, "name": "Integrations", "active": true, "billable": true } ], "contract": { "user_id": 65455, "active": true } } ] ``` -------------------------------- ### User Presence Attributes Example Source: https://github.com/everii-group/mocoapp-api-docs/blob/master/sections/presences.md This JSON object illustrates the structure of a user presence record, including user details. ```json { "id": 982237015, "date": "2018-07-03", "from": "07:30", "to": "13:15", "is_home_office": true, "user": { "id": 933590696, "firstname": "John", "lastname": "Doe" }, "created_at": "2018-10-17T09:33:46Z", "updated_at": "2018-10-17T09:33:46Z" } ``` -------------------------------- ### Create Invoice Item with Activity IDs Source: https://github.com/everii-group/mocoapp-api-docs/blob/master/sections/invoices.md Example of creating an invoice item that links to specific activities. This allows billing for pre-defined activities by specifying their IDs. ```json { "type": "item", "title": "Design", "quantity": 3, "unit": "h", "unit_price": 150.0, "activity_ids": [1253, 8712] } ``` -------------------------------- ### Retrieve Offer Customer Approval Source: https://github.com/everii-group/mocoapp-api-docs/blob/master/sections/offer_customer_approval.md Use this endpoint to get the current status of a customer approval for a specific offer. A 404 is returned if the approval has not been activated. Check the `signed_at` field to determine if the customer has approved. ```bash curl -X GET \ 'https://{domain}.mocoapp.com/api/v1/offers/{id}/customer_approval' \ -H 'Authorization: Token token=YOUR_API_KEY' ``` -------------------------------- ### Create an employment Source: https://github.com/everii-group/mocoapp-api-docs/blob/master/sections/employments.md Creates a new user employment. Requires user ID, pattern, and start date. End date is optional. ```APIDOC ## POST /users/employments ### Description Create an employment. ### Method POST ### Endpoint /users/employments ### Request Body - **user_id** (integer) - Required - The ID of the user. - **pattern** (object) - Required - The work hours pattern for each workday. Example: `{ "am": [4, 4, 4, 4, 4], "pm": [4, 4, 4, 4, 4] }`. - **from** (string) - Optional - The start date of the employment (default: current date). - **to** (string) - Optional - The end date of the employment. ### Request Example ```json { "user_id": 123, "pattern": { "am": [0, 4.25, 4.25, 4.25, 4.25], "pm": [0, 4.25, 4.25, 4.25, 0] }, "from": "2022-01-01", "to": "2022-12-31" } ``` ### Response #### Success Response (201) - **Created employment object** ``` -------------------------------- ### Example WebHook Headers Source: https://github.com/everii-group/mocoapp-api-docs/blob/master/webhooks.md These headers are sent with a WebHook payload. They provide context about the event, such as the target, event type, timestamp, signature, user ID, and account URL. The receiver must process the request within 10 seconds. ```text X-Moco-Target: Activity X-Moco-Event: create X-Moco-Timestamp: 1527170410463 X-Moco-Signature: f457bffc50e9b63f455ab107c55f2f61956550aa5525c2cfe07f574014bd8a9e X-Moco-User-Id: 933613686 ``` -------------------------------- ### Retrieve All Custom Properties (GET /account/custom_properties) Source: https://github.com/everii-group/mocoapp-api-docs/blob/master/sections/account/custom_properties.md Use this endpoint to fetch a list of all custom properties configured for your account. Global filters can be applied to refine the results. ```bash curl -X GET \ 'https://{domain}.mocoapp.com/api/v1/account/custom_properties' \ -H 'Authorization: Token token=YOUR_API_KEY' ``` -------------------------------- ### Receipt Attributes Example Source: https://github.com/everii-group/mocoapp-api-docs/blob/master/sections/receipts.md This JSON object demonstrates the structure and typical fields found in a receipt, including user, items, project, and refund request information. ```json { "id": 123, "title": "Team-Lunch", "date": "2021-12-13", "billable": false, "pending": false, "gross_total": 56.5, "currency": "CHF", "items": [ { "gross_total": 56.5, "vat": { "id": 186, "tax": 7.7, "reverse_charge": false, "intra_eu": false }, "purchase_category": { "id": 2684, "name": "Bewirtungsaufwände" } } ], "project": { "id": 567, "name": "Intern/Admin", "billable": false, "company": { "id": 789, "name": "Acme Inc." } }, "refund_request": { "id": 266, "status": "paid" }, "info": "Teamlunch mit Peter, Sandra und Till", "user": { "id": 933, "firstname": "Sabine", "lastname": "Schäuble" }, "attachment_url": "/system/documents/account/123/document/123/d8fef77df35c5753.pdf" } ``` -------------------------------- ### Project Payment Schedule Attributes Source: https://github.com/everii-group/mocoapp-api-docs/blob/master/sections/project_payment_schedules.md Example JSON structure for a project payment schedule. Includes ID, date, title, description, totals, project details, and status flags. ```json { "id": 760153573, "date": "2017-04-05", "title": "Erste Anzahlung", "description": "
A description for this payment schedule
", "net_total": 1000, "project": { "id": 822322322, "identifier": "P0077", "name": "New website" }, "checked": false, "billed": false, "created_at": "2018-10-17T09:33:46Z", "updated_at": "2018-10-17T09:33:46Z" } ``` -------------------------------- ### Create a Project Source: https://github.com/everii-group/mocoapp-api-docs/blob/master/sections/projects.md This endpoint allows you to create a new project. You must provide mandatory fields such as name, currency, dates, and leader ID. The `Content-Type` header must be set to `application/json`. If `retainer` is true, `start_date`, `finish_date`, and `budget_monthly` become mandatory. ```bash curl -X POST \ 'https://{domain}.mocoapp.com/api/v1/projects' \ -H 'Authorization: Token token=YOUR_API_KEY' \ -H 'Content-Type: application/json' \ -d '{ "name": "Website Relaunch", "currency": "EUR", "leader_id": "1234", "customer_id": "5678", "tags": ["Print", "Digital"], }' ``` -------------------------------- ### Create Activity Source: https://github.com/everii-group/mocoapp-api-docs/blob/master/sections/activities.md Creates a new time entry. Requires date, project ID, task ID, and seconds. Optional fields include description, billable status, tags, and remote service details. ```bash curl -X POST \ 'https://{domain}.mocoapp.com/api/v1/activities' \ -H 'Authorization: Token token=YOUR_API_KEY' \ -H 'Content-Type: application/json' \ -d '{ "date": "2017-06-11", "description": "Analysis context and dependencies", "project_id": 123456, "task_id": 234567, "seconds": 3600 }' ``` -------------------------------- ### Invoice Timesheet Data Example Source: https://github.com/everii-group/mocoapp-api-docs/blob/master/sections/invoices.md An example of the JSON response structure for an invoice's timesheet, detailing individual activities. ```json [ { "id": 988913748, "date": "2021-01-25", "hours": 4.0, "description": "Description", "billed": true, "billable": true, "tag": "", "remote_service": "trello", "remote_id": "0FhzirkJ", "remote_url": "https://trello.com/c/0FhziaBc/1-test", "project": { "id": 944807389, "name": "Pitch Project", "billable": true }, "task": { "id": 2262446, "name": "Design / UX", "billable": true }, "customer": { "id": 760255659, "name": "Acme Corp." }, "user": { "id": 933618783, "firstname": "Jane", "lastname": "Doe" }, "timer_started_at": null, "created_at": "2021-02-26T10:48:28Z", "updated_at": "2021-02-26T11:42:47Z", "hourly_rate": 150.0 } ] ``` -------------------------------- ### Create a New Deal (Lead) Source: https://github.com/everii-group/mocoapp-api-docs/blob/master/sections/deals.md Use this cURL command to create a new lead. Mandatory fields include name, currency, money, reminder_date, user_id, and deal_category_id. Optional fields like company_id, person_id, and info can also be provided. ```bash curl -X POST \ 'https://{domain}.mocoapp.com/api/v1/deals' \ -H 'Authorization: Token token=YOUR_API_KEY' \ -H 'Content-Type: application/json' \ -d '{ "name": "Beispiel AG Website Relaunch", "currency": "EUR", "money": 25000, "reminder_date": "2018-12-01", "user_id": 123, "deal_category_id": 456 }' ``` -------------------------------- ### Create a Purchase Source: https://github.com/everii-group/mocoapp-api-docs/blob/master/sections/purchases.md Use this endpoint to create a new purchase. Include details like date, currency, payment method, items, and an optional file attachment. Ensure all mandatory fields are provided. ```bash curl -X POST \ 'https://{domain}.mocoapp.com/api/v1/purchases' \ -H 'Authorization: Token token=YOUR_API_KEY' \ -H 'Content-Type: application/json' \ -d ' { "date": "2020-02-02", "currency": "EUR", "payment_method": "bank_transfer", "receipt_identifier": "XXLA", "custom_properties": { "Various": "Stuff" }, "items": [ { "title": "Ticket", "total": 30, "tax": 10, "tax_included": true } ], "file": { "filename": "document.pdf", "base64": "JVBERi0xLjQKJeLjz9MKNCAwIG9iago8PC9GaWx..." } }' ``` -------------------------------- ### GET /projects/{id} Source: https://github.com/everii-group/mocoapp-api-docs/blob/master/sections/projects.md Retrieves a single project by its ID. ```APIDOC ## GET /projects/{id} ### Description Retrieve a single project by its ID. ### Method GET ### Endpoint /projects/{id} ### Parameters #### Path Parameters - **id** (string) - Required - The ID of the project to retrieve. ### Request Example ```bash curl -X GET \ 'https://{domain}.mocoapp.com/api/v1/projects/{id}' \ -H 'Authorization: Token token=YOUR_API_KEY' ``` ### Response #### Success Response (200) - **project** (object) - A single project representation. ``` -------------------------------- ### Create Customer with Custom Field (Bash) Source: https://github.com/everii-group/mocoapp-api-docs/blob/master/custom_fields.md Demonstrates creating a new customer and including a custom field in the request body. ```bash curl -X POST \ https://{domain}.mocoapp.com/api/v1/customers \ -H 'Authorization: Token token=YOUR_API_KEY' \ -H 'Content-Type: application/json' \ -d '{ "name": "Beispiel AG", "currency": "CHF", "custom_properties": { "Line of business": "Automotive" } }' ``` -------------------------------- ### GET /comments/{id} Source: https://github.com/everii-group/mocoapp-api-docs/blob/master/sections/comments.md Retrieve a single comment by its ID. ```APIDOC ## GET /comments/{id} ### Description Retrieve a single comment by its ID. ### Method GET ### Endpoint /api/v1/comments/{id} ### Parameters #### Path Parameters - **id** (integer) - Required - The ID of the comment to retrieve. ``` -------------------------------- ### Retrieve a Single Project Source: https://github.com/everii-group/mocoapp-api-docs/blob/master/sections/projects.md Use this endpoint to fetch the details of a specific project. Ensure you replace `{domain}` and `{id}` with your actual domain and the project's ID. An API key is required for authentication. ```bash curl -X GET \ 'https://{domain}.mocoapp.com/api/v1/projects/{id}' \ -H 'Authorization: Token token=YOUR_API_KEY' ``` -------------------------------- ### Deal Category Attributes Example Source: https://github.com/everii-group/mocoapp-api-docs/blob/master/sections/deal_categories.md This JSON object represents the structure of a deal category. ```json { "id": 123, "name": "Contact", "probability": 1, "created_at": "2018-10-17T09:33:46Z", "updated_at": "2018-10-17T09:33:46Z" } ``` -------------------------------- ### POST /projects Source: https://github.com/everii-group/mocoapp-api-docs/blob/master/sections/projects.md Creates a new project. ```APIDOC ## POST /projects ### Description Create a new project. ### Method POST ### Endpoint /projects ### Parameters #### Request Body - **name** (string) - Required - The name of the project. - **currency** (string) - Required - The currency for the project. - **start_date** (string) - Required - The start date of the project (YYYY-MM-DD). - **finish_date** (string) - Required - The finish date of the project (YYYY-MM-DD). - **fixed_price** (boolean) - Required - Indicates if the project has a fixed price. - **retainer** (boolean) - Required - Indicates if the project is a retainer. - **leader_id** (string) - Required - The ID of the project leader. - **co_leader_id** (string) - Optional - The ID of the co-leader. - **customer_id** (string) - Required - The ID of the customer. - **deal_id** (string) - Optional - The ID of the deal. - **project_group_id** (string) - Optional - The ID of the project group. - **contact_id** (string) - Optional - The ID of the contact. - **secondary_contact_id** (string) - Optional - The ID of the secondary contact. - **billing_contact_id** (string) - Optional - The ID of the billing contact. - **identifier** (string) - Required (if manual number ranges) - A unique identifier for the project. - **billing_address** (string) - Optional - The billing address. - **billing_email_to** (string) - Optional - The email address for billing. - **billing_email_cc** (string) - Optional - The CC email address for billing. - **billing_notes** (string) - Optional - Notes for billing. - **setting_include_time_report** (boolean) - Optional - Whether to include time reports. - **billing_variant** (string) - Optional - The billing variant ('project', 'task', or 'user'). Defaults to 'project'. - **hourly_rate** (number) - Optional - The hourly rate for the project. - **budget** (number) - Optional - The total budget for the project. - **budget_monthly** (number) - Optional - The monthly budget. - **budget_expenses** (number) - Optional - The budget for expenses. - **tags** (array of strings) - Optional - Tags for the project. - **custom_properties** (object) - Optional - Custom properties for the project. - **info** (string) - Optional - Additional information about the project. - **skip_favorite** (boolean) - Optional - Whether to skip adding the project to favorites. - **retainer_billing_date** (integer) - Optional - The day of the month to bill for retainers (1-31). - **retainer_billing_title** (string) - Optional - The default title for retainer payment schedules. - **retainer_billing_description** (string) - Optional - The default description for retainer payment schedules. {: .note } If the field `retainer` is true, the fields `start_date`, `finish_date`, `budget_monthly` are mandatory. Also the start date has to be on the first and the finish date on the last of a month! ### Request Example ```bash curl -X POST \ 'https://{domain}.mocoapp.com/api/v1/projects' \ -H 'Authorization: Token token=YOUR_API_KEY' \ -H 'Content-Type: application/json' \ -d { "name": "Website Relaunch", "currency": "EUR", "leader_id": "1234", "customer_id": "5678", "tags": ["Print", "Digital"] } ``` ``` -------------------------------- ### GET /users/{id} Source: https://github.com/everii-group/mocoapp-api-docs/blob/master/sections/users.md Retrieve the details of a single staff member by their unique ID. ```APIDOC ## GET /users/{id} ### Description Retrieve a single staff member's representation using their unique identifier. ### Method GET ### Endpoint /api/v1/users/{id} ### Parameters #### Path Parameters - **id** (integer) - Required - The unique identifier of the user. ``` -------------------------------- ### Holiday JSON Structure Source: https://github.com/everii-group/mocoapp-api-docs/blob/master/sections/holidays.md Example structure of a holiday object, including user and creator details. ```json { "id": 12345, "year": 2019, "title": "Urlaubsanspruch 80%", "days": 20, "hours": 160, "user": { "id": 933590696, "firstname": "John", "lastname": "Doe" }, "creator": { "id": 933590697, "firstname": "Jane", "lastname": "Doe" }, "created_at": "2018-10-17T09:33:46Z", "updated_at": "2018-10-17T09:33:46Z" } ``` -------------------------------- ### Get Project Report Source: https://github.com/everii-group/mocoapp-api-docs/blob/master/sections/projects.md Retrieves a report containing key business indicators for a specific project. ```APIDOC ## GET /projects/{id}/report ### Description Retrieve a project report. ### Method GET ### Endpoint /projects/{id}/report ### Parameters #### Path Parameters - **id** (integer) - Required - The unique identifier of the project. ### Response #### Success Response (200) - **budget_total** (float) - The total budget of the project. - **budget_progress_in_percentage** (integer) - The progress of the budget in percentage. - **budget_remaining** (float) - The remaining budget for the project. - **invoiced_total** (float) - The total amount invoiced for the project. - **currency** (string) - The currency of the account's main currency. - **hours_total** (integer) - The total hours allocated for the project. - **hours_billable** (integer) - The total billable hours. - **hours_remaining** (integer) - The remaining hours for the project. - **costs_expenses** (float) - Total costs from expenses. - **costs_activities** (float) - Total costs from activities. - **costs_by_task** (array) - An array of objects, each representing costs by task. - **id** (integer) - The ID of the task. - **name** (string) - The name of the task. - **hours_total** (float) - Total hours for the task. - **total_costs** (float) - Total costs for the task. ### Response Example ```json { "budget_total": 50000.0, "budget_progress_in_percentage": 50, "budget_remaining": 25.0, "invoiced_total": 27885.0, "currency": "EUR", "hours_total": 1500, "hours_billable": 1340, "hours_remaining": 1500, "costs_expenses": 4000.0, "costs_activities": 16450.0, "costs_by_task": [ { "id": 7536, "name": "Project Management", "hours_total": 12.5, "total_costs": 725.0 }, { "id": 7239, "name": "Design", "hours_total": 71.98, "total_costs": 5598.0 }, { "id": 573376, "name": "Development", "hours_total": 94.48, "total_costs": 9448.0 } ] } ``` ``` -------------------------------- ### Retrieve All Offers Source: https://github.com/everii-group/mocoapp-api-docs/blob/master/sections/offers.md Fetches a list of all offers. Supports sorting by date, created_at, or title. Global filters and specific parameters like status, date range, and IDs can be applied. ```bash curl -X GET \ 'https://{domain}.mocoapp.com/api/v1/offers' \ -H 'Authorization: Token token=YOUR_API_KEY' ``` ```bash curl -X GET \ 'https://{domain}.mocoapp.com/api/v1/offers?sort=date' \ -H 'Authorization: Token token=YOUR_API_KEY' ``` -------------------------------- ### Get Single Purchase VAT Code Source: https://github.com/everii-group/mocoapp-api-docs/blob/master/sections/vat_codes.md Retrieve a single purchase VAT code by its ID. ```APIDOC ## GET /vat_code_purchases/{id} ### Description Retrieve a single purchase VAT code. ### Method GET ### Endpoint /vat_code_purchases/{id} ### Parameters #### Path Parameters - **id** (integer) - Required - The ID of the purchase VAT code to retrieve. ### Request Example ```bash curl -X GET \ 'https://{domain}.mocoapp.com/api/v1/vat_code_purchases/123' \ -H 'Authorization: Token token=YOUR_API_KEY' ``` ### Response #### Success Response (200) Returns a single purchase VAT code object. See Attributes for structure. ``` -------------------------------- ### Create Offer Source: https://github.com/everii-group/mocoapp-api-docs/blob/master/sections/offers.md Creates a new offer with specified details including deal association, recipient address, dates, title, tax, and line items. Mandatory fields are marked with a star. ```bash curl -X POST \ 'https://{domain}.mocoapp.com/api/v1/offers' \ -H 'Authorization: Token token=YOUR_API_KEY' \ -H 'Content-Type: application/json' \ -d '{ "deal_id": 123, "recipient_address": "Acme\r\nPark Avenue", "date": "2019-05-10", "due_date": "2019-06-08", "title": "Offer - Shop Locator", "salutation": "Hey", "tax": 8.0, "discount": 0.0, "footer": "Bye", "internal_contact_id": 1234, "items":[ {"type":"title","title":"Stunden"}, {"type":"description","description":"Aufstellung über geleistete Arbeiten"}, {"type":"item","title":"MailChimp Einrichtung","quantity":1,"unit":"Std","unit_price":100.0} ]}' ``` -------------------------------- ### Get Single Sale VAT Code Source: https://github.com/everii-group/mocoapp-api-docs/blob/master/sections/vat_codes.md Retrieve a single sale VAT code by its ID. ```APIDOC ## GET /vat_code_sales/{id} ### Description Retrieve a single sale VAT code. ### Method GET ### Endpoint /vat_code_sales/{id} ### Parameters #### Path Parameters - **id** (integer) - Required - The ID of the sale VAT code to retrieve. ### Request Example ```bash curl -X GET \ 'https://{domain}.mocoapp.com/api/v1/vat_code_sales/123' \ -H 'Authorization: Token token=YOUR_API_KEY' ``` ### Response #### Success Response (200) Returns a single sale VAT code object. See Attributes for structure. ``` -------------------------------- ### Retrieve All Projects Source: https://github.com/everii-group/mocoapp-api-docs/blob/master/sections/projects.md Use this endpoint to fetch a list of all projects. Various parameters can be supplied to filter the results, such as inclusion of archived projects, leader ID, company ID, creation/update dates, tags, and more. ```bash curl -X GET \ 'https://{domain}.mocoapp.com/api/v1/projects' \ -H 'Authorization: Token token=YOUR_API_KEY' ``` -------------------------------- ### GET /users Source: https://github.com/everii-group/mocoapp-api-docs/blob/master/sections/users.md Retrieve a list of all staff members. Supports filtering by archived status, tags, and email. ```APIDOC ## GET /users ### Description Retrieve all staff members. This endpoint supports global filters, and specific filters for archived users, tags, and email. ### Method GET ### Endpoint /api/v1/users ### Query Parameters - **include_archived** (boolean) - Optional - If true, includes deactivated users. - **tags** (string) - Optional - Comma-separated list of tags to filter by. - **email** (string) - Optional - Email address to filter by. ### Response #### Success Response (200) - An array of user objects, each containing detailed staff information. ``` -------------------------------- ### GET /projects/assigned Source: https://github.com/everii-group/mocoapp-api-docs/blob/master/sections/projects.md Retrieves a list of projects assigned to the currently authenticated user. Returns limited project information. ```APIDOC ## GET /projects/assigned ### Description Retrieve all projects assigned to the user. This returns an array with limited project information. ### Method GET ### Endpoint /projects/assigned ### Parameters #### Query Parameters - **active** (boolean) - Optional - Filter by active status. ### Request Example ```bash curl -X GET \ 'https://{domain}.mocoapp.com/api/v1/projects/assigned?active=true' \ -H 'Authorization: Token token=YOUR_API_KEY' ``` ### Response #### Success Response (200) An array of limited project objects. #### Response Example ```json [ { "id": 1234, "identifier": "P1900", "name": "Application", "active": false, "billable": true, "customer": { "id": 4567, "name": "A Company" }, "tasks": [ { "id": 573383, "name": "Integrations", "active": true, "billable": true } ], "contract": { "user_id": 65455, "active": true } } ] ``` ``` -------------------------------- ### Retrieve All Activities Source: https://github.com/everii-group/mocoapp-api-docs/blob/master/sections/activities.md Fetches a list of activities within a specified date range and optionally filters by project. Requires an API key for authorization. ```bash curl -X GET \ 'https://{domain}.mocoapp.com/api/v1/activities?from=2018-06-01&to=2018-06-30&project_id=4242' \ -H 'Authorization: Token token=YOUR_API_KEY' ``` -------------------------------- ### Create Planning Entry Source: https://github.com/everii-group/mocoapp-api-docs/blob/master/sections/planning_entries.md Creates a new planning entry. If no user_id is provided, it defaults to the authenticated user. Mandatory fields include project/deal ID, start/end dates, and hours per day. ```bash curl -X POST \ 'https://{domain}.mocoapp.com/api/v1/planning_entries' \ -H 'Authorization: Token token=YOUR_API_KEY' \ -H 'Content-Type: application/json' \ -d '{ \ "project_id": 4322, \ "task_id": 6789, \ "title": "Project Management", \ "starts_on": "2020-05-20", \ "ends_on": "2020-05-30", \ "hours_per_day": 3, \ "comment": "A comment...", \ "symbol": 2 \ }' ``` -------------------------------- ### Create a Task on a Project Source: https://github.com/everii-group/mocoapp-api-docs/blob/master/sections/project_tasks.md Use this endpoint to add a new task to a project. Mandatory fields include 'name', and optional fields like 'billable', 'hourly_rate', 'budget', 'active', and 'description' can also be provided. ```bash curl -X POST \ 'https://{domain}.mocoapp.com/api/v1/projects/{id}/tasks' \ -H 'Authorization: Token token=YOUR_API_KEY' \ -H 'Content-Type: application/json' \ -d '{ "name": "Design / UX", "billable": true, "hourly_rate": 120 }' ``` -------------------------------- ### Comment Attributes Example Source: https://github.com/everii-group/mocoapp-api-docs/blob/master/sections/comments.md This JSON object illustrates the structure and fields of a comment, including user and impersonating user details. ```json { "id": 123, "commentable_id": 12345, "commentable_type": "Project", "text": "
Project was ordered on 1.10.2017
.", "manual": true, "user": { "id": 567, "firstname": "Tobias", "lastname": "Miesel" }, "impersonating_user": { "id": 789, "firstname": "Erika", "lastname": "Mustermann" }, "created_at": "2018-10-17T09:33:46Z", "updated_at": "2018-10-17T09:33:46Z" } ``` -------------------------------- ### Get Utilization Report Source: https://github.com/everii-group/mocoapp-api-docs/blob/master/sections/reports.md Retrieves the utilization report for a specified date range. Supports filtering by 'from' and 'to' dates. ```APIDOC ## GET /report/utilization ### Description Retrieve the utilization report. ### Method GET ### Endpoint `/api/v1/report/utilization` ### Query Parameters - **from** (string) - Optional - Defaults to the beginning of the current year. Format: YYYY-MM-DD - **to** (string) - Optional - Defaults to the end of the current year. Format: YYYY-MM-DD ### Request Example ```bash curl -X GET \ 'https://{domain}.mocoapp.com/api/v1/report/utilization?from=2025-01-01&to=2025-12-31' \ -H 'Authorization: Token token=YOUR_API_KEY' ``` ### Response #### Success Response (200) - **date** (string) - The date of the record. - **user_id** (integer) - The ID of the user. - **target_hours** (float) - The target hours for the user on that date. - **billable_hours** (float) - The billable hours recorded. - **unbillable_hours** (float) - The unbillable hours recorded. - **billable_seconds** (integer) - The billable seconds recorded. - **unbillable_seconds** (integer) - The unbillable seconds recorded. #### Response Example ```json [ { "date": "2025-08-20", "user_id": 92345, "target_hours": 6.4, "billable_hours": 4.3, "unbillable_hours": 0.83, "billable_seconds": 15487, "unbillable_seconds": 3000 } ] ``` ``` -------------------------------- ### Retrieve All Planning Entries (Paged) Source: https://github.com/everii-group/mocoapp-api-docs/blob/master/sections/planning_entries.md Use this endpoint to fetch a list of planning entries within a specified date range. Global filters and specific parameters like user, project, or deal ID can be applied. ```bash curl -X GET \ 'https://{domain}.mocoapp.com/api/v1/planning_entries?period=2020-04-01:2020-07-31' \ -H 'Authorization: Token token=YOUR_API_KEY' ``` -------------------------------- ### Retrieve All Deals (Leads) Source: https://github.com/everii-group/mocoapp-api-docs/blob/master/sections/deals.md Use this cURL command to fetch a list of all deals. You can filter the results using parameters like status, tags, closed_from, closed_to, and company_id. ```bash curl -X GET \ 'https://{domain}.mocoapp.com/api/v1/deals' \ -H 'Authorization: Token token=YOUR_API_KEY' ``` -------------------------------- ### GET /invoices/{id}/expenses Source: https://github.com/everii-group/mocoapp-api-docs/blob/master/sections/invoices.md Retrieve all expenses associated with a specific invoice. This endpoint returns a list of expense objects. ```APIDOC ## GET /invoices/{id}/expenses ### Description Retrieve all expenses that were invoiced in a particular invoice. ### Method GET ### Endpoint /invoices/{id}/expenses ### Parameters #### Path Parameters - **id** (integer) - Required - The ID of the invoice. ### Response #### Success Response (200) - **Array of expense objects** ### Response Example ```json [ { "id": 47266, "date": "2017-07-07", "title": "Hosting XS", "description": "
Hosting, Monitoring und Backup
", "quantity": 3, "unit": "Monat", "unit_price": 29, "unit_cost": 19, "price": 87, "cost": 57, "currency": "CHF", "budget_relevant": true, "billable": true, "billed": false, "recurring_expense_id": null, "service_period": "10/2020", "service_period_from": "2020-10-01", "service_period_to": "2020-10-31", "file_url": "https//meinefirma.mocoapp.com/.../beleg1.jpg", "custom_properties": { "Type": "Website" }, "company": { "id": 1234, "name": "Acme Corp." }, "project": { "id": 1234, "name": "Project A" }, "purchase_id": 123456, "purchase_item_id": 234567, "created_at": "2018-10-17T09:33:46Z", "updated_at": "2018-10-17T09:33:46Z" } ] ``` ``` -------------------------------- ### Update Planning Entry Source: https://github.com/everii-group/mocoapp-api-docs/blob/master/sections/planning_entries.md Modifies an existing planning entry. Fields are similar to the POST request. This example shows updating the hours_per_day. ```bash curl -X PUT \ 'https://{domain}.mocoapp.com/api/v1/planning_entries/{id}' \ -H 'Authorization: Token token=YOUR_API_KEY' \ -H 'Content-Type: application/json' \ -d '{ \ "hours_per_day": 5 \ }' ``` -------------------------------- ### Work Time Adjustment Attributes Example Source: https://github.com/everii-group/mocoapp-api-docs/blob/master/sections/work_time_adjustments.md This JSON object shows the structure and typical fields of a work time adjustment entry. ```json { "id": 1972, "date": "2022-01-01", "description": "Overtime from 2021", "hours": 172.01, "creator": { "id": 933590697, "firstname": "Jane", "lastname": "Doe" }, "user": { "id": 933590696, "firstname": "John", "lastname": "Doe" }, "created_at": "2022-01-02T17:31:00Z", "updated_at": "2022-01-02T17:31:00Z" } ``` -------------------------------- ### Create Task Template Source: https://github.com/everii-group/mocoapp-api-docs/blob/master/sections/account/task_templates.md Use this endpoint to create a new task template. The 'name' field is mandatory. ```bash curl -X POST \ 'https://{domain}.mocoapp.com/api/v1/account/task_templates' \ -H 'Authorization: Token token=YOUR_API_KEY' \ -H 'Content-Type: application/json' \ -d '{ \ "name": "Web Development", \ "description": "Building the web application", \ "revenue_category_id": 4567, \ "billable": true, \ "project_default": true \ }' ``` -------------------------------- ### Retrieve All Task Templates Source: https://github.com/everii-group/mocoapp-api-docs/blob/master/sections/account/task_templates.md Use this endpoint to fetch a list of all task templates. Global filters can be applied. ```bash curl -X GET \ 'https://{domain}.mocoapp.com/api/v1/account/task_templates' \ -H 'Authorization: Token token=YOUR_API_KEY' ``` -------------------------------- ### Retrieve a Single Recurring Expense Source: https://github.com/everii-group/mocoapp-api-docs/blob/master/sections/project_recurring_expenses.md Get details for a specific recurring expense entry on a project using both project and expense IDs. ```bash curl -X GET \ 'https://{domain}.mocoapp.com/api/v1/projects/{id}/recurring_expenses/{id}' \ -H 'Authorization: Token token=YOUR_API_KEY' ``` -------------------------------- ### Retrieve All Web Hooks Source: https://github.com/everii-group/mocoapp-api-docs/blob/master/sections/web_hooks.md Use this endpoint to fetch a list of all configured web hooks for your account. It returns an array of web hook objects. ```bash curl -X GET \ 'https://{domain}.mocoapp.com/api/v1/account/web_hooks' \ -H 'Authorization: Token token=YOUR_API_KEY' ``` -------------------------------- ### Get Current User Profile Source: https://github.com/everii-group/mocoapp-api-docs/blob/master/sections/profile.md Retrieves the profile of the currently authenticated user. If impersonation is active, it returns the profile of the impersonated user. ```APIDOC ## GET /profile ### Description Get the current user's profile. If [impersonation](../index#impersonation) is used, it's the impersonated user. ### Method GET ### Endpoint /api/v1/profile ### Response #### Success Response (200) - **id** (integer) - The unique identifier of the user. - **email** (string) - The email address of the user. - **full_name** (string) - The full name of the user. - **first_name** (string) - The first name of the user. - **last_name** (string) - The last name of the user. - **active** (boolean) - Indicates if the user account is active. - **external** (boolean) - Indicates if the user is an external user. - **avatar_url** (string) - The URL to the user's avatar image. - **unit** (object) - Information about the user's unit. - **id** (integer) - The unique identifier of the unit. - **name** (string) - The name of the unit. - **created_at** (string) - The timestamp when the user was created (ISO 8601 format). - **updated_at** (string) - The timestamp when the user was last updated (ISO 8601 format). ### Request Example ```bash curl -X GET \ 'https://{domain}.mocoapp.com/api/v1/profile' \ -H 'Authorization: Token token=YOUR_API_KEY' ``` ### Response Example ```json { "id": 237852983, "email": "janine.kuesters@meinefirma.de", "full_name": "Janine Küsters", "first_name": "Janine", "last_name": "Küsters", "active": true, "external": false, "avatar_url": "https://data.mocoapp.com/objects/6bf3db0a-895a-46a1-8006-6280af04b9c0.jpg", "unit": { "id": 436796, "name": "Design" }, "created_at": "2018-10-17T09:33:46Z", "updated_at": "2022-08-02T14:21:56Z" } ``` ``` -------------------------------- ### Create a Catalog Service Source: https://github.com/everii-group/mocoapp-api-docs/blob/master/sections/account/catalog_services.md Creates a new catalog service, including its items. The request body must be in JSON format and include a title and an array of items. ```bash curl -X POST \ 'https://{domain}.mocoapp.com/api/v1/account/catalog_services' \ -H 'Authorization: Token token=YOUR_API_KEY' \ -H 'Content-Type: application/json' \ -d '{ \ "title": "Catalog entry", \ "items": [ \ { \ "type": "item", \ "title": "Setup", \ "net_total": 1200.0 \ }, \ { \ "type": "item", \ "title": "Consulting", \ "quantity": 20.0, \ "unit": "h", \ "unit_price": 150.0, \ "net_total": 3000.0 \ } \ ] \ }' ``` -------------------------------- ### Get an Item within a Service Source: https://github.com/everii-group/mocoapp-api-docs/blob/master/sections/account/catalog_services.md Retrieves a specific item belonging to a catalog service. Requires both the service ID and the item ID. ```bash curl -X GET \ 'https://{domain}.mocoapp.com/api/v1/account/catalog_services/{service_id}/items/{id}' \ -H 'Authorization: Token token=YOUR_API_KEY' ```