{
  "openapi": "3.1.1",
  "info": {
    "title": "Visma e-conomic OpenAPI Projects v2",
    "description": "# Changelog\n<details>\n<summary>Click to see changelog.</summary>\n\n| Version | Description | Date |\n|:--------|:------------|:-----|\n|1.1.0| Added optional bookOn property on [`timentries approve operation`](#tag/TimeEntries/operation/ApproveTimeEntries). It determines the date on which time entries should be booked during approval. <br /><br />Possible values: <br />  -0: EndOfMonthOrCurrentDay <br />  -1: RegistrationDate. <br /><br />If the property is omitted the time entries will be booked on the end of registration month or on the current day. | November, 2024|\n|1.0.0| New Projects API released which replaces the former API with same functionality and endpoints, but a little bit improved to be consistent with other e-conomic APIs. | September, 2024|\n\n</details>\n\n# TL;DR\n\n**Create tokens as instructed [here](https://www.e-conomic.com/developer/connect) and then add these three headers to your requests:**\n\n| Header                | Value                      | What is this?                                                |\n| :-------------------- | :------------------------- | :----------------------------------------------------------- |\n| X-AppSecretToken      | YOUR_PRIVATE_TOKEN         | This identifies your app. This is your secret token. Try using the value `demo`. |\n| X-AgreementGrantToken | YOUR_AGREEMENT_GRANT_TOKEN | This identifies the grant issued by an agreement, to allow your app to access the agreements data. Try using the value `demo`. |\n| Content-Type          | application/json           | We’re a JSON based API. This tells us that you agree with us on using JSON. |\n\n**Optional headers:**\n\n| Header                | Value                      | What is this?                                                |\n| :-------------------- | :------------------------- | :----------------------------------------------------------- |\n| Idempotency-Key       | YOUR_IDEMPOTENCY_KEY       | This represents your own unique idempotency key. Enables you to make use of our [Idempotency Tokens](#section/Retrieving-data/Idempotency-tokens) feature. You can't use this feature with GET requests. |\n\n### Examples\n\n#### jQuery\n\n```javascript/jQuery\n$.ajax({\n    url: \"https://apis.e-conomic.com/projectsapi/v1.1.0/the_resource\",\n    dataType: \"json\",\n    headers: {\n        'X-AppSecretToken': \"demo\",\n        'X-AgreementGrantToken': \"demo\",\n        'Accept': \"application/json\"\n    },\n    type: \"GET\"\n})\n    .always(function (data) {\n    $(\"#output\").text(JSON.stringify(data, null, 4));\n});\n```\n\n#### cURL\n\n```curl\ncurl -H \"X-AppSecretToken: demo\" -H \"X-AgreementGrantToken: demo\" https://apis.e-conomic.com/projectsapi/v1.1.0/the_resource\n```\n\n\n\n# Introduction\n\nWelcome to the **Visma e-conomic OpenAPI** documentation!\n\nThe e-conomic API is a document-based JSON REST API. \n\nFor more in-depth information about e-conomic itself, please have a look at the e-copedia [http://wiki.e-conomic.dk](http://wiki.e-conomic.dk/).\n\n## Usage\n\n- **Generating a client** can easily be done using tools like [swagger-codegen](https://github.com/swagger-api/swagger-codegen) or others that work with [OpenAPI Specification](https://github.com/OAI/OpenAPI-Specification) specs.\n\n\n## Versioning\n\nAPI releases are versioned using a three-part versioning scheme: `{major version}.{minor version}.{patch version}`.\n\nWe broadly follow [Semantic Versioning](https://semver.org/) principles when versioning the API. The major version number is incremented when a breaking change occurs. \n\nThe format is:\n\n`/{resource-api}/v{major version}.{minor version}.{patch version}/{resource-name}`\n\nEach value of the above are integers and you should configure the specific version in each API call. \n\nAn example could be: `/subscriptionsapi/v1.0.0/subscriptions`\n\nTo track the changes of versions, please see our [changelog](#section/Changelog).\n\nWe reserve the right to deprecate versions at intervals since this allows for moving into a friendly environment for you faster.\n\n## Demo authentication\n\nIf you wish to try out the API before registering a developer agreement, you can do this by using the demo agreement, which mimics the authentication flow you will have to use when you create your app. All you have to do is specify HTTP header tokens `X-AgreementGrantToken: demo` and `X-AppSecretToken: demo`. Note however that you can only do GET requests with the demo agreement. If you want full access to our API's, you will need to register.\n\n# Retrieving data\n\nOur data is exposed as collections of items. Each item has many properties, with one property as a unique identifier, usually called `number` or `id`. You can always get a single item if you already know the unique identifier. In case the unique identifier is not known, you can always search the collection and retrieve an array of items that satisfy the search criteria, or retrieve only the count of items that satisfy the search criteria. When you search for items in a collection, you can always use filtering, sorting and pagination. When it comes to pagination, we offer two distinct approaches available on separate endpoints. You can read more about filtering, sorting and pagination in the following sections. \n\n## Filtering\n\nFiltering is enabled on all collection endpoints but not on all properties.\n\nFiltering on collections can be done using the query string parameter `filter`. A filter is made up of a set of predicates and follows a syntax inspired by mongoDB. A predicate is made up of a property name, an operator, and a value.\n\nExample: `?filter=name$eq:Joe`\n\nThis matches all resources with the value Joe in the property name.\n\nPredicates can be chained using either of the logical operators AND and OR.\n\nExample: `?filter=name$eq:Joe$and:city$like:*port`\n\nFiltering on strings is case insensitive.\n\n#### Filterable properties\nInformation about what properties allow filtering and on what operators can be found in the property in the schema for the collection. Each property that allows filtering has the property `\"x-filterable\"` in combination with `operators` set. If you try to filter on something that isn’t allowed the server will respond with a status code 400.\n\n#### Specifying Operator affinity\nIf you want to control the operator affinity then you can use parentheses.\n\nAn example is: `?filter=name$eq:Joe$and:(city$like:*port$or:age$lt:40)`\n\n#### URL Encoding\nURL parameter values should always be URL compatible. Always URL encode filter strings.\n\n#### Filter Operators\nThe possible filtering operators are:\n\n| Operator   | Syntax |\n| --------   | ------ |\n|Equals | $eq:|\n|Not equals | $ne:|\n|Greater than | $gt:|\n|Greater than or equal | $gte:|\n|Less than | $lt:|\n|Less than or equal | $lte:|\n|Substring match\t| $like:|\n|And also | $and:|\n|Or else | $or:|\n|In | $in:|\n|Not In | $nin:|\n\n#### Substring matching\n\nThe `$like:` operator supports both using wildcards (*) and not using wildcards. If no wildcards are used, the expression is considered a `contains` expression and effectively becomes a filter with a wildcard at the start of the string and one at the end of the string. This operator is only allowed on some properties.\n\n#### Escaping special characters in your filter\nTo not interfere with the parsing of the filter expression, certain escape sequences are necessary.\n\n- “$” is escaped with “$$”\n- “(” is escaped with “$(”\n- “)” is escaped with “$)”\n- “*” is escaped with “$*”\n- “,” is escaped with “$,”\n- “[” is escaped with “$[”\n- “]” is escaped with “$]”\n\n#### Using null values in your filter\nShould you want to filter for the nonexistence of a property (i.e. null value) you can use the null escape sequence.\n\n`$null:`\n\n#### Using in and not in operators\nTo determine whether a specified value matches any value in (or not in) a list you filter using the `$in:` or `$nin:` operator. The list to filter by has to be enclosed in brackets and values separated by commas.\n\n`customerNumber$in:[2,5,7,22,45]`\n\n\nIt is possible to also use the `$null:` keyword if you wish to include that in the filter. The max supported length of an array using the `$in:` or `$nin:` operator is 200.\n\n\n## Sorting\n\nSorting on strings is case insensitive.\n\n### Sort ascending\n\nSorting on collections can be done using the query string parameter ‘sort’.\n\n```\n?sort=name\n```\n\n### Sort descending\n\nThe default sort direction is ascending, but this can be turned by prepending a minus (-).\n\n```\n?sort=-name\n```\n\n### Sort by multiple properties\n\nIf you need to sort by multiple properties these can just be separated by commas. Mixing of directions is allowed.\n\n```\n?sort=-name,age\n```\n\n### Sort alphabetically\n\nIn certain cases, you might want to enforce that even numeric values are sorted alphabetically, so 1000 is less than 30. In those cases, you can prepend the sort property with a tilde (~).\n\n```\n?sort=~name\n```\n\n#### Sortable properties\nInformation about what properties are sortable can be found in the schema for the collection. Each property that allows sorting has the property `\"x-sortable\": true` set.\n\n#### Important: Sorting with pagination\nPlease note that sorting is **only available with classic pagination** (using `skippages` and `pagesize`). Sorting is **not supported when using cursor-based pagination**, as the cursor points to a specific record with a fixed ordering.\n\n\n## Pagination\n\nWhen it comes to retrieving a collection of items, you can use two distinct approaches:\n\n* **Cursor-based pagination** (continued loading of items using a `cursor` as a query parameter to get the next page of items)\n  * This is the recommended approach, and the one you should use by default.\n  * The endpoint naming scheme is **\"Retrieve all `Items`\"**. (Usage: `/{ITEM}?cursor={CURSOR_VALUE}`)\n  * The maximum number of items returned in a single call is defined in the `x-cursor-page-size` extension of the response type. Usually, the size is 1000, but in some cases, where we explicitly state so, it can be smaller.\n\n\n* **Classic pagination** (limited functionality*. Specify `skippages` and `pagesize ` as query parameters to get a specific page of items)\n  * You should only consider using classic pagination, if you rely on loading pages (i.e. for list views or table/grid-based UI's).\n  * The endpoint naming scheme is **\"Retrieve a page of `Items`\"**. (Usage: `/{ITEM}/paged?skippages=0&pagesize=20`)  \n    \\* It's important to note that there is a limit of 10.000 items using this approach. Any items outside of the first 10.000 items will not be loaded.\n\nPlease bear in mind that the two approaches are supported by **separate endpoints**. To use classic pagination, add `/paged` to your request URL.\n\nIf you need to know the total count of items that you can expect to get from your search, you can use a separate endpoint called **\"Retrieve the number of `Items`\"**.  \nYou can also use the result of this endpoint to calculate the pagination navigation buttons for a table/grid-based UI.\n\n\n### Which approach should you use?\nWe highly recommend that you use cursor-based pagination because:\n- It is more performant and offers much faster retrieval of items;\n- It can be used for very large collections of many thousands or millions of items, whereas classic pagination is limited to only returning 10.000 results, everything else is ignored;  \n  Classic pagination is only appropriate when you have an app with a table/grid-based UI.\n\n### Cursor-based pagination\n\n#### How it works\n\nWhen you search for items in a large collection, the response will contain a first set of items and a cursor that you can use in a subsequent request to get the next series of items. This way you can retrieve the next set of items only when needed (if the first set suffices, you don't need to send a second request).\n\nThe first set of items usually consists of 1000 results. If the cursor is not present in the response, it means that there are no more items in the results. \n\nPlease note that the cursor represents the `identifier` of the first `item` on the next set and it should not be mistaken for the number of items which are yet to be displayed.\n\n##### Real world example\n\nI want to retrieve all subscriptions.\n\n1) I send a request to https://apis.e-conomic.com/subscriptionsapi/v1.0.0/subscriptions \n   and get back an array of 1.000 subscriptions, and a cursor with value 34781\n\n2) I send a request for the next items in the resulting collection:\n   https://apis.e-conomic.com/subscriptionsapi/v1.0.0/subscriptions?cursor=34781\n   and get back an array of 1.000 subscriptions and a cursor with value 87695\n\n3) I send a request for the next items in the result:\n   https://apis.e-conomic.com/subscriptionsapi/v1.0.0/subscriptions?cursor=87695\n   and get back an array of 56 items and no cursor.\n   No cursor means I have retrieved all the subscriptions, i.e. I have reached the end of the list.\n\n### Classic pagination\n\nIf no parameters are used, the collection endpoint returns 20 items at a time. URL parameters allow you to increase this to up to 100 items or to skip pages if necessary.\n\n##### Real world example\n\nI want to show a grid with page size of 50 and pagination navigation buttons.\n\n1) I send a request to see how many subscriptions there are in the collection:  \n   `https://apis.e-conomic.com/subscriptionsapi/v1.0.0/subscriptions/count`  \n   I get the number of subscriptions in the collection, `2056`, and I can calculate the number of pages to be 2056 divided by 50 = 40 with 6 as remainder, meaning I have 41 pages total. I can then use this to present the user the navigation buttons.\n\n\n2) I send a request to retrieve the first page of subscriptions that my user will see:  \n   `https://apis.e-conomic.com/subscriptionsapi/v1.0.0/subscriptions/paged?pagesize=50&sort=-number`  \n   with this I get back an array of 50 subscriptions, sorted by number in descending order.\n\n\n3) Now if the user wants to see page number 6, I'll send a new request, skipping the first 5 pages to get the subscriptions from page number 6:  \n   `https://apis.e-conomic.com/subscriptionsapi/v1.0.0/subscriptions/paged?pagesize=50&skippages=5&sort=-number`  \n   I get back an array of 50 subscriptions that belong to page number 6 when sorting by number in descending order.\n\n\n\n### Number of items in a collection\n\nAs mentioned before we offer endpoint to get the count of items in the collection. You can also use this info for calculation of pagination navigation in case of classic pagination.\n\nExample `https://apis.e-conomic.com/subscriptionsapi/v1.0.0/subscriptions/count`\n\n\n## HTTP Status Codes\n\nThe Open API returns these HTTP status codes.\n\n| Code | Text                   | Description                                                  |\n| :--- | :--------------------- | :----------------------------------------------------------- |\n| 200  | OK                     | Everything is OK                                             |\n| 201  | Created                | When you create resources, this is what you get. This will be accompanied by the created resource in the body and a location header with a link to the created resource. |\n| 204  | No Content             | In certain cases there is nothing to return. So we will let you know by returning a 204. |\n| 400  | Bad Request            | The request you made was somehow malformed. A malformed request could be failed validation on creation or updating. If you try to filter on something that isn’t filterable this is also what you’ll see. Whenever possible we will also try to include a developer hint to help you get around this issue. |\n| 401  | Unauthorized           | The credentials you supplied us with weren’t correct, or perhaps you forgot them altogether. If an agreement has revoked the grant they gave your app, this is what you will see. |\n| 403  | Forbidden              | You won’t necessarily have access to everything. So even though you were authorized we might still deny access to certain resources. This depends on the roles asked for when the grant was issued. |\n| 404  | Not Found              | This is returned when you try to request something that doesn’t exist. This could be a resource that has been deleted or just a URL you tried to hack. If you see a lot of these, it could be an indication that you aren’t using the links provided by the API. You should never need to concatenate any URLs. The API should provide you with the links needed. |\n| 405  | Method Not Allowed     | Not all endpoints support all HTTP methods. If you try issue a PUT request to a collection resource this is what you get. |\n| 409  | Conflict               | The request cannot be completed due to a conflict with the current state of the target resource. Retrieve the resource/object and try the update again. This is needed in order to prevent you from rolling back another user's update. |\n| 415  | Unsupported Media Type | Our API is a JSON api. If you ask us to give you anything else, we give you this, and tell you why in the JSON body of the response. |\n| 500  | Internal Server Error  | We don’t like to see these, and they are flagged in our logs. When you see this, something went wrong on our end. Either try again, or contact our support. |\n\n\n## Required and Readonly Properties\n\nSince OpenAPI allows client generation based on the specification, we decided to use the same model/schema in our for both read and write endpoints where possible.\n\nThis led us to chose not to have the Id/Number in the URL parameter for PUT requests, but to use the one from the body, so there is no confusion.\n\nWhen a property is marked as `required` it means you need to provide a value on each POST and PUT requests.\n\nWhen a property is marked as `readonly` it means you should provide the same value you get in the GET requests, or do not send the property in the JSON at all (skip it).\n\n## Resource encoding\n\nAll non-alphanumeric characters in resource URLs are standard URL encoded. Please refer to standard URL encoding.\n\n## Implementation specifics\n\nHelpful details to know when implementing e-conomic REST.\n\n### Booleans\n\nBooleans should only be expected to be represented in responses when true. A false boolean is omitted from response body. The same logic applies to write operations such as POST and PUT.\n\n### Nulling\n\nWe do not generally accept null as a value and a validation exception should be expected. To null a property you must exclude it from your JSON on the write operation.\n\n## Object version\n\nObjectVersion is the mechanism that enforces updates only on latest state of an object.\nObjectVersion property is mandatory in Put Requests.\nObjectVersion property is retrieved on Get Request and needs to be included in Put Request.\nIf object was modified between Get and Put requests, Put request will fail with error code `409 Conflict`\n\n```\n{\n  \"message\": \"Update conflict. Version does not match.\",\n  \"developerHint\": \"The resource has been updated by another user. Retrieve the resource/object and try the update again. This is needed in order to prevent you from rolling back another user's update.\",\n  \"logId\": \"09580053-1141-4e7f-85e1-bed8600e0278\",\n  \"logTimeUtc\": \"2021-11-04T09:07:56\",\n  \"property\": \"version\"\n}\n```\n\n## Idempotency tokens\n Idempotency tokens are unique keys that help maintain the integrity of operations on the API’s. These tokens prevent accidental duplication of requests, ensuring that the same operation is not performed multiple times, even if the same request is sent repeatedly.\n \n When making a request, you can set `Idempotency-Key` header with your own unique value for that specific request. In case of a network failure, if you don't get the response, you can retry the request with the same value for the header. Our system will prevent duplicate requests, instead you will get the original response from our cache. \n \n Keep in mind that this is cached for only **one hour** window. \n \n When we return a response from the cache, we set a response header `X-ResultFromCache` to true.\n\n It’s important to note that **you will be responsible for generating and keeping track of these keys**.\n\n The [Idempotency Tokens feature](https://techtalk.e-conomic.com/idempotency-tokens-in-e-conomic-apis/) is not available for GET requests.\n\n## The LastUpdated property of resources\nThe `LastUpdated` property shows the date when a resource was last updated. A resource is considered updated when any property in the model has been changed. If there aren’t any changes, `LastUpdated` will equal the creation date.\n \nPlease bear in mind that not all resources have a LastUpdated property. Also, sometimes the LastUpdated property is modified by changes to a different model, as is the case with sales documents.\nFor example, when an invoice line is created, the LastUpdated field on the invoice is modified.\n \nThe main usage for this property is to help retrieve only data that has been changed within a certain interval. This will save processing and network time spent on the client side.\n \nUsage example: https://apis.e-conomic.com/projectsapi/v1.1.0/the_resource?filter=lastUpdated$gt:2024-02-24\nThis will return all resources which have been updated since 24.02.2024.\n      \n## Custom extensions in OpenAPI specification\n\nIn the specification file, there are some custom extensions that developers can make use of when consuming endpoints. Those extensions are always prefixed by `x-`.\n\n1) `x-required-roles`: The list of roles that are required for each group of endpoints.\n2) `x-error-codes`: The list of error codes that are potentially returned from each group of endpoints.\n3) `x-cursor-page-size`: The maximum number of items in `CursorResults` that can be returned in a single call.\n\n\n# Authentication\n\n**Create tokens as instructed [here](https://www.e-conomic.com/developer/connect) and then add these two authentication headers to your requests:**\n\n<SecurityDefinitions />",
    "contact": {
      "url": "https://www.e-conomic.com/",
      "email": "api@e-conomic.com"
    },
    "version": "1.1.0",
    "x-logo": {
      "url": "",
      "altText": "Visma e-conomic"
    }
  },
  "servers": [
    {
      "url": "https://apis.e-conomic.com/projectsapi/v1.1.0/"
    }
  ],
  "paths": {
    "/Activities/paged": {
      "get": {
        "tags": [
          "Activities"
        ],
        "summary": "Retrieve a page of Activities",
        "description": "Use this endpoint to load a page of Activities.",
        "operationId": "GetPageOfActivities",
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "description": "Use this parameter to set the filtering for fields. [Filtering instructions](#section/Retrieving-data/Filtering)",
            "schema": {
              "type": "string",
              "description": "Use this parameter to set the filtering for fields. [Filtering instructions](#section/Retrieving-data/Filtering)"
            }
          },
          {
            "name": "sort",
            "in": "query",
            "description": "Use this parameter to set the sort fields and direction. [Sort instructions](#section/Retrieving-data/Sorting)",
            "schema": {
              "type": "string",
              "description": "Use this parameter to set the sort fields and direction. [Sort instructions](#section/Retrieving-data/Sorting)"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Use this parameter to set the page size. [Pagination instructions](#section/Retrieving-data/Pagination)",
            "schema": {
              "maximum": 100,
              "minimum": 1,
              "type": "integer",
              "description": "Use this parameter to set the page size. [Pagination instructions](#section/Retrieving-data/Pagination)",
              "format": "int32",
              "default": 20
            }
          },
          {
            "name": "skipPages",
            "in": "query",
            "description": "Use this parameter to set number of pages to skip. [Pagination instructions](#section/Retrieving-data/Pagination)",
            "schema": {
              "maximum": 100,
              "minimum": 0,
              "type": "integer",
              "description": "Use this parameter to set number of pages to skip. [Pagination instructions](#section/Retrieving-data/Pagination)",
              "format": "int32",
              "default": 0
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Activity"
                  }
                }
              }
            }
          },
          "400": {
            "description": "**Bad request.** Your request does not pass our validation. Check the errors array for more details.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "**Unauthorized access.** Please take a look at https://apis.e-conomic.com and follow the links to help on authorization, or use the word demo for both tokens.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "**Access forbidden.** You won’t necessarily have access to everything. So even though you were authorized we might still deny access to certain resources. This depends on the roles asked for when the grant was issued.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "429": {
            "description": "**Too many requests.** You have made too many calls towards our API. You are over your quota. Need to wait a bit. Check info in the response headers.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "**Internal server error.** Something went wrong but the error has been logged. If you continue to see errors here, please contact api@e-conomic.com. Remember to include log id and agreement number when contacting support.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/Activities": {
      "get": {
        "tags": [
          "Activities"
        ],
        "summary": "Retrieve all Activities",
        "description": "Use this endpoint to retrieve all Activities in bulk. <br/>The maximum number of items returned in a single call is defined in the `x-cursor-page-size` extension of the response type. Usually, the size is 1000, but in some cases, where we explicitly state so, it can be smaller than that.<br/>Use the continuation cursor parameter to set the cursor for retrieval of the next set of data.<br/>Please check the [pagination instructions](#section/Retrieving-data/Pagination).",
        "operationId": "GetAllActivities",
        "parameters": [
          {
            "name": "cursor",
            "in": "query",
            "description": "Use this parameter to set the continuation cursor for paging. [Pagination instructions](#section/Retrieving-data/Pagination)",
            "schema": {
              "maxLength": 50,
              "minLength": 0,
              "type": "string",
              "description": "Use this parameter to set the continuation cursor for paging. [Pagination instructions](#section/Retrieving-data/Pagination)"
            }
          },
          {
            "name": "filter",
            "in": "query",
            "description": "Use this parameter to set the filtering for fields. [filtering instructions](#section/Retrieving-data/Filtering)",
            "schema": {
              "type": "string",
              "description": "Use this parameter to set the filtering for fields. [filtering instructions](#section/Retrieving-data/Filtering)"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Array of objects along with a cursor.",
                  "$ref": "#/components/schemas/ActivityCursorResults"
                }
              }
            }
          },
          "400": {
            "description": "**Bad request.** Your request does not pass our validation. Check the errors array for more details.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "**Unauthorized access.** Please take a look at https://apis.e-conomic.com and follow the links to help on authorization, or use the word demo for both tokens.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "**Access forbidden.** You won’t necessarily have access to everything. So even though you were authorized we might still deny access to certain resources. This depends on the roles asked for when the grant was issued.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "429": {
            "description": "**Too many requests.** You have made too many calls towards our API. You are over your quota. Need to wait a bit. Check info in the response headers.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "**Internal server error.** Something went wrong but the error has been logged. If you continue to see errors here, please contact api@e-conomic.com. Remember to include log id and agreement number when contacting support.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Activities"
        ],
        "summary": "Create a single Activity",
        "description": "Use this endpoint to create a single Activity.",
        "operationId": "CreateActivity",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Activity"
              },
              "example": {
                "number": 0,
                "groupNumber": 0,
                "name": "string"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreatedResult"
                }
              }
            }
          },
          "400": {
            "description": "**Bad request.** Your request does not pass our validation. Check the errors array for more details.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "**Unauthorized access.** Please take a look at https://apis.e-conomic.com and follow the links to help on authorization, or use the word demo for both tokens.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "**Access forbidden.** You won’t necessarily have access to everything. So even though you were authorized we might still deny access to certain resources. This depends on the roles asked for when the grant was issued.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "429": {
            "description": "**Too many requests.** You have made too many calls towards our API. You are over your quota. Need to wait a bit. Check info in the response headers.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "**Internal server error.** Something went wrong but the error has been logged. If you continue to see errors here, please contact api@e-conomic.com. Remember to include log id and agreement number when contacting support.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Activities"
        ],
        "summary": "Update a single Activity",
        "description": "Use this endpoint to update a single Activity.",
        "operationId": "UpdateActivityById",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Activity"
              },
              "example": {
                "number": 0,
                "groupNumber": 0,
                "name": "string"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "**Bad request.** Your request does not pass our validation. Check the errors array for more details.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "**Unauthorized access.** Please take a look at https://apis.e-conomic.com and follow the links to help on authorization, or use the word demo for both tokens.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "**Access forbidden.** You won’t necessarily have access to everything. So even though you were authorized we might still deny access to certain resources. This depends on the roles asked for when the grant was issued.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "**Resource not found.** The resource you have been looking for does not exist.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "**Update conflict. Object version does not match.** The resource has been updated by another user. Retrieve the resource/object and try the update again. This is needed in order to prevent you from rolling back another user's update.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "429": {
            "description": "**Too many requests.** You have made too many calls towards our API. You are over your quota. Need to wait a bit. Check info in the response headers.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "**Internal server error.** Something went wrong but the error has been logged. If you continue to see errors here, please contact api@e-conomic.com. Remember to include log id and agreement number when contacting support.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/Activities/count": {
      "get": {
        "tags": [
          "Activities"
        ],
        "summary": "Retrieve the number of Activities",
        "description": "Call this endpoint to get the number of Activities. You can use filtering as well.",
        "operationId": "GetNumberOfActivities",
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "description": "Use this parameter to set the filtering for fields. [Filtering instructions](#section/Retrieving-data/Filtering)",
            "schema": {
              "type": "string",
              "description": "Use this parameter to set the filtering for fields. [Filtering instructions](#section/Retrieving-data/Filtering)"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            }
          },
          "400": {
            "description": "**Bad request.** Your request does not pass our validation. Check the errors array for more details.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "**Unauthorized access.** Please take a look at https://apis.e-conomic.com and follow the links to help on authorization, or use the word demo for both tokens.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "**Access forbidden.** You won’t necessarily have access to everything. So even though you were authorized we might still deny access to certain resources. This depends on the roles asked for when the grant was issued.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "429": {
            "description": "**Too many requests.** You have made too many calls towards our API. You are over your quota. Need to wait a bit. Check info in the response headers.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "**Internal server error.** Something went wrong but the error has been logged. If you continue to see errors here, please contact api@e-conomic.com. Remember to include log id and agreement number when contacting support.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/Activities/{number}": {
      "get": {
        "tags": [
          "Activities"
        ],
        "summary": "Retrieve single Activity",
        "description": "Use this endpoint to load a single Activity by number.",
        "operationId": "GetActivityById",
        "parameters": [
          {
            "name": "number",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Activity"
                }
              }
            }
          },
          "400": {
            "description": "**Bad request.** Your request does not pass our validation. Check the errors array for more details.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "**Unauthorized access.** Please take a look at https://apis.e-conomic.com and follow the links to help on authorization, or use the word demo for both tokens.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "**Access forbidden.** You won’t necessarily have access to everything. So even though you were authorized we might still deny access to certain resources. This depends on the roles asked for when the grant was issued.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "**Resource not found.** The resource you have been looking for does not exist.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "429": {
            "description": "**Too many requests.** You have made too many calls towards our API. You are over your quota. Need to wait a bit. Check info in the response headers.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "**Internal server error.** Something went wrong but the error has been logged. If you continue to see errors here, please contact api@e-conomic.com. Remember to include log id and agreement number when contacting support.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/Activities/allowed": {
      "get": {
        "tags": [
          "Activities"
        ],
        "summary": "Retrieve allowed activities",
        "description": "Use this endpoint to get all the activities that the employee is allowed to register an entry on for a given project. Potential restrictions of registration are based on recording rules in the UI, which cannot be modified through the API. Add the employee number and project to your query parameter to obtain the allowed activities for registrations.",
        "operationId": "GetAllowedActivities",
        "parameters": [
          {
            "name": "employeeNumber",
            "in": "query",
            "description": "The employee number.",
            "required": true,
            "schema": {
              "maximum": 999999,
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "projectNumber",
            "in": "query",
            "description": "The project number.",
            "required": true,
            "schema": {
              "maximum": 999999999,
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Activity"
                  }
                }
              }
            }
          },
          "400": {
            "description": "**Bad request.** Your request does not pass our validation. Check the errors array for more details.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "**Unauthorized access.** Please take a look at https://apis.e-conomic.com and follow the links to help on authorization, or use the word demo for both tokens.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "**Access forbidden.** You won’t necessarily have access to everything. So even though you were authorized we might still deny access to certain resources. This depends on the roles asked for when the grant was issued.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "429": {
            "description": "**Too many requests.** You have made too many calls towards our API. You are over your quota. Need to wait a bit. Check info in the response headers.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "**Internal server error.** Something went wrong but the error has been logged. If you continue to see errors here, please contact api@e-conomic.com. Remember to include log id and agreement number when contacting support.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/ActivityGroups/{number}": {
      "get": {
        "tags": [
          "ActivityGroups"
        ],
        "summary": "Retrieve single ActivityGroup",
        "description": "Use this endpoint to load a single ActivityGroup by number.",
        "operationId": "GetActivityGroupById",
        "parameters": [
          {
            "name": "number",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ActivityGroup"
                }
              }
            }
          },
          "400": {
            "description": "**Bad request.** Your request does not pass our validation. Check the errors array for more details.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "**Unauthorized access.** Please take a look at https://apis.e-conomic.com and follow the links to help on authorization, or use the word demo for both tokens.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "**Access forbidden.** You won’t necessarily have access to everything. So even though you were authorized we might still deny access to certain resources. This depends on the roles asked for when the grant was issued.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "**Resource not found.** The resource you have been looking for does not exist.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "429": {
            "description": "**Too many requests.** You have made too many calls towards our API. You are over your quota. Need to wait a bit. Check info in the response headers.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "**Internal server error.** Something went wrong but the error has been logged. If you continue to see errors here, please contact api@e-conomic.com. Remember to include log id and agreement number when contacting support.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/ActivityGroups/paged": {
      "get": {
        "tags": [
          "ActivityGroups"
        ],
        "summary": "Retrieve a page of ActivityGroups",
        "description": "Use this endpoint to load a page of ActivityGroups.",
        "operationId": "GetPageOfActivityGroups",
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "description": "Use this parameter to set the filtering for fields. [Filtering instructions](#section/Retrieving-data/Filtering)",
            "schema": {
              "type": "string",
              "description": "Use this parameter to set the filtering for fields. [Filtering instructions](#section/Retrieving-data/Filtering)"
            }
          },
          {
            "name": "sort",
            "in": "query",
            "description": "Use this parameter to set the sort fields and direction. [Sort instructions](#section/Retrieving-data/Sorting)",
            "schema": {
              "type": "string",
              "description": "Use this parameter to set the sort fields and direction. [Sort instructions](#section/Retrieving-data/Sorting)"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Use this parameter to set the page size. [Pagination instructions](#section/Retrieving-data/Pagination)",
            "schema": {
              "maximum": 100,
              "minimum": 1,
              "type": "integer",
              "description": "Use this parameter to set the page size. [Pagination instructions](#section/Retrieving-data/Pagination)",
              "format": "int32",
              "default": 20
            }
          },
          {
            "name": "skipPages",
            "in": "query",
            "description": "Use this parameter to set number of pages to skip. [Pagination instructions](#section/Retrieving-data/Pagination)",
            "schema": {
              "maximum": 100,
              "minimum": 0,
              "type": "integer",
              "description": "Use this parameter to set number of pages to skip. [Pagination instructions](#section/Retrieving-data/Pagination)",
              "format": "int32",
              "default": 0
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ActivityGroup"
                  }
                }
              }
            }
          },
          "400": {
            "description": "**Bad request.** Your request does not pass our validation. Check the errors array for more details.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "**Unauthorized access.** Please take a look at https://apis.e-conomic.com and follow the links to help on authorization, or use the word demo for both tokens.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "**Access forbidden.** You won’t necessarily have access to everything. So even though you were authorized we might still deny access to certain resources. This depends on the roles asked for when the grant was issued.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "429": {
            "description": "**Too many requests.** You have made too many calls towards our API. You are over your quota. Need to wait a bit. Check info in the response headers.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "**Internal server error.** Something went wrong but the error has been logged. If you continue to see errors here, please contact api@e-conomic.com. Remember to include log id and agreement number when contacting support.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/ActivityGroups": {
      "get": {
        "tags": [
          "ActivityGroups"
        ],
        "summary": "Retrieve all ActivityGroups",
        "description": "Use this endpoint to retrieve all ActivityGroups in bulk. <br/>The maximum number of items returned in a single call is defined in the `x-cursor-page-size` extension of the response type. Usually, the size is 1000, but in some cases, where we explicitly state so, it can be smaller than that.<br/>Use the continuation cursor parameter to set the cursor for retrieval of the next set of data.<br/>Please check the [pagination instructions](#section/Retrieving-data/Pagination).",
        "operationId": "GetAllActivityGroups",
        "parameters": [
          {
            "name": "cursor",
            "in": "query",
            "description": "Use this parameter to set the continuation cursor for paging. [Pagination instructions](#section/Retrieving-data/Pagination)",
            "schema": {
              "maxLength": 50,
              "minLength": 0,
              "type": "string",
              "description": "Use this parameter to set the continuation cursor for paging. [Pagination instructions](#section/Retrieving-data/Pagination)"
            }
          },
          {
            "name": "filter",
            "in": "query",
            "description": "Use this parameter to set the filtering for fields. [filtering instructions](#section/Retrieving-data/Filtering)",
            "schema": {
              "type": "string",
              "description": "Use this parameter to set the filtering for fields. [filtering instructions](#section/Retrieving-data/Filtering)"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Array of objects along with a cursor.",
                  "$ref": "#/components/schemas/ActivityGroupCursorResults"
                }
              }
            }
          },
          "400": {
            "description": "**Bad request.** Your request does not pass our validation. Check the errors array for more details.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "**Unauthorized access.** Please take a look at https://apis.e-conomic.com and follow the links to help on authorization, or use the word demo for both tokens.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "**Access forbidden.** You won’t necessarily have access to everything. So even though you were authorized we might still deny access to certain resources. This depends on the roles asked for when the grant was issued.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "429": {
            "description": "**Too many requests.** You have made too many calls towards our API. You are over your quota. Need to wait a bit. Check info in the response headers.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "**Internal server error.** Something went wrong but the error has been logged. If you continue to see errors here, please contact api@e-conomic.com. Remember to include log id and agreement number when contacting support.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "ActivityGroups"
        ],
        "summary": "Create a single ActivityGroup",
        "description": "Use this endpoint to create a single ActivityGroup.",
        "operationId": "CreateActivityGroup",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ActivityGroup"
              },
              "example": {
                "name": "string",
                "type": 1
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreatedResult"
                }
              }
            }
          },
          "400": {
            "description": "**Bad request.** Your request does not pass our validation. Check the errors array for more details.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "**Unauthorized access.** Please take a look at https://apis.e-conomic.com and follow the links to help on authorization, or use the word demo for both tokens.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "**Access forbidden.** You won’t necessarily have access to everything. So even though you were authorized we might still deny access to certain resources. This depends on the roles asked for when the grant was issued.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "429": {
            "description": "**Too many requests.** You have made too many calls towards our API. You are over your quota. Need to wait a bit. Check info in the response headers.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "**Internal server error.** Something went wrong but the error has been logged. If you continue to see errors here, please contact api@e-conomic.com. Remember to include log id and agreement number when contacting support.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/ActivityGroups/count": {
      "get": {
        "tags": [
          "ActivityGroups"
        ],
        "summary": "Retrieve the number of ActivityGroups",
        "description": "Call this endpoint to get the number of ActivityGroups. You can use filtering as well.",
        "operationId": "GetNumberOfActivityGroups",
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "description": "Use this parameter to set the filtering for fields. [Filtering instructions](#section/Retrieving-data/Filtering)",
            "schema": {
              "type": "string",
              "description": "Use this parameter to set the filtering for fields. [Filtering instructions](#section/Retrieving-data/Filtering)"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            }
          },
          "400": {
            "description": "**Bad request.** Your request does not pass our validation. Check the errors array for more details.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "**Unauthorized access.** Please take a look at https://apis.e-conomic.com and follow the links to help on authorization, or use the word demo for both tokens.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "**Access forbidden.** You won’t necessarily have access to everything. So even though you were authorized we might still deny access to certain resources. This depends on the roles asked for when the grant was issued.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "429": {
            "description": "**Too many requests.** You have made too many calls towards our API. You are over your quota. Need to wait a bit. Check info in the response headers.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "**Internal server error.** Something went wrong but the error has been logged. If you continue to see errors here, please contact api@e-conomic.com. Remember to include log id and agreement number when contacting support.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/CostTypeGroups/{number}": {
      "get": {
        "tags": [
          "CostTypeGroups"
        ],
        "summary": "Retrieve single CostTypeGroup",
        "description": "Use this endpoint to load a single CostTypeGroup by number.",
        "operationId": "GetCostTypeGroupById",
        "parameters": [
          {
            "name": "number",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CostTypeGroup"
                }
              }
            }
          },
          "400": {
            "description": "**Bad request.** Your request does not pass our validation. Check the errors array for more details.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "**Unauthorized access.** Please take a look at https://apis.e-conomic.com and follow the links to help on authorization, or use the word demo for both tokens.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "**Access forbidden.** You won’t necessarily have access to everything. So even though you were authorized we might still deny access to certain resources. This depends on the roles asked for when the grant was issued.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "**Resource not found.** The resource you have been looking for does not exist.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "429": {
            "description": "**Too many requests.** You have made too many calls towards our API. You are over your quota. Need to wait a bit. Check info in the response headers.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "**Internal server error.** Something went wrong but the error has been logged. If you continue to see errors here, please contact api@e-conomic.com. Remember to include log id and agreement number when contacting support.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/CostTypeGroups/paged": {
      "get": {
        "tags": [
          "CostTypeGroups"
        ],
        "summary": "Retrieve a page of CostTypeGroups",
        "description": "Use this endpoint to load a page of CostTypeGroups.",
        "operationId": "GetPageOfCostTypeGroups",
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "description": "Use this parameter to set the filtering for fields. [Filtering instructions](#section/Retrieving-data/Filtering)",
            "schema": {
              "type": "string",
              "description": "Use this parameter to set the filtering for fields. [Filtering instructions](#section/Retrieving-data/Filtering)"
            }
          },
          {
            "name": "sort",
            "in": "query",
            "description": "Use this parameter to set the sort fields and direction. [Sort instructions](#section/Retrieving-data/Sorting)",
            "schema": {
              "type": "string",
              "description": "Use this parameter to set the sort fields and direction. [Sort instructions](#section/Retrieving-data/Sorting)"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Use this parameter to set the page size. [Pagination instructions](#section/Retrieving-data/Pagination)",
            "schema": {
              "maximum": 100,
              "minimum": 1,
              "type": "integer",
              "description": "Use this parameter to set the page size. [Pagination instructions](#section/Retrieving-data/Pagination)",
              "format": "int32",
              "default": 20
            }
          },
          {
            "name": "skipPages",
            "in": "query",
            "description": "Use this parameter to set number of pages to skip. [Pagination instructions](#section/Retrieving-data/Pagination)",
            "schema": {
              "maximum": 100,
              "minimum": 0,
              "type": "integer",
              "description": "Use this parameter to set number of pages to skip. [Pagination instructions](#section/Retrieving-data/Pagination)",
              "format": "int32",
              "default": 0
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CostTypeGroup"
                  }
                }
              }
            }
          },
          "400": {
            "description": "**Bad request.** Your request does not pass our validation. Check the errors array for more details.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "**Unauthorized access.** Please take a look at https://apis.e-conomic.com and follow the links to help on authorization, or use the word demo for both tokens.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "**Access forbidden.** You won’t necessarily have access to everything. So even though you were authorized we might still deny access to certain resources. This depends on the roles asked for when the grant was issued.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "429": {
            "description": "**Too many requests.** You have made too many calls towards our API. You are over your quota. Need to wait a bit. Check info in the response headers.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "**Internal server error.** Something went wrong but the error has been logged. If you continue to see errors here, please contact api@e-conomic.com. Remember to include log id and agreement number when contacting support.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/CostTypeGroups": {
      "get": {
        "tags": [
          "CostTypeGroups"
        ],
        "summary": "Retrieve all CostTypeGroups",
        "description": "Use this endpoint to retrieve all CostTypeGroups in bulk. <br/>The maximum number of items returned in a single call is defined in the `x-cursor-page-size` extension of the response type. Usually, the size is 1000, but in some cases, where we explicitly state so, it can be smaller than that.<br/>Use the continuation cursor parameter to set the cursor for retrieval of the next set of data.<br/>Please check the [pagination instructions](#section/Retrieving-data/Pagination).",
        "operationId": "GetAllCostTypeGroups",
        "parameters": [
          {
            "name": "cursor",
            "in": "query",
            "description": "Use this parameter to set the continuation cursor for paging. [Pagination instructions](#section/Retrieving-data/Pagination)",
            "schema": {
              "maxLength": 50,
              "minLength": 0,
              "type": "string",
              "description": "Use this parameter to set the continuation cursor for paging. [Pagination instructions](#section/Retrieving-data/Pagination)"
            }
          },
          {
            "name": "filter",
            "in": "query",
            "description": "Use this parameter to set the filtering for fields. [filtering instructions](#section/Retrieving-data/Filtering)",
            "schema": {
              "type": "string",
              "description": "Use this parameter to set the filtering for fields. [filtering instructions](#section/Retrieving-data/Filtering)"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Array of objects along with a cursor.",
                  "$ref": "#/components/schemas/CostTypeGroupCursorResults"
                }
              }
            }
          },
          "400": {
            "description": "**Bad request.** Your request does not pass our validation. Check the errors array for more details.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "**Unauthorized access.** Please take a look at https://apis.e-conomic.com and follow the links to help on authorization, or use the word demo for both tokens.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "**Access forbidden.** You won’t necessarily have access to everything. So even though you were authorized we might still deny access to certain resources. This depends on the roles asked for when the grant was issued.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "429": {
            "description": "**Too many requests.** You have made too many calls towards our API. You are over your quota. Need to wait a bit. Check info in the response headers.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "**Internal server error.** Something went wrong but the error has been logged. If you continue to see errors here, please contact api@e-conomic.com. Remember to include log id and agreement number when contacting support.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/CostTypeGroups/count": {
      "get": {
        "tags": [
          "CostTypeGroups"
        ],
        "summary": "Retrieve the number of CostTypeGroups",
        "description": "Call this endpoint to get the number of CostTypeGroups. You can use filtering as well.",
        "operationId": "GetNumberOfCostTypeGroups",
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "description": "Use this parameter to set the filtering for fields. [Filtering instructions](#section/Retrieving-data/Filtering)",
            "schema": {
              "type": "string",
              "description": "Use this parameter to set the filtering for fields. [Filtering instructions](#section/Retrieving-data/Filtering)"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            }
          },
          "400": {
            "description": "**Bad request.** Your request does not pass our validation. Check the errors array for more details.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "**Unauthorized access.** Please take a look at https://apis.e-conomic.com and follow the links to help on authorization, or use the word demo for both tokens.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "**Access forbidden.** You won’t necessarily have access to everything. So even though you were authorized we might still deny access to certain resources. This depends on the roles asked for when the grant was issued.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "429": {
            "description": "**Too many requests.** You have made too many calls towards our API. You are over your quota. Need to wait a bit. Check info in the response headers.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "**Internal server error.** Something went wrong but the error has been logged. If you continue to see errors here, please contact api@e-conomic.com. Remember to include log id and agreement number when contacting support.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/CostTypes/{number}": {
      "get": {
        "tags": [
          "CostTypes"
        ],
        "summary": "Retrieve single CostType",
        "description": "Use this endpoint to load a single CostType by number.",
        "operationId": "GetCostTypeById",
        "parameters": [
          {
            "name": "number",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CostType"
                }
              }
            }
          },
          "400": {
            "description": "**Bad request.** Your request does not pass our validation. Check the errors array for more details.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "**Unauthorized access.** Please take a look at https://apis.e-conomic.com and follow the links to help on authorization, or use the word demo for both tokens.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "**Access forbidden.** You won’t necessarily have access to everything. So even though you were authorized we might still deny access to certain resources. This depends on the roles asked for when the grant was issued.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "**Resource not found.** The resource you have been looking for does not exist.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "429": {
            "description": "**Too many requests.** You have made too many calls towards our API. You are over your quota. Need to wait a bit. Check info in the response headers.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "**Internal server error.** Something went wrong but the error has been logged. If you continue to see errors here, please contact api@e-conomic.com. Remember to include log id and agreement number when contacting support.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/CostTypes/paged": {
      "get": {
        "tags": [
          "CostTypes"
        ],
        "summary": "Retrieve a page of CostTypes",
        "description": "Use this endpoint to load a page of CostTypes.",
        "operationId": "GetPageOfCostTypes",
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "description": "Use this parameter to set the filtering for fields. [Filtering instructions](#section/Retrieving-data/Filtering)",
            "schema": {
              "type": "string",
              "description": "Use this parameter to set the filtering for fields. [Filtering instructions](#section/Retrieving-data/Filtering)"
            }
          },
          {
            "name": "sort",
            "in": "query",
            "description": "Use this parameter to set the sort fields and direction. [Sort instructions](#section/Retrieving-data/Sorting)",
            "schema": {
              "type": "string",
              "description": "Use this parameter to set the sort fields and direction. [Sort instructions](#section/Retrieving-data/Sorting)"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Use this parameter to set the page size. [Pagination instructions](#section/Retrieving-data/Pagination)",
            "schema": {
              "maximum": 100,
              "minimum": 1,
              "type": "integer",
              "description": "Use this parameter to set the page size. [Pagination instructions](#section/Retrieving-data/Pagination)",
              "format": "int32",
              "default": 20
            }
          },
          {
            "name": "skipPages",
            "in": "query",
            "description": "Use this parameter to set number of pages to skip. [Pagination instructions](#section/Retrieving-data/Pagination)",
            "schema": {
              "maximum": 100,
              "minimum": 0,
              "type": "integer",
              "description": "Use this parameter to set number of pages to skip. [Pagination instructions](#section/Retrieving-data/Pagination)",
              "format": "int32",
              "default": 0
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CostType"
                  }
                }
              }
            }
          },
          "400": {
            "description": "**Bad request.** Your request does not pass our validation. Check the errors array for more details.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "**Unauthorized access.** Please take a look at https://apis.e-conomic.com and follow the links to help on authorization, or use the word demo for both tokens.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "**Access forbidden.** You won’t necessarily have access to everything. So even though you were authorized we might still deny access to certain resources. This depends on the roles asked for when the grant was issued.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "429": {
            "description": "**Too many requests.** You have made too many calls towards our API. You are over your quota. Need to wait a bit. Check info in the response headers.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "**Internal server error.** Something went wrong but the error has been logged. If you continue to see errors here, please contact api@e-conomic.com. Remember to include log id and agreement number when contacting support.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/CostTypes": {
      "get": {
        "tags": [
          "CostTypes"
        ],
        "summary": "Retrieve all CostTypes",
        "description": "Use this endpoint to retrieve all CostTypes in bulk. <br/>The maximum number of items returned in a single call is defined in the `x-cursor-page-size` extension of the response type. Usually, the size is 1000, but in some cases, where we explicitly state so, it can be smaller than that.<br/>Use the continuation cursor parameter to set the cursor for retrieval of the next set of data.<br/>Please check the [pagination instructions](#section/Retrieving-data/Pagination).",
        "operationId": "GetAllCostTypes",
        "parameters": [
          {
            "name": "cursor",
            "in": "query",
            "description": "Use this parameter to set the continuation cursor for paging. [Pagination instructions](#section/Retrieving-data/Pagination)",
            "schema": {
              "maxLength": 50,
              "minLength": 0,
              "type": "string",
              "description": "Use this parameter to set the continuation cursor for paging. [Pagination instructions](#section/Retrieving-data/Pagination)"
            }
          },
          {
            "name": "filter",
            "in": "query",
            "description": "Use this parameter to set the filtering for fields. [filtering instructions](#section/Retrieving-data/Filtering)",
            "schema": {
              "type": "string",
              "description": "Use this parameter to set the filtering for fields. [filtering instructions](#section/Retrieving-data/Filtering)"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Array of objects along with a cursor.",
                  "$ref": "#/components/schemas/CostTypeCursorResults"
                }
              }
            }
          },
          "400": {
            "description": "**Bad request.** Your request does not pass our validation. Check the errors array for more details.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "**Unauthorized access.** Please take a look at https://apis.e-conomic.com and follow the links to help on authorization, or use the word demo for both tokens.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "**Access forbidden.** You won’t necessarily have access to everything. So even though you were authorized we might still deny access to certain resources. This depends on the roles asked for when the grant was issued.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "429": {
            "description": "**Too many requests.** You have made too many calls towards our API. You are over your quota. Need to wait a bit. Check info in the response headers.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "**Internal server error.** Something went wrong but the error has been logged. If you continue to see errors here, please contact api@e-conomic.com. Remember to include log id and agreement number when contacting support.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/CostTypes/count": {
      "get": {
        "tags": [
          "CostTypes"
        ],
        "summary": "Retrieve the number of CostTypes",
        "description": "Call this endpoint to get the number of CostTypes. You can use filtering as well.",
        "operationId": "GetNumberOfCostTypes",
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "description": "Use this parameter to set the filtering for fields. [Filtering instructions](#section/Retrieving-data/Filtering)",
            "schema": {
              "type": "string",
              "description": "Use this parameter to set the filtering for fields. [Filtering instructions](#section/Retrieving-data/Filtering)"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            }
          },
          "400": {
            "description": "**Bad request.** Your request does not pass our validation. Check the errors array for more details.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "**Unauthorized access.** Please take a look at https://apis.e-conomic.com and follow the links to help on authorization, or use the word demo for both tokens.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "**Access forbidden.** You won’t necessarily have access to everything. So even though you were authorized we might still deny access to certain resources. This depends on the roles asked for when the grant was issued.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "429": {
            "description": "**Too many requests.** You have made too many calls towards our API. You are over your quota. Need to wait a bit. Check info in the response headers.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "**Internal server error.** Something went wrong but the error has been logged. If you continue to see errors here, please contact api@e-conomic.com. Remember to include log id and agreement number when contacting support.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/EmployeeGroups": {
      "get": {
        "tags": [
          "EmployeeGroups"
        ],
        "summary": "Retrieve all EmployeeGroups",
        "description": "Use this endpoint to retrieve all EmployeeGroups in bulk. <br/>The maximum number of items returned in a single call is defined in the `x-cursor-page-size` extension of the response type. Usually, the size is 1000, but in some cases, where we explicitly state so, it can be smaller than that.<br/>Use the continuation cursor parameter to set the cursor for retrieval of the next set of data.<br/>Please check the [pagination instructions](#section/Retrieving-data/Pagination).",
        "operationId": "GetAllEmployeeGroups",
        "parameters": [
          {
            "name": "cursor",
            "in": "query",
            "description": "Use this parameter to set the continuation cursor for paging. [Pagination instructions](#section/Retrieving-data/Pagination)",
            "schema": {
              "maxLength": 50,
              "minLength": 0,
              "type": "string",
              "description": "Use this parameter to set the continuation cursor for paging. [Pagination instructions](#section/Retrieving-data/Pagination)"
            }
          },
          {
            "name": "filter",
            "in": "query",
            "description": "Use this parameter to set the filtering for fields. [filtering instructions](#section/Retrieving-data/Filtering)",
            "schema": {
              "type": "string",
              "description": "Use this parameter to set the filtering for fields. [filtering instructions](#section/Retrieving-data/Filtering)"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Array of objects along with a cursor.",
                  "$ref": "#/components/schemas/EmployeeGroupCursorResults"
                }
              }
            }
          },
          "400": {
            "description": "**Bad request.** Your request does not pass our validation. Check the errors array for more details.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "**Unauthorized access.** Please take a look at https://apis.e-conomic.com and follow the links to help on authorization, or use the word demo for both tokens.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "**Access forbidden.** You won’t necessarily have access to everything. So even though you were authorized we might still deny access to certain resources. This depends on the roles asked for when the grant was issued.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "429": {
            "description": "**Too many requests.** You have made too many calls towards our API. You are over your quota. Need to wait a bit. Check info in the response headers.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "**Internal server error.** Something went wrong but the error has been logged. If you continue to see errors here, please contact api@e-conomic.com. Remember to include log id and agreement number when contacting support.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "EmployeeGroups"
        ],
        "summary": "Create a single EmployeeGroup",
        "description": "Use this endpoint to create a single EmployeeGroup.",
        "operationId": "CreateEmployeeGroup",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EmployeeGroup"
              },
              "example": {
                "number": 0,
                "name": "string"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreatedResult"
                }
              }
            }
          },
          "400": {
            "description": "**Bad request.** Your request does not pass our validation. Check the errors array for more details.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "**Unauthorized access.** Please take a look at https://apis.e-conomic.com and follow the links to help on authorization, or use the word demo for both tokens.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "**Access forbidden.** You won’t necessarily have access to everything. So even though you were authorized we might still deny access to certain resources. This depends on the roles asked for when the grant was issued.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "429": {
            "description": "**Too many requests.** You have made too many calls towards our API. You are over your quota. Need to wait a bit. Check info in the response headers.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "**Internal server error.** Something went wrong but the error has been logged. If you continue to see errors here, please contact api@e-conomic.com. Remember to include log id and agreement number when contacting support.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "EmployeeGroups"
        ],
        "summary": "Update a single EmployeeGroup",
        "description": "Use this endpoint to update a single EmployeeGroup.",
        "operationId": "UpdateEmployeeGroupById",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EmployeeGroup"
              },
              "example": {
                "number": 0,
                "name": "string"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "**Bad request.** Your request does not pass our validation. Check the errors array for more details.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "**Unauthorized access.** Please take a look at https://apis.e-conomic.com and follow the links to help on authorization, or use the word demo for both tokens.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "**Access forbidden.** You won’t necessarily have access to everything. So even though you were authorized we might still deny access to certain resources. This depends on the roles asked for when the grant was issued.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "**Resource not found.** The resource you have been looking for does not exist.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "**Update conflict. Object version does not match.** The resource has been updated by another user. Retrieve the resource/object and try the update again. This is needed in order to prevent you from rolling back another user's update.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "429": {
            "description": "**Too many requests.** You have made too many calls towards our API. You are over your quota. Need to wait a bit. Check info in the response headers.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "**Internal server error.** Something went wrong but the error has been logged. If you continue to see errors here, please contact api@e-conomic.com. Remember to include log id and agreement number when contacting support.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/EmployeeGroups/{number}": {
      "get": {
        "tags": [
          "EmployeeGroups"
        ],
        "summary": "Retrieve single EmployeeGroup",
        "description": "Use this endpoint to load a single EmployeeGroup by number.",
        "operationId": "GetEmployeeGroupById",
        "parameters": [
          {
            "name": "number",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EmployeeGroup"
                }
              }
            }
          },
          "400": {
            "description": "**Bad request.** Your request does not pass our validation. Check the errors array for more details.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "**Unauthorized access.** Please take a look at https://apis.e-conomic.com and follow the links to help on authorization, or use the word demo for both tokens.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "**Access forbidden.** You won’t necessarily have access to everything. So even though you were authorized we might still deny access to certain resources. This depends on the roles asked for when the grant was issued.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "**Resource not found.** The resource you have been looking for does not exist.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "429": {
            "description": "**Too many requests.** You have made too many calls towards our API. You are over your quota. Need to wait a bit. Check info in the response headers.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "**Internal server error.** Something went wrong but the error has been logged. If you continue to see errors here, please contact api@e-conomic.com. Remember to include log id and agreement number when contacting support.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "EmployeeGroups"
        ],
        "summary": "Delete single EmployeeGroup",
        "description": "Use this endpoint to delete a single EmployeeGroup by number.",
        "operationId": "DeleteEmployeeGroupById",
        "parameters": [
          {
            "name": "number",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "**Bad request.** Your request does not pass our validation. Check the errors array for more details.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "**Unauthorized access.** Please take a look at https://apis.e-conomic.com and follow the links to help on authorization, or use the word demo for both tokens.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "**Access forbidden.** You won’t necessarily have access to everything. So even though you were authorized we might still deny access to certain resources. This depends on the roles asked for when the grant was issued.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "**Resource not found.** The resource you have been looking for does not exist.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "429": {
            "description": "**Too many requests.** You have made too many calls towards our API. You are over your quota. Need to wait a bit. Check info in the response headers.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "**Internal server error.** Something went wrong but the error has been logged. If you continue to see errors here, please contact api@e-conomic.com. Remember to include log id and agreement number when contacting support.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/EmployeeGroups/paged": {
      "get": {
        "tags": [
          "EmployeeGroups"
        ],
        "summary": "Retrieve a page of EmployeeGroups",
        "description": "Use this endpoint to load a page of EmployeeGroups.",
        "operationId": "GetPageOfEmployeeGroups",
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "description": "Use this parameter to set the filtering for fields. [Filtering instructions](#section/Retrieving-data/Filtering)",
            "schema": {
              "type": "string",
              "description": "Use this parameter to set the filtering for fields. [Filtering instructions](#section/Retrieving-data/Filtering)"
            }
          },
          {
            "name": "sort",
            "in": "query",
            "description": "Use this parameter to set the sort fields and direction. [Sort instructions](#section/Retrieving-data/Sorting)",
            "schema": {
              "type": "string",
              "description": "Use this parameter to set the sort fields and direction. [Sort instructions](#section/Retrieving-data/Sorting)"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Use this parameter to set the page size. [Pagination instructions](#section/Retrieving-data/Pagination)",
            "schema": {
              "maximum": 100,
              "minimum": 1,
              "type": "integer",
              "description": "Use this parameter to set the page size. [Pagination instructions](#section/Retrieving-data/Pagination)",
              "format": "int32",
              "default": 20
            }
          },
          {
            "name": "skipPages",
            "in": "query",
            "description": "Use this parameter to set number of pages to skip. [Pagination instructions](#section/Retrieving-data/Pagination)",
            "schema": {
              "maximum": 100,
              "minimum": 0,
              "type": "integer",
              "description": "Use this parameter to set number of pages to skip. [Pagination instructions](#section/Retrieving-data/Pagination)",
              "format": "int32",
              "default": 0
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EmployeeGroup"
                  }
                }
              }
            }
          },
          "400": {
            "description": "**Bad request.** Your request does not pass our validation. Check the errors array for more details.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "**Unauthorized access.** Please take a look at https://apis.e-conomic.com and follow the links to help on authorization, or use the word demo for both tokens.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "**Access forbidden.** You won’t necessarily have access to everything. So even though you were authorized we might still deny access to certain resources. This depends on the roles asked for when the grant was issued.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "429": {
            "description": "**Too many requests.** You have made too many calls towards our API. You are over your quota. Need to wait a bit. Check info in the response headers.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "**Internal server error.** Something went wrong but the error has been logged. If you continue to see errors here, please contact api@e-conomic.com. Remember to include log id and agreement number when contacting support.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/EmployeeGroups/count": {
      "get": {
        "tags": [
          "EmployeeGroups"
        ],
        "summary": "Retrieve the number of EmployeeGroups",
        "description": "Call this endpoint to get the number of EmployeeGroups. You can use filtering as well.",
        "operationId": "GetNumberOfEmployeeGroups",
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "description": "Use this parameter to set the filtering for fields. [Filtering instructions](#section/Retrieving-data/Filtering)",
            "schema": {
              "type": "string",
              "description": "Use this parameter to set the filtering for fields. [Filtering instructions](#section/Retrieving-data/Filtering)"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            }
          },
          "400": {
            "description": "**Bad request.** Your request does not pass our validation. Check the errors array for more details.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "**Unauthorized access.** Please take a look at https://apis.e-conomic.com and follow the links to help on authorization, or use the word demo for both tokens.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "**Access forbidden.** You won’t necessarily have access to everything. So even though you were authorized we might still deny access to certain resources. This depends on the roles asked for when the grant was issued.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "429": {
            "description": "**Too many requests.** You have made too many calls towards our API. You are over your quota. Need to wait a bit. Check info in the response headers.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "**Internal server error.** Something went wrong but the error has been logged. If you continue to see errors here, please contact api@e-conomic.com. Remember to include log id and agreement number when contacting support.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/Employees": {
      "get": {
        "tags": [
          "Employees"
        ],
        "summary": "Retrieve all Employees",
        "description": "Use this endpoint to retrieve all Employees in bulk. <br/>The maximum number of items returned in a single call is defined in the `x-cursor-page-size` extension of the response type. Usually, the size is 1000, but in some cases, where we explicitly state so, it can be smaller than that.<br/>Use the continuation cursor parameter to set the cursor for retrieval of the next set of data.<br/>Please check the [pagination instructions](#section/Retrieving-data/Pagination).",
        "operationId": "GetAllEmployees",
        "parameters": [
          {
            "name": "cursor",
            "in": "query",
            "description": "Use this parameter to set the continuation cursor for paging. [Pagination instructions](#section/Retrieving-data/Pagination)",
            "schema": {
              "maxLength": 50,
              "minLength": 0,
              "type": "string",
              "description": "Use this parameter to set the continuation cursor for paging. [Pagination instructions](#section/Retrieving-data/Pagination)"
            }
          },
          {
            "name": "filter",
            "in": "query",
            "description": "Use this parameter to set the filtering for fields. [filtering instructions](#section/Retrieving-data/Filtering)",
            "schema": {
              "type": "string",
              "description": "Use this parameter to set the filtering for fields. [filtering instructions](#section/Retrieving-data/Filtering)"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Array of objects along with a cursor.",
                  "$ref": "#/components/schemas/EmployeeCursorResults"
                }
              }
            }
          },
          "400": {
            "description": "**Bad request.** Your request does not pass our validation. Check the errors array for more details.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "**Unauthorized access.** Please take a look at https://apis.e-conomic.com and follow the links to help on authorization, or use the word demo for both tokens.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "**Access forbidden.** You won’t necessarily have access to everything. So even though you were authorized we might still deny access to certain resources. This depends on the roles asked for when the grant was issued.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "429": {
            "description": "**Too many requests.** You have made too many calls towards our API. You are over your quota. Need to wait a bit. Check info in the response headers.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "**Internal server error.** Something went wrong but the error has been logged. If you continue to see errors here, please contact api@e-conomic.com. Remember to include log id and agreement number when contacting support.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Employees"
        ],
        "summary": "Create a single Employee",
        "description": "Use this endpoint to create a single Employee.",
        "operationId": "CreateEmployee",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Employee"
              },
              "example": {
                "number": 0,
                "groupNumber": 0,
                "name": "string",
                "isBarred": false
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreatedResult"
                }
              }
            }
          },
          "400": {
            "description": "**Bad request.** Your request does not pass our validation. Check the errors array for more details.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "**Unauthorized access.** Please take a look at https://apis.e-conomic.com and follow the links to help on authorization, or use the word demo for both tokens.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "**Access forbidden.** You won’t necessarily have access to everything. So even though you were authorized we might still deny access to certain resources. This depends on the roles asked for when the grant was issued.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "429": {
            "description": "**Too many requests.** You have made too many calls towards our API. You are over your quota. Need to wait a bit. Check info in the response headers.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "**Internal server error.** Something went wrong but the error has been logged. If you continue to see errors here, please contact api@e-conomic.com. Remember to include log id and agreement number when contacting support.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Employees"
        ],
        "summary": "Update a single Employee",
        "description": "Use this endpoint to update a single Employee.",
        "operationId": "UpdateEmployeeById",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Employee"
              },
              "example": {
                "number": 0,
                "groupNumber": 0,
                "name": "string",
                "isBarred": false
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "**Bad request.** Your request does not pass our validation. Check the errors array for more details.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "**Unauthorized access.** Please take a look at https://apis.e-conomic.com and follow the links to help on authorization, or use the word demo for both tokens.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "**Access forbidden.** You won’t necessarily have access to everything. So even though you were authorized we might still deny access to certain resources. This depends on the roles asked for when the grant was issued.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "**Resource not found.** The resource you have been looking for does not exist.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "**Update conflict. Object version does not match.** The resource has been updated by another user. Retrieve the resource/object and try the update again. This is needed in order to prevent you from rolling back another user's update.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "429": {
            "description": "**Too many requests.** You have made too many calls towards our API. You are over your quota. Need to wait a bit. Check info in the response headers.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "**Internal server error.** Something went wrong but the error has been logged. If you continue to see errors here, please contact api@e-conomic.com. Remember to include log id and agreement number when contacting support.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/Employees/paged": {
      "get": {
        "tags": [
          "Employees"
        ],
        "summary": "Retrieve a page of Employees",
        "description": "Use this endpoint to load a page of Employees.",
        "operationId": "GetPageOfEmployees",
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "description": "Use this parameter to set the filtering for fields. [Filtering instructions](#section/Retrieving-data/Filtering)",
            "schema": {
              "type": "string",
              "description": "Use this parameter to set the filtering for fields. [Filtering instructions](#section/Retrieving-data/Filtering)"
            }
          },
          {
            "name": "sort",
            "in": "query",
            "description": "Use this parameter to set the sort fields and direction. [Sort instructions](#section/Retrieving-data/Sorting)",
            "schema": {
              "type": "string",
              "description": "Use this parameter to set the sort fields and direction. [Sort instructions](#section/Retrieving-data/Sorting)"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Use this parameter to set the page size. [Pagination instructions](#section/Retrieving-data/Pagination)",
            "schema": {
              "maximum": 100,
              "minimum": 1,
              "type": "integer",
              "description": "Use this parameter to set the page size. [Pagination instructions](#section/Retrieving-data/Pagination)",
              "format": "int32",
              "default": 20
            }
          },
          {
            "name": "skipPages",
            "in": "query",
            "description": "Use this parameter to set number of pages to skip. [Pagination instructions](#section/Retrieving-data/Pagination)",
            "schema": {
              "maximum": 100,
              "minimum": 0,
              "type": "integer",
              "description": "Use this parameter to set number of pages to skip. [Pagination instructions](#section/Retrieving-data/Pagination)",
              "format": "int32",
              "default": 0
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Employee"
                  }
                }
              }
            }
          },
          "400": {
            "description": "**Bad request.** Your request does not pass our validation. Check the errors array for more details.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "**Unauthorized access.** Please take a look at https://apis.e-conomic.com and follow the links to help on authorization, or use the word demo for both tokens.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "**Access forbidden.** You won’t necessarily have access to everything. So even though you were authorized we might still deny access to certain resources. This depends on the roles asked for when the grant was issued.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "429": {
            "description": "**Too many requests.** You have made too many calls towards our API. You are over your quota. Need to wait a bit. Check info in the response headers.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "**Internal server error.** Something went wrong but the error has been logged. If you continue to see errors here, please contact api@e-conomic.com. Remember to include log id and agreement number when contacting support.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/Employees/{number}": {
      "get": {
        "tags": [
          "Employees"
        ],
        "summary": "Retrieve single Employee",
        "description": "Use this endpoint to load a single Employee by number.",
        "operationId": "GetEmployeeById",
        "parameters": [
          {
            "name": "number",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Employee"
                }
              }
            }
          },
          "400": {
            "description": "**Bad request.** Your request does not pass our validation. Check the errors array for more details.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "**Unauthorized access.** Please take a look at https://apis.e-conomic.com and follow the links to help on authorization, or use the word demo for both tokens.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "**Access forbidden.** You won’t necessarily have access to everything. So even though you were authorized we might still deny access to certain resources. This depends on the roles asked for when the grant was issued.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "**Resource not found.** The resource you have been looking for does not exist.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "429": {
            "description": "**Too many requests.** You have made too many calls towards our API. You are over your quota. Need to wait a bit. Check info in the response headers.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "**Internal server error.** Something went wrong but the error has been logged. If you continue to see errors here, please contact api@e-conomic.com. Remember to include log id and agreement number when contacting support.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Employees"
        ],
        "summary": "Delete single Employee",
        "description": "Use this endpoint to delete a single Employee by number.",
        "operationId": "DeleteEmployeeById",
        "parameters": [
          {
            "name": "number",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "**Bad request.** Your request does not pass our validation. Check the errors array for more details.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "**Unauthorized access.** Please take a look at https://apis.e-conomic.com and follow the links to help on authorization, or use the word demo for both tokens.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "**Access forbidden.** You won’t necessarily have access to everything. So even though you were authorized we might still deny access to certain resources. This depends on the roles asked for when the grant was issued.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "**Resource not found.** The resource you have been looking for does not exist.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "429": {
            "description": "**Too many requests.** You have made too many calls towards our API. You are over your quota. Need to wait a bit. Check info in the response headers.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "**Internal server error.** Something went wrong but the error has been logged. If you continue to see errors here, please contact api@e-conomic.com. Remember to include log id and agreement number when contacting support.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/Employees/count": {
      "get": {
        "tags": [
          "Employees"
        ],
        "summary": "Retrieve the number of Employees",
        "description": "Call this endpoint to get the number of Employees. You can use filtering as well.",
        "operationId": "GetNumberOfEmployees",
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "description": "Use this parameter to set the filtering for fields. [Filtering instructions](#section/Retrieving-data/Filtering)",
            "schema": {
              "type": "string",
              "description": "Use this parameter to set the filtering for fields. [Filtering instructions](#section/Retrieving-data/Filtering)"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            }
          },
          "400": {
            "description": "**Bad request.** Your request does not pass our validation. Check the errors array for more details.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "**Unauthorized access.** Please take a look at https://apis.e-conomic.com and follow the links to help on authorization, or use the word demo for both tokens.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "**Access forbidden.** You won’t necessarily have access to everything. So even though you were authorized we might still deny access to certain resources. This depends on the roles asked for when the grant was issued.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "429": {
            "description": "**Too many requests.** You have made too many calls towards our API. You are over your quota. Need to wait a bit. Check info in the response headers.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "**Internal server error.** Something went wrong but the error has been logged. If you continue to see errors here, please contact api@e-conomic.com. Remember to include log id and agreement number when contacting support.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/MileagePrices/{number}": {
      "get": {
        "tags": [
          "MileagePrices"
        ],
        "summary": "Retrieve single MileagePrices",
        "description": "Use this endpoint to load a single MileagePrices by number.",
        "operationId": "GetMileagePricesById",
        "parameters": [
          {
            "name": "number",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MileagePrices"
                }
              }
            }
          },
          "400": {
            "description": "**Bad request.** Your request does not pass our validation. Check the errors array for more details.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "**Unauthorized access.** Please take a look at https://apis.e-conomic.com and follow the links to help on authorization, or use the word demo for both tokens.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "**Access forbidden.** You won’t necessarily have access to everything. So even though you were authorized we might still deny access to certain resources. This depends on the roles asked for when the grant was issued.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "**Resource not found.** The resource you have been looking for does not exist.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "429": {
            "description": "**Too many requests.** You have made too many calls towards our API. You are over your quota. Need to wait a bit. Check info in the response headers.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "**Internal server error.** Something went wrong but the error has been logged. If you continue to see errors here, please contact api@e-conomic.com. Remember to include log id and agreement number when contacting support.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/MileagePrices/paged": {
      "get": {
        "tags": [
          "MileagePrices"
        ],
        "summary": "Retrieve a page of MileagePrices",
        "description": "Use this endpoint to load a page of MileagePrices.",
        "operationId": "GetPageOfMileagePrices",
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "description": "Use this parameter to set the filtering for fields. [Filtering instructions](#section/Retrieving-data/Filtering)",
            "schema": {
              "type": "string",
              "description": "Use this parameter to set the filtering for fields. [Filtering instructions](#section/Retrieving-data/Filtering)"
            }
          },
          {
            "name": "sort",
            "in": "query",
            "description": "Use this parameter to set the sort fields and direction. [Sort instructions](#section/Retrieving-data/Sorting)",
            "schema": {
              "type": "string",
              "description": "Use this parameter to set the sort fields and direction. [Sort instructions](#section/Retrieving-data/Sorting)"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Use this parameter to set the page size. [Pagination instructions](#section/Retrieving-data/Pagination)",
            "schema": {
              "maximum": 100,
              "minimum": 1,
              "type": "integer",
              "description": "Use this parameter to set the page size. [Pagination instructions](#section/Retrieving-data/Pagination)",
              "format": "int32",
              "default": 20
            }
          },
          {
            "name": "skipPages",
            "in": "query",
            "description": "Use this parameter to set number of pages to skip. [Pagination instructions](#section/Retrieving-data/Pagination)",
            "schema": {
              "maximum": 100,
              "minimum": 0,
              "type": "integer",
              "description": "Use this parameter to set number of pages to skip. [Pagination instructions](#section/Retrieving-data/Pagination)",
              "format": "int32",
              "default": 0
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/MileagePrices"
                  }
                }
              }
            }
          },
          "400": {
            "description": "**Bad request.** Your request does not pass our validation. Check the errors array for more details.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "**Unauthorized access.** Please take a look at https://apis.e-conomic.com and follow the links to help on authorization, or use the word demo for both tokens.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "**Access forbidden.** You won’t necessarily have access to everything. So even though you were authorized we might still deny access to certain resources. This depends on the roles asked for when the grant was issued.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "429": {
            "description": "**Too many requests.** You have made too many calls towards our API. You are over your quota. Need to wait a bit. Check info in the response headers.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "**Internal server error.** Something went wrong but the error has been logged. If you continue to see errors here, please contact api@e-conomic.com. Remember to include log id and agreement number when contacting support.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/MileagePrices": {
      "get": {
        "tags": [
          "MileagePrices"
        ],
        "summary": "Retrieve all MileagePrices",
        "description": "Use this endpoint to retrieve all MileagePrices in bulk. <br/>The maximum number of items returned in a single call is defined in the `x-cursor-page-size` extension of the response type. Usually, the size is 1000, but in some cases, where we explicitly state so, it can be smaller than that.<br/>Use the continuation cursor parameter to set the cursor for retrieval of the next set of data.<br/>Please check the [pagination instructions](#section/Retrieving-data/Pagination).",
        "operationId": "GetAllMileagePrices",
        "parameters": [
          {
            "name": "cursor",
            "in": "query",
            "description": "Use this parameter to set the continuation cursor for paging. [Pagination instructions](#section/Retrieving-data/Pagination)",
            "schema": {
              "maxLength": 50,
              "minLength": 0,
              "type": "string",
              "description": "Use this parameter to set the continuation cursor for paging. [Pagination instructions](#section/Retrieving-data/Pagination)"
            }
          },
          {
            "name": "filter",
            "in": "query",
            "description": "Use this parameter to set the filtering for fields. [filtering instructions](#section/Retrieving-data/Filtering)",
            "schema": {
              "type": "string",
              "description": "Use this parameter to set the filtering for fields. [filtering instructions](#section/Retrieving-data/Filtering)"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Array of objects along with a cursor.",
                  "$ref": "#/components/schemas/MileagePricesCursorResults"
                }
              }
            }
          },
          "400": {
            "description": "**Bad request.** Your request does not pass our validation. Check the errors array for more details.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "**Unauthorized access.** Please take a look at https://apis.e-conomic.com and follow the links to help on authorization, or use the word demo for both tokens.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "**Access forbidden.** You won’t necessarily have access to everything. So even though you were authorized we might still deny access to certain resources. This depends on the roles asked for when the grant was issued.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "429": {
            "description": "**Too many requests.** You have made too many calls towards our API. You are over your quota. Need to wait a bit. Check info in the response headers.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "**Internal server error.** Something went wrong but the error has been logged. If you continue to see errors here, please contact api@e-conomic.com. Remember to include log id and agreement number when contacting support.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/Mileages/{number}": {
      "get": {
        "tags": [
          "Mileages"
        ],
        "summary": "Retrieve single Mileage",
        "description": "Use this endpoint to load a single Mileage by number.",
        "operationId": "GetMileageById",
        "parameters": [
          {
            "name": "number",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mileage"
                }
              }
            }
          },
          "400": {
            "description": "**Bad request.** Your request does not pass our validation. Check the errors array for more details.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "**Unauthorized access.** Please take a look at https://apis.e-conomic.com and follow the links to help on authorization, or use the word demo for both tokens.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "**Access forbidden.** You won’t necessarily have access to everything. So even though you were authorized we might still deny access to certain resources. This depends on the roles asked for when the grant was issued.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "**Resource not found.** The resource you have been looking for does not exist.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "429": {
            "description": "**Too many requests.** You have made too many calls towards our API. You are over your quota. Need to wait a bit. Check info in the response headers.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "**Internal server error.** Something went wrong but the error has been logged. If you continue to see errors here, please contact api@e-conomic.com. Remember to include log id and agreement number when contacting support.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Mileages"
        ],
        "summary": "Delete single Mileage",
        "description": "Use this endpoint to delete a single Mileage by number.",
        "operationId": "DeleteMileageById",
        "parameters": [
          {
            "name": "number",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "**Bad request.** Your request does not pass our validation. Check the errors array for more details.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "**Unauthorized access.** Please take a look at https://apis.e-conomic.com and follow the links to help on authorization, or use the word demo for both tokens.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "**Access forbidden.** You won’t necessarily have access to everything. So even though you were authorized we might still deny access to certain resources. This depends on the roles asked for when the grant was issued.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "**Resource not found.** The resource you have been looking for does not exist.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "429": {
            "description": "**Too many requests.** You have made too many calls towards our API. You are over your quota. Need to wait a bit. Check info in the response headers.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "**Internal server error.** Something went wrong but the error has been logged. If you continue to see errors here, please contact api@e-conomic.com. Remember to include log id and agreement number when contacting support.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/Mileages/paged": {
      "get": {
        "tags": [
          "Mileages"
        ],
        "summary": "Retrieve a page of Mileages",
        "description": "Use this endpoint to load a page of Mileages.",
        "operationId": "GetPageOfMileages",
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "description": "Use this parameter to set the filtering for fields. [Filtering instructions](#section/Retrieving-data/Filtering)",
            "schema": {
              "type": "string",
              "description": "Use this parameter to set the filtering for fields. [Filtering instructions](#section/Retrieving-data/Filtering)"
            }
          },
          {
            "name": "sort",
            "in": "query",
            "description": "Use this parameter to set the sort fields and direction. [Sort instructions](#section/Retrieving-data/Sorting)",
            "schema": {
              "type": "string",
              "description": "Use this parameter to set the sort fields and direction. [Sort instructions](#section/Retrieving-data/Sorting)"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Use this parameter to set the page size. [Pagination instructions](#section/Retrieving-data/Pagination)",
            "schema": {
              "maximum": 100,
              "minimum": 1,
              "type": "integer",
              "description": "Use this parameter to set the page size. [Pagination instructions](#section/Retrieving-data/Pagination)",
              "format": "int32",
              "default": 20
            }
          },
          {
            "name": "skipPages",
            "in": "query",
            "description": "Use this parameter to set number of pages to skip. [Pagination instructions](#section/Retrieving-data/Pagination)",
            "schema": {
              "maximum": 100,
              "minimum": 0,
              "type": "integer",
              "description": "Use this parameter to set number of pages to skip. [Pagination instructions](#section/Retrieving-data/Pagination)",
              "format": "int32",
              "default": 0
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Mileage"
                  }
                }
              }
            }
          },
          "400": {
            "description": "**Bad request.** Your request does not pass our validation. Check the errors array for more details.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "**Unauthorized access.** Please take a look at https://apis.e-conomic.com and follow the links to help on authorization, or use the word demo for both tokens.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "**Access forbidden.** You won’t necessarily have access to everything. So even though you were authorized we might still deny access to certain resources. This depends on the roles asked for when the grant was issued.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "429": {
            "description": "**Too many requests.** You have made too many calls towards our API. You are over your quota. Need to wait a bit. Check info in the response headers.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "**Internal server error.** Something went wrong but the error has been logged. If you continue to see errors here, please contact api@e-conomic.com. Remember to include log id and agreement number when contacting support.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/Mileages": {
      "get": {
        "tags": [
          "Mileages"
        ],
        "summary": "Retrieve all Mileages",
        "description": "Use this endpoint to retrieve all Mileages in bulk. <br/>The maximum number of items returned in a single call is defined in the `x-cursor-page-size` extension of the response type. Usually, the size is 1000, but in some cases, where we explicitly state so, it can be smaller than that.<br/>Use the continuation cursor parameter to set the cursor for retrieval of the next set of data.<br/>Please check the [pagination instructions](#section/Retrieving-data/Pagination).",
        "operationId": "GetAllMileages",
        "parameters": [
          {
            "name": "cursor",
            "in": "query",
            "description": "Use this parameter to set the continuation cursor for paging. [Pagination instructions](#section/Retrieving-data/Pagination)",
            "schema": {
              "maxLength": 50,
              "minLength": 0,
              "type": "string",
              "description": "Use this parameter to set the continuation cursor for paging. [Pagination instructions](#section/Retrieving-data/Pagination)"
            }
          },
          {
            "name": "filter",
            "in": "query",
            "description": "Use this parameter to set the filtering for fields. [filtering instructions](#section/Retrieving-data/Filtering)",
            "schema": {
              "type": "string",
              "description": "Use this parameter to set the filtering for fields. [filtering instructions](#section/Retrieving-data/Filtering)"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Array of objects along with a cursor.",
                  "$ref": "#/components/schemas/MileageCursorResults"
                }
              }
            }
          },
          "400": {
            "description": "**Bad request.** Your request does not pass our validation. Check the errors array for more details.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "**Unauthorized access.** Please take a look at https://apis.e-conomic.com and follow the links to help on authorization, or use the word demo for both tokens.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "**Access forbidden.** You won’t necessarily have access to everything. So even though you were authorized we might still deny access to certain resources. This depends on the roles asked for when the grant was issued.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "429": {
            "description": "**Too many requests.** You have made too many calls towards our API. You are over your quota. Need to wait a bit. Check info in the response headers.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "**Internal server error.** Something went wrong but the error has been logged. If you continue to see errors here, please contact api@e-conomic.com. Remember to include log id and agreement number when contacting support.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Mileages"
        ],
        "summary": "Create a single Mileage",
        "description": "Use this endpoint to create a single Mileage.",
        "operationId": "CreateMileage",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Mileage"
              },
              "example": {
                "projectNumber": 0,
                "employeeNumber": 0,
                "date": "2019-08-24T14:15:22Z",
                "distance": 0.0
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreatedResult"
                }
              }
            }
          },
          "400": {
            "description": "**Bad request.** Your request does not pass our validation. Check the errors array for more details.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "**Unauthorized access.** Please take a look at https://apis.e-conomic.com and follow the links to help on authorization, or use the word demo for both tokens.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "**Access forbidden.** You won’t necessarily have access to everything. So even though you were authorized we might still deny access to certain resources. This depends on the roles asked for when the grant was issued.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "429": {
            "description": "**Too many requests.** You have made too many calls towards our API. You are over your quota. Need to wait a bit. Check info in the response headers.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "**Internal server error.** Something went wrong but the error has been logged. If you continue to see errors here, please contact api@e-conomic.com. Remember to include log id and agreement number when contacting support.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Mileages"
        ],
        "summary": "Update a single Mileage",
        "description": "Use this endpoint to update a single Mileage.",
        "operationId": "UpdateMileageById",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Mileage"
              },
              "example": {
                "projectNumber": 0,
                "employeeNumber": 0,
                "date": "2019-08-24T14:15:22Z",
                "distance": 0.0
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "**Bad request.** Your request does not pass our validation. Check the errors array for more details.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "**Unauthorized access.** Please take a look at https://apis.e-conomic.com and follow the links to help on authorization, or use the word demo for both tokens.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "**Access forbidden.** You won’t necessarily have access to everything. So even though you were authorized we might still deny access to certain resources. This depends on the roles asked for when the grant was issued.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "**Resource not found.** The resource you have been looking for does not exist.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "**Update conflict. Object version does not match.** The resource has been updated by another user. Retrieve the resource/object and try the update again. This is needed in order to prevent you from rolling back another user's update.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "429": {
            "description": "**Too many requests.** You have made too many calls towards our API. You are over your quota. Need to wait a bit. Check info in the response headers.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "**Internal server error.** Something went wrong but the error has been logged. If you continue to see errors here, please contact api@e-conomic.com. Remember to include log id and agreement number when contacting support.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/Mileages/count": {
      "get": {
        "tags": [
          "Mileages"
        ],
        "summary": "Retrieve the number of Mileages",
        "description": "Call this endpoint to get the number of Mileages. You can use filtering as well.",
        "operationId": "GetNumberOfMileages",
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "description": "Use this parameter to set the filtering for fields. [Filtering instructions](#section/Retrieving-data/Filtering)",
            "schema": {
              "type": "string",
              "description": "Use this parameter to set the filtering for fields. [Filtering instructions](#section/Retrieving-data/Filtering)"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            }
          },
          "400": {
            "description": "**Bad request.** Your request does not pass our validation. Check the errors array for more details.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "**Unauthorized access.** Please take a look at https://apis.e-conomic.com and follow the links to help on authorization, or use the word demo for both tokens.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "**Access forbidden.** You won’t necessarily have access to everything. So even though you were authorized we might still deny access to certain resources. This depends on the roles asked for when the grant was issued.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "429": {
            "description": "**Too many requests.** You have made too many calls towards our API. You are over your quota. Need to wait a bit. Check info in the response headers.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "**Internal server error.** Something went wrong but the error has been logged. If you continue to see errors here, please contact api@e-conomic.com. Remember to include log id and agreement number when contacting support.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/Mileages/approve": {
      "post": {
        "tags": [
          "Mileages"
        ],
        "summary": "Approve a list of Mileage entries",
        "description": "Use this endpoint to approve a list of Mileage entries.",
        "operationId": "ApproveMileageEntries",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MileageNumbersCollection"
              },
              "example": {
                "numbers": [
                  { }
                ]
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "**Bad request.** Your request does not pass our validation. Check the errors array for more details.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "**Unauthorized access.** Please take a look at https://apis.e-conomic.com and follow the links to help on authorization, or use the word demo for both tokens.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "**Access forbidden.** You won’t necessarily have access to everything. So even though you were authorized we might still deny access to certain resources. This depends on the roles asked for when the grant was issued.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "**Resource not found.** The resource you have been looking for does not exist.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "429": {
            "description": "**Too many requests.** You have made too many calls towards our API. You are over your quota. Need to wait a bit. Check info in the response headers.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "**Internal server error.** Something went wrong but the error has been logged. If you continue to see errors here, please contact api@e-conomic.com. Remember to include log id and agreement number when contacting support.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/project-activities/paged": {
      "get": {
        "tags": [
          "ProjectActivities"
        ],
        "summary": "Retrieve a page of ProjectActivities",
        "description": "Use this endpoint to load a page of ProjectActivities.",
        "operationId": "GetPageOfProjectActivities",
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "description": "Use this parameter to set the filtering for fields. [Filtering instructions](#section/Retrieving-data/Filtering)",
            "schema": {
              "type": "string",
              "description": "Use this parameter to set the filtering for fields. [Filtering instructions](#section/Retrieving-data/Filtering)"
            }
          },
          {
            "name": "sort",
            "in": "query",
            "description": "Use this parameter to set the sort fields and direction. [Sort instructions](#section/Retrieving-data/Sorting)",
            "schema": {
              "type": "string",
              "description": "Use this parameter to set the sort fields and direction. [Sort instructions](#section/Retrieving-data/Sorting)"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Use this parameter to set the page size. [Pagination instructions](#section/Retrieving-data/Pagination)",
            "schema": {
              "maximum": 100,
              "minimum": 1,
              "type": "integer",
              "description": "Use this parameter to set the page size. [Pagination instructions](#section/Retrieving-data/Pagination)",
              "format": "int32",
              "default": 20
            }
          },
          {
            "name": "skipPages",
            "in": "query",
            "description": "Use this parameter to set number of pages to skip. [Pagination instructions](#section/Retrieving-data/Pagination)",
            "schema": {
              "maximum": 100,
              "minimum": 0,
              "type": "integer",
              "description": "Use this parameter to set number of pages to skip. [Pagination instructions](#section/Retrieving-data/Pagination)",
              "format": "int32",
              "default": 0
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ProjectActivity"
                  }
                }
              }
            }
          },
          "400": {
            "description": "**Bad request.** Your request does not pass our validation. Check the errors array for more details.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "**Unauthorized access.** Please take a look at https://apis.e-conomic.com and follow the links to help on authorization, or use the word demo for both tokens.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "**Access forbidden.** You won’t necessarily have access to everything. So even though you were authorized we might still deny access to certain resources. This depends on the roles asked for when the grant was issued.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "429": {
            "description": "**Too many requests.** You have made too many calls towards our API. You are over your quota. Need to wait a bit. Check info in the response headers.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "**Internal server error.** Something went wrong but the error has been logged. If you continue to see errors here, please contact api@e-conomic.com. Remember to include log id and agreement number when contacting support.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/project-activities": {
      "get": {
        "tags": [
          "ProjectActivities"
        ],
        "summary": "Retrieve all ProjectActivities",
        "description": "Use this endpoint to retrieve all ProjectActivities in bulk. <br/>The maximum number of items returned in a single call is defined in the `x-cursor-page-size` extension of the response type. Usually, the size is 1000, but in some cases, where we explicitly state so, it can be smaller than that.<br/>Use the continuation cursor parameter to set the cursor for retrieval of the next set of data.<br/>Please check the [pagination instructions](#section/Retrieving-data/Pagination).",
        "operationId": "GetAllProjectActivities",
        "parameters": [
          {
            "name": "cursor",
            "in": "query",
            "description": "Use this parameter to set the continuation cursor for paging. [Pagination instructions](#section/Retrieving-data/Pagination)",
            "schema": {
              "maxLength": 50,
              "minLength": 0,
              "type": "string",
              "description": "Use this parameter to set the continuation cursor for paging. [Pagination instructions](#section/Retrieving-data/Pagination)"
            }
          },
          {
            "name": "filter",
            "in": "query",
            "description": "Use this parameter to set the filtering for fields. [filtering instructions](#section/Retrieving-data/Filtering)",
            "schema": {
              "type": "string",
              "description": "Use this parameter to set the filtering for fields. [filtering instructions](#section/Retrieving-data/Filtering)"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Array of objects along with a cursor.",
                  "$ref": "#/components/schemas/ProjectActivityCursorResults"
                }
              }
            }
          },
          "400": {
            "description": "**Bad request.** Your request does not pass our validation. Check the errors array for more details.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "**Unauthorized access.** Please take a look at https://apis.e-conomic.com and follow the links to help on authorization, or use the word demo for both tokens.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "**Access forbidden.** You won’t necessarily have access to everything. So even though you were authorized we might still deny access to certain resources. This depends on the roles asked for when the grant was issued.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "429": {
            "description": "**Too many requests.** You have made too many calls towards our API. You are over your quota. Need to wait a bit. Check info in the response headers.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "**Internal server error.** Something went wrong but the error has been logged. If you continue to see errors here, please contact api@e-conomic.com. Remember to include log id and agreement number when contacting support.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "ProjectActivities"
        ],
        "summary": "Create a single ProjectActivity",
        "description": "Use this endpoint to create a single ProjectActivity.",
        "operationId": "CreateProjectActivity",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ProjectActivity"
              },
              "example": {
                "projectNumber": 0,
                "activityNumber": 0
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreatedResult"
                }
              }
            }
          },
          "400": {
            "description": "**Bad request.** Your request does not pass our validation. Check the errors array for more details.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "**Unauthorized access.** Please take a look at https://apis.e-conomic.com and follow the links to help on authorization, or use the word demo for both tokens.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "**Access forbidden.** You won’t necessarily have access to everything. So even though you were authorized we might still deny access to certain resources. This depends on the roles asked for when the grant was issued.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "429": {
            "description": "**Too many requests.** You have made too many calls towards our API. You are over your quota. Need to wait a bit. Check info in the response headers.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "**Internal server error.** Something went wrong but the error has been logged. If you continue to see errors here, please contact api@e-conomic.com. Remember to include log id and agreement number when contacting support.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "ProjectActivities"
        ],
        "summary": "Update a single ProjectActivity",
        "description": "Use this endpoint to update a single ProjectActivity.",
        "operationId": "UpdateProjectActivityById",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ProjectActivity"
              },
              "example": {
                "projectNumber": 0,
                "activityNumber": 0
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "**Bad request.** Your request does not pass our validation. Check the errors array for more details.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "**Unauthorized access.** Please take a look at https://apis.e-conomic.com and follow the links to help on authorization, or use the word demo for both tokens.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "**Access forbidden.** You won’t necessarily have access to everything. So even though you were authorized we might still deny access to certain resources. This depends on the roles asked for when the grant was issued.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "**Resource not found.** The resource you have been looking for does not exist.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "**Update conflict. Object version does not match.** The resource has been updated by another user. Retrieve the resource/object and try the update again. This is needed in order to prevent you from rolling back another user's update.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "429": {
            "description": "**Too many requests.** You have made too many calls towards our API. You are over your quota. Need to wait a bit. Check info in the response headers.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "**Internal server error.** Something went wrong but the error has been logged. If you continue to see errors here, please contact api@e-conomic.com. Remember to include log id and agreement number when contacting support.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/project-activities/{number}": {
      "get": {
        "tags": [
          "ProjectActivities"
        ],
        "summary": "Retrieve single ProjectActivity",
        "description": "Use this endpoint to load a single ProjectActivity by number.",
        "operationId": "GetProjectActivityById",
        "parameters": [
          {
            "name": "number",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProjectActivity"
                }
              }
            }
          },
          "400": {
            "description": "**Bad request.** Your request does not pass our validation. Check the errors array for more details.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "**Unauthorized access.** Please take a look at https://apis.e-conomic.com and follow the links to help on authorization, or use the word demo for both tokens.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "**Access forbidden.** You won’t necessarily have access to everything. So even though you were authorized we might still deny access to certain resources. This depends on the roles asked for when the grant was issued.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "**Resource not found.** The resource you have been looking for does not exist.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "429": {
            "description": "**Too many requests.** You have made too many calls towards our API. You are over your quota. Need to wait a bit. Check info in the response headers.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "**Internal server error.** Something went wrong but the error has been logged. If you continue to see errors here, please contact api@e-conomic.com. Remember to include log id and agreement number when contacting support.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "ProjectActivities"
        ],
        "summary": "Delete single ProjectActivity",
        "description": "Use this endpoint to delete a single ProjectActivity by number.",
        "operationId": "DeleteProjectActivityById",
        "parameters": [
          {
            "name": "number",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "**Bad request.** Your request does not pass our validation. Check the errors array for more details.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "**Unauthorized access.** Please take a look at https://apis.e-conomic.com and follow the links to help on authorization, or use the word demo for both tokens.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "**Access forbidden.** You won’t necessarily have access to everything. So even though you were authorized we might still deny access to certain resources. This depends on the roles asked for when the grant was issued.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "**Resource not found.** The resource you have been looking for does not exist.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "429": {
            "description": "**Too many requests.** You have made too many calls towards our API. You are over your quota. Need to wait a bit. Check info in the response headers.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "**Internal server error.** Something went wrong but the error has been logged. If you continue to see errors here, please contact api@e-conomic.com. Remember to include log id and agreement number when contacting support.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/project-activities/count": {
      "get": {
        "tags": [
          "ProjectActivities"
        ],
        "summary": "Retrieve the number of ProjectActivities",
        "description": "Call this endpoint to get the number of ProjectActivities. You can use filtering as well.",
        "operationId": "GetNumberOfProjectActivities",
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "description": "Use this parameter to set the filtering for fields. [Filtering instructions](#section/Retrieving-data/Filtering)",
            "schema": {
              "type": "string",
              "description": "Use this parameter to set the filtering for fields. [Filtering instructions](#section/Retrieving-data/Filtering)"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            }
          },
          "400": {
            "description": "**Bad request.** Your request does not pass our validation. Check the errors array for more details.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "**Unauthorized access.** Please take a look at https://apis.e-conomic.com and follow the links to help on authorization, or use the word demo for both tokens.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "**Access forbidden.** You won’t necessarily have access to everything. So even though you were authorized we might still deny access to certain resources. This depends on the roles asked for when the grant was issued.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "429": {
            "description": "**Too many requests.** You have made too many calls towards our API. You are over your quota. Need to wait a bit. Check info in the response headers.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "**Internal server error.** Something went wrong but the error has been logged. If you continue to see errors here, please contact api@e-conomic.com. Remember to include log id and agreement number when contacting support.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/project-customers/{number}": {
      "get": {
        "tags": [
          "ProjectCustomers"
        ],
        "summary": "Retrieve single ProjectCustomer",
        "description": "Use this endpoint to load a single ProjectCustomer by number.",
        "operationId": "GetProjectCustomerById",
        "parameters": [
          {
            "name": "number",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProjectCustomer"
                }
              }
            }
          },
          "400": {
            "description": "**Bad request.** Your request does not pass our validation. Check the errors array for more details.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "**Unauthorized access.** Please take a look at https://apis.e-conomic.com and follow the links to help on authorization, or use the word demo for both tokens.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "**Access forbidden.** You won’t necessarily have access to everything. So even though you were authorized we might still deny access to certain resources. This depends on the roles asked for when the grant was issued.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "**Resource not found.** The resource you have been looking for does not exist.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "429": {
            "description": "**Too many requests.** You have made too many calls towards our API. You are over your quota. Need to wait a bit. Check info in the response headers.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "**Internal server error.** Something went wrong but the error has been logged. If you continue to see errors here, please contact api@e-conomic.com. Remember to include log id and agreement number when contacting support.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/project-customers/paged": {
      "get": {
        "tags": [
          "ProjectCustomers"
        ],
        "summary": "Retrieve a page of ProjectCustomers",
        "description": "Use this endpoint to load a page of ProjectCustomers.",
        "operationId": "GetPageOfProjectCustomers",
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "description": "Use this parameter to set the filtering for fields. [Filtering instructions](#section/Retrieving-data/Filtering)",
            "schema": {
              "type": "string",
              "description": "Use this parameter to set the filtering for fields. [Filtering instructions](#section/Retrieving-data/Filtering)"
            }
          },
          {
            "name": "sort",
            "in": "query",
            "description": "Use this parameter to set the sort fields and direction. [Sort instructions](#section/Retrieving-data/Sorting)",
            "schema": {
              "type": "string",
              "description": "Use this parameter to set the sort fields and direction. [Sort instructions](#section/Retrieving-data/Sorting)"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Use this parameter to set the page size. [Pagination instructions](#section/Retrieving-data/Pagination)",
            "schema": {
              "maximum": 100,
              "minimum": 1,
              "type": "integer",
              "description": "Use this parameter to set the page size. [Pagination instructions](#section/Retrieving-data/Pagination)",
              "format": "int32",
              "default": 20
            }
          },
          {
            "name": "skipPages",
            "in": "query",
            "description": "Use this parameter to set number of pages to skip. [Pagination instructions](#section/Retrieving-data/Pagination)",
            "schema": {
              "maximum": 100,
              "minimum": 0,
              "type": "integer",
              "description": "Use this parameter to set number of pages to skip. [Pagination instructions](#section/Retrieving-data/Pagination)",
              "format": "int32",
              "default": 0
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ProjectCustomer"
                  }
                }
              }
            }
          },
          "400": {
            "description": "**Bad request.** Your request does not pass our validation. Check the errors array for more details.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "**Unauthorized access.** Please take a look at https://apis.e-conomic.com and follow the links to help on authorization, or use the word demo for both tokens.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "**Access forbidden.** You won’t necessarily have access to everything. So even though you were authorized we might still deny access to certain resources. This depends on the roles asked for when the grant was issued.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "429": {
            "description": "**Too many requests.** You have made too many calls towards our API. You are over your quota. Need to wait a bit. Check info in the response headers.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "**Internal server error.** Something went wrong but the error has been logged. If you continue to see errors here, please contact api@e-conomic.com. Remember to include log id and agreement number when contacting support.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/project-customers": {
      "get": {
        "tags": [
          "ProjectCustomers"
        ],
        "summary": "Retrieve all ProjectCustomers",
        "description": "Use this endpoint to retrieve all ProjectCustomers in bulk. <br/>The maximum number of items returned in a single call is defined in the `x-cursor-page-size` extension of the response type. Usually, the size is 1000, but in some cases, where we explicitly state so, it can be smaller than that.<br/>Use the continuation cursor parameter to set the cursor for retrieval of the next set of data.<br/>Please check the [pagination instructions](#section/Retrieving-data/Pagination).",
        "operationId": "GetAllProjectCustomers",
        "parameters": [
          {
            "name": "cursor",
            "in": "query",
            "description": "Use this parameter to set the continuation cursor for paging. [Pagination instructions](#section/Retrieving-data/Pagination)",
            "schema": {
              "maxLength": 50,
              "minLength": 0,
              "type": "string",
              "description": "Use this parameter to set the continuation cursor for paging. [Pagination instructions](#section/Retrieving-data/Pagination)"
            }
          },
          {
            "name": "filter",
            "in": "query",
            "description": "Use this parameter to set the filtering for fields. [filtering instructions](#section/Retrieving-data/Filtering)",
            "schema": {
              "type": "string",
              "description": "Use this parameter to set the filtering for fields. [filtering instructions](#section/Retrieving-data/Filtering)"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Array of objects along with a cursor.",
                  "$ref": "#/components/schemas/ProjectCustomerCursorResults"
                }
              }
            }
          },
          "400": {
            "description": "**Bad request.** Your request does not pass our validation. Check the errors array for more details.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "**Unauthorized access.** Please take a look at https://apis.e-conomic.com and follow the links to help on authorization, or use the word demo for both tokens.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "**Access forbidden.** You won’t necessarily have access to everything. So even though you were authorized we might still deny access to certain resources. This depends on the roles asked for when the grant was issued.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "429": {
            "description": "**Too many requests.** You have made too many calls towards our API. You are over your quota. Need to wait a bit. Check info in the response headers.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "**Internal server error.** Something went wrong but the error has been logged. If you continue to see errors here, please contact api@e-conomic.com. Remember to include log id and agreement number when contacting support.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/project-customers/count": {
      "get": {
        "tags": [
          "ProjectCustomers"
        ],
        "summary": "Retrieve the number of ProjectCustomers",
        "description": "Call this endpoint to get the number of ProjectCustomers. You can use filtering as well.",
        "operationId": "GetNumberOfProjectCustomers",
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "description": "Use this parameter to set the filtering for fields. [Filtering instructions](#section/Retrieving-data/Filtering)",
            "schema": {
              "type": "string",
              "description": "Use this parameter to set the filtering for fields. [Filtering instructions](#section/Retrieving-data/Filtering)"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            }
          },
          "400": {
            "description": "**Bad request.** Your request does not pass our validation. Check the errors array for more details.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "**Unauthorized access.** Please take a look at https://apis.e-conomic.com and follow the links to help on authorization, or use the word demo for both tokens.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "**Access forbidden.** You won’t necessarily have access to everything. So even though you were authorized we might still deny access to certain resources. This depends on the roles asked for when the grant was issued.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "429": {
            "description": "**Too many requests.** You have made too many calls towards our API. You are over your quota. Need to wait a bit. Check info in the response headers.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "**Internal server error.** Something went wrong but the error has been logged. If you continue to see errors here, please contact api@e-conomic.com. Remember to include log id and agreement number when contacting support.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/project-employeegroups": {
      "get": {
        "tags": [
          "ProjectEmployeeGroups"
        ],
        "summary": "Retrieve all ProjectEmployeeGroups",
        "description": "Use this endpoint to retrieve all ProjectEmployeeGroups in bulk. <br/>The maximum number of items returned in a single call is defined in the `x-cursor-page-size` extension of the response type. Usually, the size is 1000, but in some cases, where we explicitly state so, it can be smaller than that.<br/>Use the continuation cursor parameter to set the cursor for retrieval of the next set of data.<br/>Please check the [pagination instructions](#section/Retrieving-data/Pagination).",
        "operationId": "GetAllProjectEmployeeGroups",
        "parameters": [
          {
            "name": "cursor",
            "in": "query",
            "description": "Use this parameter to set the continuation cursor for paging. [Pagination instructions](#section/Retrieving-data/Pagination)",
            "schema": {
              "maxLength": 50,
              "minLength": 0,
              "type": "string",
              "description": "Use this parameter to set the continuation cursor for paging. [Pagination instructions](#section/Retrieving-data/Pagination)"
            }
          },
          {
            "name": "filter",
            "in": "query",
            "description": "Use this parameter to set the filtering for fields. [filtering instructions](#section/Retrieving-data/Filtering)",
            "schema": {
              "type": "string",
              "description": "Use this parameter to set the filtering for fields. [filtering instructions](#section/Retrieving-data/Filtering)"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Array of objects along with a cursor.",
                  "$ref": "#/components/schemas/ProjectEmployeeGroupCursorResults"
                }
              }
            }
          },
          "400": {
            "description": "**Bad request.** Your request does not pass our validation. Check the errors array for more details.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "**Unauthorized access.** Please take a look at https://apis.e-conomic.com and follow the links to help on authorization, or use the word demo for both tokens.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "**Access forbidden.** You won’t necessarily have access to everything. So even though you were authorized we might still deny access to certain resources. This depends on the roles asked for when the grant was issued.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "429": {
            "description": "**Too many requests.** You have made too many calls towards our API. You are over your quota. Need to wait a bit. Check info in the response headers.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "**Internal server error.** Something went wrong but the error has been logged. If you continue to see errors here, please contact api@e-conomic.com. Remember to include log id and agreement number when contacting support.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "ProjectEmployeeGroups"
        ],
        "summary": "Create a single ProjectEmployeeGroup",
        "description": "Use this endpoint to create a single ProjectEmployeeGroup.",
        "operationId": "CreateProjectEmployeeGroup",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ProjectEmployeeGroup"
              },
              "example": {
                "number": 0,
                "name": "string"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreatedResult"
                }
              }
            }
          },
          "400": {
            "description": "**Bad request.** Your request does not pass our validation. Check the errors array for more details.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "**Unauthorized access.** Please take a look at https://apis.e-conomic.com and follow the links to help on authorization, or use the word demo for both tokens.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "**Access forbidden.** You won’t necessarily have access to everything. So even though you were authorized we might still deny access to certain resources. This depends on the roles asked for when the grant was issued.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "429": {
            "description": "**Too many requests.** You have made too many calls towards our API. You are over your quota. Need to wait a bit. Check info in the response headers.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "**Internal server error.** Something went wrong but the error has been logged. If you continue to see errors here, please contact api@e-conomic.com. Remember to include log id and agreement number when contacting support.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "ProjectEmployeeGroups"
        ],
        "summary": "Update a single ProjectEmployeeGroup",
        "description": "Use this endpoint to update a single ProjectEmployeeGroup.",
        "operationId": "UpdateProjectEmployeeGroupById",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ProjectEmployeeGroup"
              },
              "example": {
                "number": 0,
                "name": "string"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "**Bad request.** Your request does not pass our validation. Check the errors array for more details.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "**Unauthorized access.** Please take a look at https://apis.e-conomic.com and follow the links to help on authorization, or use the word demo for both tokens.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "**Access forbidden.** You won’t necessarily have access to everything. So even though you were authorized we might still deny access to certain resources. This depends on the roles asked for when the grant was issued.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "**Resource not found.** The resource you have been looking for does not exist.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "**Update conflict. Object version does not match.** The resource has been updated by another user. Retrieve the resource/object and try the update again. This is needed in order to prevent you from rolling back another user's update.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "429": {
            "description": "**Too many requests.** You have made too many calls towards our API. You are over your quota. Need to wait a bit. Check info in the response headers.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "**Internal server error.** Something went wrong but the error has been logged. If you continue to see errors here, please contact api@e-conomic.com. Remember to include log id and agreement number when contacting support.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/project-employeegroups/{number}": {
      "get": {
        "tags": [
          "ProjectEmployeeGroups"
        ],
        "summary": "Retrieve single ProjectEmployeeGroup",
        "description": "Use this endpoint to load a single ProjectEmployeeGroup by number.",
        "operationId": "GetProjectEmployeeGroupById",
        "parameters": [
          {
            "name": "number",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProjectEmployeeGroup"
                }
              }
            }
          },
          "400": {
            "description": "**Bad request.** Your request does not pass our validation. Check the errors array for more details.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "**Unauthorized access.** Please take a look at https://apis.e-conomic.com and follow the links to help on authorization, or use the word demo for both tokens.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "**Access forbidden.** You won’t necessarily have access to everything. So even though you were authorized we might still deny access to certain resources. This depends on the roles asked for when the grant was issued.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "**Resource not found.** The resource you have been looking for does not exist.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "429": {
            "description": "**Too many requests.** You have made too many calls towards our API. You are over your quota. Need to wait a bit. Check info in the response headers.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "**Internal server error.** Something went wrong but the error has been logged. If you continue to see errors here, please contact api@e-conomic.com. Remember to include log id and agreement number when contacting support.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "ProjectEmployeeGroups"
        ],
        "summary": "Delete single ProjectEmployeeGroup",
        "description": "Use this endpoint to delete a single ProjectEmployeeGroup by number.",
        "operationId": "DeleteProjectEmployeeGroupById",
        "parameters": [
          {
            "name": "number",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "**Bad request.** Your request does not pass our validation. Check the errors array for more details.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "**Unauthorized access.** Please take a look at https://apis.e-conomic.com and follow the links to help on authorization, or use the word demo for both tokens.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "**Access forbidden.** You won’t necessarily have access to everything. So even though you were authorized we might still deny access to certain resources. This depends on the roles asked for when the grant was issued.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "**Resource not found.** The resource you have been looking for does not exist.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "429": {
            "description": "**Too many requests.** You have made too many calls towards our API. You are over your quota. Need to wait a bit. Check info in the response headers.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "**Internal server error.** Something went wrong but the error has been logged. If you continue to see errors here, please contact api@e-conomic.com. Remember to include log id and agreement number when contacting support.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/project-employeegroups/paged": {
      "get": {
        "tags": [
          "ProjectEmployeeGroups"
        ],
        "summary": "Retrieve a page of ProjectEmployeeGroups",
        "description": "Use this endpoint to load a page of ProjectEmployeeGroups.",
        "operationId": "GetPageOfProjectEmployeeGroups",
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "description": "Use this parameter to set the filtering for fields. [Filtering instructions](#section/Retrieving-data/Filtering)",
            "schema": {
              "type": "string",
              "description": "Use this parameter to set the filtering for fields. [Filtering instructions](#section/Retrieving-data/Filtering)"
            }
          },
          {
            "name": "sort",
            "in": "query",
            "description": "Use this parameter to set the sort fields and direction. [Sort instructions](#section/Retrieving-data/Sorting)",
            "schema": {
              "type": "string",
              "description": "Use this parameter to set the sort fields and direction. [Sort instructions](#section/Retrieving-data/Sorting)"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Use this parameter to set the page size. [Pagination instructions](#section/Retrieving-data/Pagination)",
            "schema": {
              "maximum": 100,
              "minimum": 1,
              "type": "integer",
              "description": "Use this parameter to set the page size. [Pagination instructions](#section/Retrieving-data/Pagination)",
              "format": "int32",
              "default": 20
            }
          },
          {
            "name": "skipPages",
            "in": "query",
            "description": "Use this parameter to set number of pages to skip. [Pagination instructions](#section/Retrieving-data/Pagination)",
            "schema": {
              "maximum": 100,
              "minimum": 0,
              "type": "integer",
              "description": "Use this parameter to set number of pages to skip. [Pagination instructions](#section/Retrieving-data/Pagination)",
              "format": "int32",
              "default": 0
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ProjectEmployeeGroup"
                  }
                }
              }
            }
          },
          "400": {
            "description": "**Bad request.** Your request does not pass our validation. Check the errors array for more details.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "**Unauthorized access.** Please take a look at https://apis.e-conomic.com and follow the links to help on authorization, or use the word demo for both tokens.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "**Access forbidden.** You won’t necessarily have access to everything. So even though you were authorized we might still deny access to certain resources. This depends on the roles asked for when the grant was issued.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "429": {
            "description": "**Too many requests.** You have made too many calls towards our API. You are over your quota. Need to wait a bit. Check info in the response headers.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "**Internal server error.** Something went wrong but the error has been logged. If you continue to see errors here, please contact api@e-conomic.com. Remember to include log id and agreement number when contacting support.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/project-employeegroups/count": {
      "get": {
        "tags": [
          "ProjectEmployeeGroups"
        ],
        "summary": "Retrieve the number of ProjectEmployeeGroups",
        "description": "Call this endpoint to get the number of ProjectEmployeeGroups. You can use filtering as well.",
        "operationId": "GetNumberOfProjectEmployeeGroups",
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "description": "Use this parameter to set the filtering for fields. [Filtering instructions](#section/Retrieving-data/Filtering)",
            "schema": {
              "type": "string",
              "description": "Use this parameter to set the filtering for fields. [Filtering instructions](#section/Retrieving-data/Filtering)"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            }
          },
          "400": {
            "description": "**Bad request.** Your request does not pass our validation. Check the errors array for more details.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "**Unauthorized access.** Please take a look at https://apis.e-conomic.com and follow the links to help on authorization, or use the word demo for both tokens.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "**Access forbidden.** You won’t necessarily have access to everything. So even though you were authorized we might still deny access to certain resources. This depends on the roles asked for when the grant was issued.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "429": {
            "description": "**Too many requests.** You have made too many calls towards our API. You are over your quota. Need to wait a bit. Check info in the response headers.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "**Internal server error.** Something went wrong but the error has been logged. If you continue to see errors here, please contact api@e-conomic.com. Remember to include log id and agreement number when contacting support.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/project-employees": {
      "get": {
        "tags": [
          "ProjectEmployees"
        ],
        "summary": "Retrieve all ProjectEmployees",
        "description": "Use this endpoint to retrieve all ProjectEmployees in bulk. <br/>The maximum number of items returned in a single call is defined in the `x-cursor-page-size` extension of the response type. Usually, the size is 1000, but in some cases, where we explicitly state so, it can be smaller than that.<br/>Use the continuation cursor parameter to set the cursor for retrieval of the next set of data.<br/>Please check the [pagination instructions](#section/Retrieving-data/Pagination).",
        "operationId": "GetAllProjectEmployees",
        "parameters": [
          {
            "name": "cursor",
            "in": "query",
            "description": "Use this parameter to set the continuation cursor for paging. [Pagination instructions](#section/Retrieving-data/Pagination)",
            "schema": {
              "maxLength": 50,
              "minLength": 0,
              "type": "string",
              "description": "Use this parameter to set the continuation cursor for paging. [Pagination instructions](#section/Retrieving-data/Pagination)"
            }
          },
          {
            "name": "filter",
            "in": "query",
            "description": "Use this parameter to set the filtering for fields. [filtering instructions](#section/Retrieving-data/Filtering)",
            "schema": {
              "type": "string",
              "description": "Use this parameter to set the filtering for fields. [filtering instructions](#section/Retrieving-data/Filtering)"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Array of objects along with a cursor.",
                  "$ref": "#/components/schemas/ProjectEmployeeCursorResults"
                }
              }
            }
          },
          "400": {
            "description": "**Bad request.** Your request does not pass our validation. Check the errors array for more details.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "**Unauthorized access.** Please take a look at https://apis.e-conomic.com and follow the links to help on authorization, or use the word demo for both tokens.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "**Access forbidden.** You won’t necessarily have access to everything. So even though you were authorized we might still deny access to certain resources. This depends on the roles asked for when the grant was issued.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "429": {
            "description": "**Too many requests.** You have made too many calls towards our API. You are over your quota. Need to wait a bit. Check info in the response headers.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "**Internal server error.** Something went wrong but the error has been logged. If you continue to see errors here, please contact api@e-conomic.com. Remember to include log id and agreement number when contacting support.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "ProjectEmployees"
        ],
        "summary": "Create a single ProjectEmployee",
        "description": "Use this endpoint to create a single ProjectEmployee.",
        "operationId": "CreateProjectEmployee",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ProjectEmployee"
              },
              "example": {
                "number": 0,
                "groupNumber": 0,
                "name": "string",
                "canApprove": false,
                "canInvoice": false,
                "isBarred": false
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreatedResult"
                }
              }
            }
          },
          "400": {
            "description": "**Bad request.** Your request does not pass our validation. Check the errors array for more details.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "**Unauthorized access.** Please take a look at https://apis.e-conomic.com and follow the links to help on authorization, or use the word demo for both tokens.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "**Access forbidden.** You won’t necessarily have access to everything. So even though you were authorized we might still deny access to certain resources. This depends on the roles asked for when the grant was issued.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "429": {
            "description": "**Too many requests.** You have made too many calls towards our API. You are over your quota. Need to wait a bit. Check info in the response headers.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "**Internal server error.** Something went wrong but the error has been logged. If you continue to see errors here, please contact api@e-conomic.com. Remember to include log id and agreement number when contacting support.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "ProjectEmployees"
        ],
        "summary": "Update a single ProjectEmployee",
        "description": "Use this endpoint to update a single ProjectEmployee.",
        "operationId": "UpdateProjectEmployeeById",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ProjectEmployee"
              },
              "example": {
                "number": 0,
                "groupNumber": 0,
                "name": "string",
                "canApprove": false,
                "canInvoice": false,
                "isBarred": false
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "**Bad request.** Your request does not pass our validation. Check the errors array for more details.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "**Unauthorized access.** Please take a look at https://apis.e-conomic.com and follow the links to help on authorization, or use the word demo for both tokens.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "**Access forbidden.** You won’t necessarily have access to everything. So even though you were authorized we might still deny access to certain resources. This depends on the roles asked for when the grant was issued.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "**Resource not found.** The resource you have been looking for does not exist.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "**Update conflict. Object version does not match.** The resource has been updated by another user. Retrieve the resource/object and try the update again. This is needed in order to prevent you from rolling back another user's update.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "429": {
            "description": "**Too many requests.** You have made too many calls towards our API. You are over your quota. Need to wait a bit. Check info in the response headers.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "**Internal server error.** Something went wrong but the error has been logged. If you continue to see errors here, please contact api@e-conomic.com. Remember to include log id and agreement number when contacting support.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/project-employees/count": {
      "get": {
        "tags": [
          "ProjectEmployees"
        ],
        "summary": "Retrieve the number of ProjectEmployees",
        "description": "Call this endpoint to get the number of ProjectEmployees. You can use filtering as well.",
        "operationId": "GetNumberOfProjectEmployees",
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "description": "Use this parameter to set the filtering for fields. [Filtering instructions](#section/Retrieving-data/Filtering)",
            "schema": {
              "type": "string",
              "description": "Use this parameter to set the filtering for fields. [Filtering instructions](#section/Retrieving-data/Filtering)"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            }
          },
          "400": {
            "description": "**Bad request.** Your request does not pass our validation. Check the errors array for more details.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "**Unauthorized access.** Please take a look at https://apis.e-conomic.com and follow the links to help on authorization, or use the word demo for both tokens.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "**Access forbidden.** You won’t necessarily have access to everything. So even though you were authorized we might still deny access to certain resources. This depends on the roles asked for when the grant was issued.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "429": {
            "description": "**Too many requests.** You have made too many calls towards our API. You are over your quota. Need to wait a bit. Check info in the response headers.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "**Internal server error.** Something went wrong but the error has been logged. If you continue to see errors here, please contact api@e-conomic.com. Remember to include log id and agreement number when contacting support.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/project-employees/paged": {
      "get": {
        "tags": [
          "ProjectEmployees"
        ],
        "summary": "Retrieve a page of ProjectEmployees",
        "description": "Use this endpoint to load a page of ProjectEmployees.",
        "operationId": "GetPageOfProjectEmployees",
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "description": "Use this parameter to set the filtering for fields. [Filtering instructions](#section/Retrieving-data/Filtering)",
            "schema": {
              "type": "string",
              "description": "Use this parameter to set the filtering for fields. [Filtering instructions](#section/Retrieving-data/Filtering)"
            }
          },
          {
            "name": "sort",
            "in": "query",
            "description": "Use this parameter to set the sort fields and direction. [Sort instructions](#section/Retrieving-data/Sorting)",
            "schema": {
              "type": "string",
              "description": "Use this parameter to set the sort fields and direction. [Sort instructions](#section/Retrieving-data/Sorting)"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Use this parameter to set the page size. [Pagination instructions](#section/Retrieving-data/Pagination)",
            "schema": {
              "maximum": 100,
              "minimum": 1,
              "type": "integer",
              "description": "Use this parameter to set the page size. [Pagination instructions](#section/Retrieving-data/Pagination)",
              "format": "int32",
              "default": 20
            }
          },
          {
            "name": "skipPages",
            "in": "query",
            "description": "Use this parameter to set number of pages to skip. [Pagination instructions](#section/Retrieving-data/Pagination)",
            "schema": {
              "maximum": 100,
              "minimum": 0,
              "type": "integer",
              "description": "Use this parameter to set number of pages to skip. [Pagination instructions](#section/Retrieving-data/Pagination)",
              "format": "int32",
              "default": 0
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ProjectEmployee"
                  }
                }
              }
            }
          },
          "400": {
            "description": "**Bad request.** Your request does not pass our validation. Check the errors array for more details.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "**Unauthorized access.** Please take a look at https://apis.e-conomic.com and follow the links to help on authorization, or use the word demo for both tokens.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "**Access forbidden.** You won’t necessarily have access to everything. So even though you were authorized we might still deny access to certain resources. This depends on the roles asked for when the grant was issued.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "429": {
            "description": "**Too many requests.** You have made too many calls towards our API. You are over your quota. Need to wait a bit. Check info in the response headers.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "**Internal server error.** Something went wrong but the error has been logged. If you continue to see errors here, please contact api@e-conomic.com. Remember to include log id and agreement number when contacting support.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/project-employees/{number}": {
      "get": {
        "tags": [
          "ProjectEmployees"
        ],
        "summary": "Retrieve single ProjectEmployee",
        "description": "Use this endpoint to load a single ProjectEmployee by number.",
        "operationId": "GetProjectEmployeeById",
        "parameters": [
          {
            "name": "number",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProjectEmployee"
                }
              }
            }
          },
          "400": {
            "description": "**Bad request.** Your request does not pass our validation. Check the errors array for more details.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "**Unauthorized access.** Please take a look at https://apis.e-conomic.com and follow the links to help on authorization, or use the word demo for both tokens.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "**Access forbidden.** You won’t necessarily have access to everything. So even though you were authorized we might still deny access to certain resources. This depends on the roles asked for when the grant was issued.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "**Resource not found.** The resource you have been looking for does not exist.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "429": {
            "description": "**Too many requests.** You have made too many calls towards our API. You are over your quota. Need to wait a bit. Check info in the response headers.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "**Internal server error.** Something went wrong but the error has been logged. If you continue to see errors here, please contact api@e-conomic.com. Remember to include log id and agreement number when contacting support.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "ProjectEmployees"
        ],
        "summary": "Delete single ProjectEmployee",
        "description": "Use this endpoint to delete a single ProjectEmployee by number.",
        "operationId": "DeleteProjectEmployeeById",
        "parameters": [
          {
            "name": "number",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "**Bad request.** Your request does not pass our validation. Check the errors array for more details.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "**Unauthorized access.** Please take a look at https://apis.e-conomic.com and follow the links to help on authorization, or use the word demo for both tokens.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "**Access forbidden.** You won’t necessarily have access to everything. So even though you were authorized we might still deny access to certain resources. This depends on the roles asked for when the grant was issued.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "**Resource not found.** The resource you have been looking for does not exist.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "429": {
            "description": "**Too many requests.** You have made too many calls towards our API. You are over your quota. Need to wait a bit. Check info in the response headers.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "**Internal server error.** Something went wrong but the error has been logged. If you continue to see errors here, please contact api@e-conomic.com. Remember to include log id and agreement number when contacting support.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/ProjectGroups/paged": {
      "get": {
        "tags": [
          "ProjectGroups"
        ],
        "summary": "Retrieve a page of ProjectGroups",
        "description": "Use this endpoint to load a page of ProjectGroups.",
        "operationId": "GetPageOfProjectGroups",
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "description": "Use this parameter to set the filtering for fields. [Filtering instructions](#section/Retrieving-data/Filtering)",
            "schema": {
              "type": "string",
              "description": "Use this parameter to set the filtering for fields. [Filtering instructions](#section/Retrieving-data/Filtering)"
            }
          },
          {
            "name": "sort",
            "in": "query",
            "description": "Use this parameter to set the sort fields and direction. [Sort instructions](#section/Retrieving-data/Sorting)",
            "schema": {
              "type": "string",
              "description": "Use this parameter to set the sort fields and direction. [Sort instructions](#section/Retrieving-data/Sorting)"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Use this parameter to set the page size. [Pagination instructions](#section/Retrieving-data/Pagination)",
            "schema": {
              "maximum": 100,
              "minimum": 1,
              "type": "integer",
              "description": "Use this parameter to set the page size. [Pagination instructions](#section/Retrieving-data/Pagination)",
              "format": "int32",
              "default": 20
            }
          },
          {
            "name": "skipPages",
            "in": "query",
            "description": "Use this parameter to set number of pages to skip. [Pagination instructions](#section/Retrieving-data/Pagination)",
            "schema": {
              "maximum": 100,
              "minimum": 0,
              "type": "integer",
              "description": "Use this parameter to set number of pages to skip. [Pagination instructions](#section/Retrieving-data/Pagination)",
              "format": "int32",
              "default": 0
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ProjectGroup"
                  }
                }
              }
            }
          },
          "400": {
            "description": "**Bad request.** Your request does not pass our validation. Check the errors array for more details.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "**Unauthorized access.** Please take a look at https://apis.e-conomic.com and follow the links to help on authorization, or use the word demo for both tokens.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "**Access forbidden.** You won’t necessarily have access to everything. So even though you were authorized we might still deny access to certain resources. This depends on the roles asked for when the grant was issued.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "429": {
            "description": "**Too many requests.** You have made too many calls towards our API. You are over your quota. Need to wait a bit. Check info in the response headers.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "**Internal server error.** Something went wrong but the error has been logged. If you continue to see errors here, please contact api@e-conomic.com. Remember to include log id and agreement number when contacting support.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/ProjectGroups": {
      "get": {
        "tags": [
          "ProjectGroups"
        ],
        "summary": "Retrieve all ProjectGroups",
        "description": "Use this endpoint to retrieve all ProjectGroups in bulk. <br/>The maximum number of items returned in a single call is defined in the `x-cursor-page-size` extension of the response type. Usually, the size is 1000, but in some cases, where we explicitly state so, it can be smaller than that.<br/>Use the continuation cursor parameter to set the cursor for retrieval of the next set of data.<br/>Please check the [pagination instructions](#section/Retrieving-data/Pagination).",
        "operationId": "GetAllProjectGroups",
        "parameters": [
          {
            "name": "cursor",
            "in": "query",
            "description": "Use this parameter to set the continuation cursor for paging. [Pagination instructions](#section/Retrieving-data/Pagination)",
            "schema": {
              "maxLength": 50,
              "minLength": 0,
              "type": "string",
              "description": "Use this parameter to set the continuation cursor for paging. [Pagination instructions](#section/Retrieving-data/Pagination)"
            }
          },
          {
            "name": "filter",
            "in": "query",
            "description": "Use this parameter to set the filtering for fields. [filtering instructions](#section/Retrieving-data/Filtering)",
            "schema": {
              "type": "string",
              "description": "Use this parameter to set the filtering for fields. [filtering instructions](#section/Retrieving-data/Filtering)"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Array of objects along with a cursor.",
                  "$ref": "#/components/schemas/ProjectGroupCursorResults"
                }
              }
            }
          },
          "400": {
            "description": "**Bad request.** Your request does not pass our validation. Check the errors array for more details.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "**Unauthorized access.** Please take a look at https://apis.e-conomic.com and follow the links to help on authorization, or use the word demo for both tokens.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "**Access forbidden.** You won’t necessarily have access to everything. So even though you were authorized we might still deny access to certain resources. This depends on the roles asked for when the grant was issued.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "429": {
            "description": "**Too many requests.** You have made too many calls towards our API. You are over your quota. Need to wait a bit. Check info in the response headers.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "**Internal server error.** Something went wrong but the error has been logged. If you continue to see errors here, please contact api@e-conomic.com. Remember to include log id and agreement number when contacting support.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "ProjectGroups"
        ],
        "summary": "Create a single ProjectGroup",
        "description": "Use this endpoint to create a single ProjectGroup.",
        "operationId": "CreateProjectGroup",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ProjectGroup"
              },
              "example": {
                "name": "string",
                "type": 1
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreatedResult"
                }
              }
            }
          },
          "400": {
            "description": "**Bad request.** Your request does not pass our validation. Check the errors array for more details.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "**Unauthorized access.** Please take a look at https://apis.e-conomic.com and follow the links to help on authorization, or use the word demo for both tokens.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "**Access forbidden.** You won’t necessarily have access to everything. So even though you were authorized we might still deny access to certain resources. This depends on the roles asked for when the grant was issued.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "429": {
            "description": "**Too many requests.** You have made too many calls towards our API. You are over your quota. Need to wait a bit. Check info in the response headers.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "**Internal server error.** Something went wrong but the error has been logged. If you continue to see errors here, please contact api@e-conomic.com. Remember to include log id and agreement number when contacting support.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/ProjectGroups/count": {
      "get": {
        "tags": [
          "ProjectGroups"
        ],
        "summary": "Retrieve the number of ProjectGroups",
        "description": "Call this endpoint to get the number of ProjectGroups. You can use filtering as well.",
        "operationId": "GetNumberOfProjectGroups",
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "description": "Use this parameter to set the filtering for fields. [Filtering instructions](#section/Retrieving-data/Filtering)",
            "schema": {
              "type": "string",
              "description": "Use this parameter to set the filtering for fields. [Filtering instructions](#section/Retrieving-data/Filtering)"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            }
          },
          "400": {
            "description": "**Bad request.** Your request does not pass our validation. Check the errors array for more details.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "**Unauthorized access.** Please take a look at https://apis.e-conomic.com and follow the links to help on authorization, or use the word demo for both tokens.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "**Access forbidden.** You won’t necessarily have access to everything. So even though you were authorized we might still deny access to certain resources. This depends on the roles asked for when the grant was issued.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "429": {
            "description": "**Too many requests.** You have made too many calls towards our API. You are over your quota. Need to wait a bit. Check info in the response headers.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "**Internal server error.** Something went wrong but the error has been logged. If you continue to see errors here, please contact api@e-conomic.com. Remember to include log id and agreement number when contacting support.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/ProjectGroups/{number}": {
      "get": {
        "tags": [
          "ProjectGroups"
        ],
        "summary": "Retrieve single ProjectGroup",
        "description": "Use this endpoint to load a single ProjectGroup by number.",
        "operationId": "GetProjectGroupById",
        "parameters": [
          {
            "name": "number",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProjectGroup"
                }
              }
            }
          },
          "400": {
            "description": "**Bad request.** Your request does not pass our validation. Check the errors array for more details.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "**Unauthorized access.** Please take a look at https://apis.e-conomic.com and follow the links to help on authorization, or use the word demo for both tokens.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "**Access forbidden.** You won’t necessarily have access to everything. So even though you were authorized we might still deny access to certain resources. This depends on the roles asked for when the grant was issued.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "**Resource not found.** The resource you have been looking for does not exist.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "429": {
            "description": "**Too many requests.** You have made too many calls towards our API. You are over your quota. Need to wait a bit. Check info in the response headers.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "**Internal server error.** Something went wrong but the error has been logged. If you continue to see errors here, please contact api@e-conomic.com. Remember to include log id and agreement number when contacting support.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/Projects/paged": {
      "get": {
        "tags": [
          "Projects"
        ],
        "summary": "Retrieve a page of Projects",
        "description": "Use this endpoint to load a page of Projects.",
        "operationId": "GetPageOfProjects",
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "description": "Use this parameter to set the filtering for fields. [Filtering instructions](#section/Retrieving-data/Filtering)",
            "schema": {
              "type": "string",
              "description": "Use this parameter to set the filtering for fields. [Filtering instructions](#section/Retrieving-data/Filtering)"
            }
          },
          {
            "name": "sort",
            "in": "query",
            "description": "Use this parameter to set the sort fields and direction. [Sort instructions](#section/Retrieving-data/Sorting)",
            "schema": {
              "type": "string",
              "description": "Use this parameter to set the sort fields and direction. [Sort instructions](#section/Retrieving-data/Sorting)"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Use this parameter to set the page size. [Pagination instructions](#section/Retrieving-data/Pagination)",
            "schema": {
              "maximum": 100,
              "minimum": 1,
              "type": "integer",
              "description": "Use this parameter to set the page size. [Pagination instructions](#section/Retrieving-data/Pagination)",
              "format": "int32",
              "default": 20
            }
          },
          {
            "name": "skipPages",
            "in": "query",
            "description": "Use this parameter to set number of pages to skip. [Pagination instructions](#section/Retrieving-data/Pagination)",
            "schema": {
              "maximum": 100,
              "minimum": 0,
              "type": "integer",
              "description": "Use this parameter to set number of pages to skip. [Pagination instructions](#section/Retrieving-data/Pagination)",
              "format": "int32",
              "default": 0
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Project"
                  }
                }
              }
            }
          },
          "400": {
            "description": "**Bad request.** Your request does not pass our validation. Check the errors array for more details.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "**Unauthorized access.** Please take a look at https://apis.e-conomic.com and follow the links to help on authorization, or use the word demo for both tokens.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "**Access forbidden.** You won’t necessarily have access to everything. So even though you were authorized we might still deny access to certain resources. This depends on the roles asked for when the grant was issued.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "429": {
            "description": "**Too many requests.** You have made too many calls towards our API. You are over your quota. Need to wait a bit. Check info in the response headers.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "**Internal server error.** Something went wrong but the error has been logged. If you continue to see errors here, please contact api@e-conomic.com. Remember to include log id and agreement number when contacting support.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/Projects": {
      "get": {
        "tags": [
          "Projects"
        ],
        "summary": "Retrieve all Projects",
        "description": "Use this endpoint to retrieve all Projects in bulk. <br/>The maximum number of items returned in a single call is defined in the `x-cursor-page-size` extension of the response type. Usually, the size is 1000, but in some cases, where we explicitly state so, it can be smaller than that.<br/>Use the continuation cursor parameter to set the cursor for retrieval of the next set of data.<br/>Please check the [pagination instructions](#section/Retrieving-data/Pagination).",
        "operationId": "GetAllProjects",
        "parameters": [
          {
            "name": "cursor",
            "in": "query",
            "description": "Use this parameter to set the continuation cursor for paging. [Pagination instructions](#section/Retrieving-data/Pagination)",
            "schema": {
              "maxLength": 50,
              "minLength": 0,
              "type": "string",
              "description": "Use this parameter to set the continuation cursor for paging. [Pagination instructions](#section/Retrieving-data/Pagination)"
            }
          },
          {
            "name": "filter",
            "in": "query",
            "description": "Use this parameter to set the filtering for fields. [filtering instructions](#section/Retrieving-data/Filtering)",
            "schema": {
              "type": "string",
              "description": "Use this parameter to set the filtering for fields. [filtering instructions](#section/Retrieving-data/Filtering)"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Array of objects along with a cursor.",
                  "$ref": "#/components/schemas/ProjectCursorResults"
                }
              }
            }
          },
          "400": {
            "description": "**Bad request.** Your request does not pass our validation. Check the errors array for more details.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "**Unauthorized access.** Please take a look at https://apis.e-conomic.com and follow the links to help on authorization, or use the word demo for both tokens.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "**Access forbidden.** You won’t necessarily have access to everything. So even though you were authorized we might still deny access to certain resources. This depends on the roles asked for when the grant was issued.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "429": {
            "description": "**Too many requests.** You have made too many calls towards our API. You are over your quota. Need to wait a bit. Check info in the response headers.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "**Internal server error.** Something went wrong but the error has been logged. If you continue to see errors here, please contact api@e-conomic.com. Remember to include log id and agreement number when contacting support.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Projects"
        ],
        "summary": "Create a single Project",
        "description": "Use this endpoint to create a single Project.",
        "operationId": "CreateProject",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Project"
              },
              "example": {
                "name": "string",
                "projectGroupNumber": 0
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreatedResult"
                }
              }
            }
          },
          "400": {
            "description": "**Bad request.** Your request does not pass our validation. Check the errors array for more details.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "**Unauthorized access.** Please take a look at https://apis.e-conomic.com and follow the links to help on authorization, or use the word demo for both tokens.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "**Access forbidden.** You won’t necessarily have access to everything. So even though you were authorized we might still deny access to certain resources. This depends on the roles asked for when the grant was issued.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "429": {
            "description": "**Too many requests.** You have made too many calls towards our API. You are over your quota. Need to wait a bit. Check info in the response headers.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "**Internal server error.** Something went wrong but the error has been logged. If you continue to see errors here, please contact api@e-conomic.com. Remember to include log id and agreement number when contacting support.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Projects"
        ],
        "summary": "Update a single Project",
        "description": "Use this endpoint to update a single Project.",
        "operationId": "UpdateProjectById",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Project"
              },
              "example": {
                "name": "string",
                "projectGroupNumber": 0
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "**Bad request.** Your request does not pass our validation. Check the errors array for more details.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "**Unauthorized access.** Please take a look at https://apis.e-conomic.com and follow the links to help on authorization, or use the word demo for both tokens.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "**Access forbidden.** You won’t necessarily have access to everything. So even though you were authorized we might still deny access to certain resources. This depends on the roles asked for when the grant was issued.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "**Resource not found.** The resource you have been looking for does not exist.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "**Update conflict. Object version does not match.** The resource has been updated by another user. Retrieve the resource/object and try the update again. This is needed in order to prevent you from rolling back another user's update.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "429": {
            "description": "**Too many requests.** You have made too many calls towards our API. You are over your quota. Need to wait a bit. Check info in the response headers.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "**Internal server error.** Something went wrong but the error has been logged. If you continue to see errors here, please contact api@e-conomic.com. Remember to include log id and agreement number when contacting support.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/Projects/count": {
      "get": {
        "tags": [
          "Projects"
        ],
        "summary": "Retrieve the number of Projects",
        "description": "Call this endpoint to get the number of Projects. You can use filtering as well.",
        "operationId": "GetNumberOfProjects",
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "description": "Use this parameter to set the filtering for fields. [Filtering instructions](#section/Retrieving-data/Filtering)",
            "schema": {
              "type": "string",
              "description": "Use this parameter to set the filtering for fields. [Filtering instructions](#section/Retrieving-data/Filtering)"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            }
          },
          "400": {
            "description": "**Bad request.** Your request does not pass our validation. Check the errors array for more details.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "**Unauthorized access.** Please take a look at https://apis.e-conomic.com and follow the links to help on authorization, or use the word demo for both tokens.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "**Access forbidden.** You won’t necessarily have access to everything. So even though you were authorized we might still deny access to certain resources. This depends on the roles asked for when the grant was issued.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "429": {
            "description": "**Too many requests.** You have made too many calls towards our API. You are over your quota. Need to wait a bit. Check info in the response headers.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "**Internal server error.** Something went wrong but the error has been logged. If you continue to see errors here, please contact api@e-conomic.com. Remember to include log id and agreement number when contacting support.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/Projects/{number}": {
      "get": {
        "tags": [
          "Projects"
        ],
        "summary": "Retrieve single Project",
        "description": "Use this endpoint to load a single Project by number.",
        "operationId": "GetProjectById",
        "parameters": [
          {
            "name": "number",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Project"
                }
              }
            }
          },
          "400": {
            "description": "**Bad request.** Your request does not pass our validation. Check the errors array for more details.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "**Unauthorized access.** Please take a look at https://apis.e-conomic.com and follow the links to help on authorization, or use the word demo for both tokens.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "**Access forbidden.** You won’t necessarily have access to everything. So even though you were authorized we might still deny access to certain resources. This depends on the roles asked for when the grant was issued.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "**Resource not found.** The resource you have been looking for does not exist.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "429": {
            "description": "**Too many requests.** You have made too many calls towards our API. You are over your quota. Need to wait a bit. Check info in the response headers.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "**Internal server error.** Something went wrong but the error has been logged. If you continue to see errors here, please contact api@e-conomic.com. Remember to include log id and agreement number when contacting support.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Projects"
        ],
        "summary": "Delete single Project",
        "description": "Use this endpoint to delete a single Project by number.",
        "operationId": "DeleteProjectById",
        "parameters": [
          {
            "name": "number",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "**Bad request.** Your request does not pass our validation. Check the errors array for more details.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "**Unauthorized access.** Please take a look at https://apis.e-conomic.com and follow the links to help on authorization, or use the word demo for both tokens.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "**Access forbidden.** You won’t necessarily have access to everything. So even though you were authorized we might still deny access to certain resources. This depends on the roles asked for when the grant was issued.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "**Resource not found.** The resource you have been looking for does not exist.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "429": {
            "description": "**Too many requests.** You have made too many calls towards our API. You are over your quota. Need to wait a bit. Check info in the response headers.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "**Internal server error.** Something went wrong but the error has been logged. If you continue to see errors here, please contact api@e-conomic.com. Remember to include log id and agreement number when contacting support.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/Projects/allowed": {
      "get": {
        "tags": [
          "Projects"
        ],
        "summary": "Retrieve the allowed projects that employee can register an entry on.",
        "description": "Use this endpoint to get all the projects that the employee is allowed to register an entry on. Potential restrictions of registration are based on recording rules in the UI, which cannot be modified through the API. Add the employee number to your query parameter to obtain the allowed projects for registrations.",
        "operationId": "GetAllowedProjects",
        "parameters": [
          {
            "name": "employeeNumber",
            "in": "query",
            "description": "The employee number.",
            "required": true,
            "schema": {
              "maximum": 999999,
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Project"
                  }
                }
              }
            }
          },
          "400": {
            "description": "**Bad request.** Your request does not pass our validation. Check the errors array for more details.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "**Unauthorized access.** Please take a look at https://apis.e-conomic.com and follow the links to help on authorization, or use the word demo for both tokens.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "**Access forbidden.** You won’t necessarily have access to everything. So even though you were authorized we might still deny access to certain resources. This depends on the roles asked for when the grant was issued.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "429": {
            "description": "**Too many requests.** You have made too many calls towards our API. You are over your quota. Need to wait a bit. Check info in the response headers.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "**Internal server error.** Something went wrong but the error has been logged. If you continue to see errors here, please contact api@e-conomic.com. Remember to include log id and agreement number when contacting support.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/ProjectStatuses/paged": {
      "get": {
        "tags": [
          "ProjectStatuses"
        ],
        "summary": "Retrieve a page of ProjectStatuses",
        "description": "Use this endpoint to load a page of ProjectStatuses.",
        "operationId": "GetPageOfProjectStatuses",
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "description": "Use this parameter to set the filtering for fields. [Filtering instructions](#section/Retrieving-data/Filtering)",
            "schema": {
              "type": "string",
              "description": "Use this parameter to set the filtering for fields. [Filtering instructions](#section/Retrieving-data/Filtering)"
            }
          },
          {
            "name": "sort",
            "in": "query",
            "description": "Use this parameter to set the sort fields and direction. [Sort instructions](#section/Retrieving-data/Sorting)",
            "schema": {
              "type": "string",
              "description": "Use this parameter to set the sort fields and direction. [Sort instructions](#section/Retrieving-data/Sorting)"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Use this parameter to set the page size. [Pagination instructions](#section/Retrieving-data/Pagination)",
            "schema": {
              "maximum": 100,
              "minimum": 1,
              "type": "integer",
              "description": "Use this parameter to set the page size. [Pagination instructions](#section/Retrieving-data/Pagination)",
              "format": "int32",
              "default": 20
            }
          },
          {
            "name": "skipPages",
            "in": "query",
            "description": "Use this parameter to set number of pages to skip. [Pagination instructions](#section/Retrieving-data/Pagination)",
            "schema": {
              "maximum": 100,
              "minimum": 0,
              "type": "integer",
              "description": "Use this parameter to set number of pages to skip. [Pagination instructions](#section/Retrieving-data/Pagination)",
              "format": "int32",
              "default": 0
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ProjectStatus"
                  }
                }
              }
            }
          },
          "400": {
            "description": "**Bad request.** Your request does not pass our validation. Check the errors array for more details.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "**Unauthorized access.** Please take a look at https://apis.e-conomic.com and follow the links to help on authorization, or use the word demo for both tokens.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "**Access forbidden.** You won’t necessarily have access to everything. So even though you were authorized we might still deny access to certain resources. This depends on the roles asked for when the grant was issued.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "429": {
            "description": "**Too many requests.** You have made too many calls towards our API. You are over your quota. Need to wait a bit. Check info in the response headers.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "**Internal server error.** Something went wrong but the error has been logged. If you continue to see errors here, please contact api@e-conomic.com. Remember to include log id and agreement number when contacting support.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/ProjectStatuses": {
      "get": {
        "tags": [
          "ProjectStatuses"
        ],
        "summary": "Retrieve all ProjectStatuses",
        "description": "Use this endpoint to retrieve all ProjectStatuses in bulk. <br/>The maximum number of items returned in a single call is defined in the `x-cursor-page-size` extension of the response type. Usually, the size is 1000, but in some cases, where we explicitly state so, it can be smaller than that.<br/>Use the continuation cursor parameter to set the cursor for retrieval of the next set of data.<br/>Please check the [pagination instructions](#section/Retrieving-data/Pagination).",
        "operationId": "GetAllProjectStatuses",
        "parameters": [
          {
            "name": "cursor",
            "in": "query",
            "description": "Use this parameter to set the continuation cursor for paging. [Pagination instructions](#section/Retrieving-data/Pagination)",
            "schema": {
              "maxLength": 50,
              "minLength": 0,
              "type": "string",
              "description": "Use this parameter to set the continuation cursor for paging. [Pagination instructions](#section/Retrieving-data/Pagination)"
            }
          },
          {
            "name": "filter",
            "in": "query",
            "description": "Use this parameter to set the filtering for fields. [filtering instructions](#section/Retrieving-data/Filtering)",
            "schema": {
              "type": "string",
              "description": "Use this parameter to set the filtering for fields. [filtering instructions](#section/Retrieving-data/Filtering)"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Array of objects along with a cursor.",
                  "$ref": "#/components/schemas/ProjectStatusCursorResults"
                }
              }
            }
          },
          "400": {
            "description": "**Bad request.** Your request does not pass our validation. Check the errors array for more details.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "**Unauthorized access.** Please take a look at https://apis.e-conomic.com and follow the links to help on authorization, or use the word demo for both tokens.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "**Access forbidden.** You won’t necessarily have access to everything. So even though you were authorized we might still deny access to certain resources. This depends on the roles asked for when the grant was issued.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "429": {
            "description": "**Too many requests.** You have made too many calls towards our API. You are over your quota. Need to wait a bit. Check info in the response headers.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "**Internal server error.** Something went wrong but the error has been logged. If you continue to see errors here, please contact api@e-conomic.com. Remember to include log id and agreement number when contacting support.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/ProjectStatuses/count": {
      "get": {
        "tags": [
          "ProjectStatuses"
        ],
        "summary": "Retrieve the number of ProjectStatuses",
        "description": "Call this endpoint to get the number of ProjectStatuses. You can use filtering as well.",
        "operationId": "GetNumberOfProjectStatuses",
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "description": "Use this parameter to set the filtering for fields. [Filtering instructions](#section/Retrieving-data/Filtering)",
            "schema": {
              "type": "string",
              "description": "Use this parameter to set the filtering for fields. [Filtering instructions](#section/Retrieving-data/Filtering)"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            }
          },
          "400": {
            "description": "**Bad request.** Your request does not pass our validation. Check the errors array for more details.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "**Unauthorized access.** Please take a look at https://apis.e-conomic.com and follow the links to help on authorization, or use the word demo for both tokens.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "**Access forbidden.** You won’t necessarily have access to everything. So even though you were authorized we might still deny access to certain resources. This depends on the roles asked for when the grant was issued.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "429": {
            "description": "**Too many requests.** You have made too many calls towards our API. You are over your quota. Need to wait a bit. Check info in the response headers.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "**Internal server error.** Something went wrong but the error has been logged. If you continue to see errors here, please contact api@e-conomic.com. Remember to include log id and agreement number when contacting support.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/ProjectStatuses/{number}": {
      "get": {
        "tags": [
          "ProjectStatuses"
        ],
        "summary": "Retrieve single ProjectStatus",
        "description": "Use this endpoint to load a single ProjectStatus by number.",
        "operationId": "GetProjectStatusById",
        "parameters": [
          {
            "name": "number",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProjectStatus"
                }
              }
            }
          },
          "400": {
            "description": "**Bad request.** Your request does not pass our validation. Check the errors array for more details.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "**Unauthorized access.** Please take a look at https://apis.e-conomic.com and follow the links to help on authorization, or use the word demo for both tokens.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "**Access forbidden.** You won’t necessarily have access to everything. So even though you were authorized we might still deny access to certain resources. This depends on the roles asked for when the grant was issued.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "**Resource not found.** The resource you have been looking for does not exist.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "429": {
            "description": "**Too many requests.** You have made too many calls towards our API. You are over your quota. Need to wait a bit. Check info in the response headers.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "**Internal server error.** Something went wrong but the error has been logged. If you continue to see errors here, please contact api@e-conomic.com. Remember to include log id and agreement number when contacting support.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/TimeEntries/{number}": {
      "get": {
        "tags": [
          "TimeEntries"
        ],
        "summary": "Retrieve single TimeEntry",
        "description": "Use this endpoint to load a single TimeEntry by number.",
        "operationId": "GetTimeEntryById",
        "parameters": [
          {
            "name": "number",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TimeEntry"
                }
              }
            }
          },
          "400": {
            "description": "**Bad request.** Your request does not pass our validation. Check the errors array for more details.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "**Unauthorized access.** Please take a look at https://apis.e-conomic.com and follow the links to help on authorization, or use the word demo for both tokens.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "**Access forbidden.** You won’t necessarily have access to everything. So even though you were authorized we might still deny access to certain resources. This depends on the roles asked for when the grant was issued.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "**Resource not found.** The resource you have been looking for does not exist.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "429": {
            "description": "**Too many requests.** You have made too many calls towards our API. You are over your quota. Need to wait a bit. Check info in the response headers.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "**Internal server error.** Something went wrong but the error has been logged. If you continue to see errors here, please contact api@e-conomic.com. Remember to include log id and agreement number when contacting support.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "TimeEntries"
        ],
        "summary": "Delete single TimeEntry",
        "description": "Use this endpoint to delete a single TimeEntry by number.",
        "operationId": "DeleteTimeEntryById",
        "parameters": [
          {
            "name": "number",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "**Bad request.** Your request does not pass our validation. Check the errors array for more details.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "**Unauthorized access.** Please take a look at https://apis.e-conomic.com and follow the links to help on authorization, or use the word demo for both tokens.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "**Access forbidden.** You won’t necessarily have access to everything. So even though you were authorized we might still deny access to certain resources. This depends on the roles asked for when the grant was issued.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "**Resource not found.** The resource you have been looking for does not exist.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "429": {
            "description": "**Too many requests.** You have made too many calls towards our API. You are over your quota. Need to wait a bit. Check info in the response headers.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "**Internal server error.** Something went wrong but the error has been logged. If you continue to see errors here, please contact api@e-conomic.com. Remember to include log id and agreement number when contacting support.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/TimeEntries/paged": {
      "get": {
        "tags": [
          "TimeEntries"
        ],
        "summary": "Retrieve a page of TimeEntries",
        "description": "Use this endpoint to load a page of TimeEntries.",
        "operationId": "GetPageOfTimeEntries",
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "description": "Use this parameter to set the filtering for fields. [Filtering instructions](#section/Retrieving-data/Filtering)",
            "schema": {
              "type": "string",
              "description": "Use this parameter to set the filtering for fields. [Filtering instructions](#section/Retrieving-data/Filtering)"
            }
          },
          {
            "name": "sort",
            "in": "query",
            "description": "Use this parameter to set the sort fields and direction. [Sort instructions](#section/Retrieving-data/Sorting)",
            "schema": {
              "type": "string",
              "description": "Use this parameter to set the sort fields and direction. [Sort instructions](#section/Retrieving-data/Sorting)"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Use this parameter to set the page size. [Pagination instructions](#section/Retrieving-data/Pagination)",
            "schema": {
              "maximum": 100,
              "minimum": 1,
              "type": "integer",
              "description": "Use this parameter to set the page size. [Pagination instructions](#section/Retrieving-data/Pagination)",
              "format": "int32",
              "default": 20
            }
          },
          {
            "name": "skipPages",
            "in": "query",
            "description": "Use this parameter to set number of pages to skip. [Pagination instructions](#section/Retrieving-data/Pagination)",
            "schema": {
              "maximum": 100,
              "minimum": 0,
              "type": "integer",
              "description": "Use this parameter to set number of pages to skip. [Pagination instructions](#section/Retrieving-data/Pagination)",
              "format": "int32",
              "default": 0
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TimeEntry"
                  }
                }
              }
            }
          },
          "400": {
            "description": "**Bad request.** Your request does not pass our validation. Check the errors array for more details.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "**Unauthorized access.** Please take a look at https://apis.e-conomic.com and follow the links to help on authorization, or use the word demo for both tokens.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "**Access forbidden.** You won’t necessarily have access to everything. So even though you were authorized we might still deny access to certain resources. This depends on the roles asked for when the grant was issued.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "429": {
            "description": "**Too many requests.** You have made too many calls towards our API. You are over your quota. Need to wait a bit. Check info in the response headers.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "**Internal server error.** Something went wrong but the error has been logged. If you continue to see errors here, please contact api@e-conomic.com. Remember to include log id and agreement number when contacting support.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/TimeEntries": {
      "get": {
        "tags": [
          "TimeEntries"
        ],
        "summary": "Retrieve all TimeEntries",
        "description": "Use this endpoint to retrieve all TimeEntries in bulk. <br/>The maximum number of items returned in a single call is defined in the `x-cursor-page-size` extension of the response type. Usually, the size is 1000, but in some cases, where we explicitly state so, it can be smaller than that.<br/>Use the continuation cursor parameter to set the cursor for retrieval of the next set of data.<br/>Please check the [pagination instructions](#section/Retrieving-data/Pagination).",
        "operationId": "GetAllTimeEntries",
        "parameters": [
          {
            "name": "cursor",
            "in": "query",
            "description": "Use this parameter to set the continuation cursor for paging. [Pagination instructions](#section/Retrieving-data/Pagination)",
            "schema": {
              "maxLength": 50,
              "minLength": 0,
              "type": "string",
              "description": "Use this parameter to set the continuation cursor for paging. [Pagination instructions](#section/Retrieving-data/Pagination)"
            }
          },
          {
            "name": "filter",
            "in": "query",
            "description": "Use this parameter to set the filtering for fields. [filtering instructions](#section/Retrieving-data/Filtering)",
            "schema": {
              "type": "string",
              "description": "Use this parameter to set the filtering for fields. [filtering instructions](#section/Retrieving-data/Filtering)"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Array of objects along with a cursor.",
                  "$ref": "#/components/schemas/TimeEntryCursorResults"
                }
              }
            }
          },
          "400": {
            "description": "**Bad request.** Your request does not pass our validation. Check the errors array for more details.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "**Unauthorized access.** Please take a look at https://apis.e-conomic.com and follow the links to help on authorization, or use the word demo for both tokens.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "**Access forbidden.** You won’t necessarily have access to everything. So even though you were authorized we might still deny access to certain resources. This depends on the roles asked for when the grant was issued.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "429": {
            "description": "**Too many requests.** You have made too many calls towards our API. You are over your quota. Need to wait a bit. Check info in the response headers.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "**Internal server error.** Something went wrong but the error has been logged. If you continue to see errors here, please contact api@e-conomic.com. Remember to include log id and agreement number when contacting support.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "TimeEntries"
        ],
        "summary": "Create a single TimeEntry",
        "description": "Use this endpoint to create a single TimeEntry.",
        "operationId": "CreateTimeEntry",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TimeEntry"
              },
              "example": {
                "projectNumber": 0,
                "activityNumber": 0,
                "employeeNumber": 0,
                "date": "2019-08-24T14:15:22Z"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreatedResult"
                }
              }
            }
          },
          "400": {
            "description": "**Bad request.** Your request does not pass our validation. Check the errors array for more details.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "**Unauthorized access.** Please take a look at https://apis.e-conomic.com and follow the links to help on authorization, or use the word demo for both tokens.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "**Access forbidden.** You won’t necessarily have access to everything. So even though you were authorized we might still deny access to certain resources. This depends on the roles asked for when the grant was issued.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "429": {
            "description": "**Too many requests.** You have made too many calls towards our API. You are over your quota. Need to wait a bit. Check info in the response headers.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "**Internal server error.** Something went wrong but the error has been logged. If you continue to see errors here, please contact api@e-conomic.com. Remember to include log id and agreement number when contacting support.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "TimeEntries"
        ],
        "summary": "Update a single TimeEntry",
        "description": "Use this endpoint to update a single TimeEntry.",
        "operationId": "UpdateTimeEntryById",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TimeEntry"
              },
              "example": {
                "projectNumber": 0,
                "activityNumber": 0,
                "employeeNumber": 0,
                "date": "2019-08-24T14:15:22Z"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "**Bad request.** Your request does not pass our validation. Check the errors array for more details.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "**Unauthorized access.** Please take a look at https://apis.e-conomic.com and follow the links to help on authorization, or use the word demo for both tokens.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "**Access forbidden.** You won’t necessarily have access to everything. So even though you were authorized we might still deny access to certain resources. This depends on the roles asked for when the grant was issued.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "**Resource not found.** The resource you have been looking for does not exist.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "**Update conflict. Object version does not match.** The resource has been updated by another user. Retrieve the resource/object and try the update again. This is needed in order to prevent you from rolling back another user's update.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "429": {
            "description": "**Too many requests.** You have made too many calls towards our API. You are over your quota. Need to wait a bit. Check info in the response headers.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "**Internal server error.** Something went wrong but the error has been logged. If you continue to see errors here, please contact api@e-conomic.com. Remember to include log id and agreement number when contacting support.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/TimeEntries/count": {
      "get": {
        "tags": [
          "TimeEntries"
        ],
        "summary": "Retrieve the number of TimeEntries",
        "description": "Call this endpoint to get the number of TimeEntries. You can use filtering as well.",
        "operationId": "GetNumberOfTimeEntries",
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "description": "Use this parameter to set the filtering for fields. [Filtering instructions](#section/Retrieving-data/Filtering)",
            "schema": {
              "type": "string",
              "description": "Use this parameter to set the filtering for fields. [Filtering instructions](#section/Retrieving-data/Filtering)"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            }
          },
          "400": {
            "description": "**Bad request.** Your request does not pass our validation. Check the errors array for more details.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "**Unauthorized access.** Please take a look at https://apis.e-conomic.com and follow the links to help on authorization, or use the word demo for both tokens.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "**Access forbidden.** You won’t necessarily have access to everything. So even though you were authorized we might still deny access to certain resources. This depends on the roles asked for when the grant was issued.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "429": {
            "description": "**Too many requests.** You have made too many calls towards our API. You are over your quota. Need to wait a bit. Check info in the response headers.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "**Internal server error.** Something went wrong but the error has been logged. If you continue to see errors here, please contact api@e-conomic.com. Remember to include log id and agreement number when contacting support.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/TimeEntries/approve": {
      "post": {
        "tags": [
          "TimeEntries"
        ],
        "summary": "Approve a list of Time entries",
        "description": "Use this endpoint to approve a list of Time entries.",
        "operationId": "ApproveTimeEntries",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TimeEntryNumbersCollection"
              },
              "example": {
                "numbers": [
                  { }
                ]
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "**Bad request.** Your request does not pass our validation. Check the errors array for more details.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "**Unauthorized access.** Please take a look at https://apis.e-conomic.com and follow the links to help on authorization, or use the word demo for both tokens.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "**Access forbidden.** You won’t necessarily have access to everything. So even though you were authorized we might still deny access to certain resources. This depends on the roles asked for when the grant was issued.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "**Resource not found.** The resource you have been looking for does not exist.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "429": {
            "description": "**Too many requests.** You have made too many calls towards our API. You are over your quota. Need to wait a bit. Check info in the response headers.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "**Internal server error.** Something went wrong but the error has been logged. If you continue to see errors here, please contact api@e-conomic.com. Remember to include log id and agreement number when contacting support.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/TimeEntryPrices/{number}": {
      "get": {
        "tags": [
          "TimeEntryPrices"
        ],
        "summary": "Retrieve single TimeEntryPrice",
        "description": "Use this endpoint to load a single TimeEntryPrice by number.",
        "operationId": "GetTimeEntryPricesById",
        "parameters": [
          {
            "name": "number",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TimeEntryPrices"
                }
              }
            }
          },
          "400": {
            "description": "**Bad request.** Your request does not pass our validation. Check the errors array for more details.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "**Unauthorized access.** Please take a look at https://apis.e-conomic.com and follow the links to help on authorization, or use the word demo for both tokens.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "**Access forbidden.** You won’t necessarily have access to everything. So even though you were authorized we might still deny access to certain resources. This depends on the roles asked for when the grant was issued.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "**Resource not found.** The resource you have been looking for does not exist.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "429": {
            "description": "**Too many requests.** You have made too many calls towards our API. You are over your quota. Need to wait a bit. Check info in the response headers.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "**Internal server error.** Something went wrong but the error has been logged. If you continue to see errors here, please contact api@e-conomic.com. Remember to include log id and agreement number when contacting support.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/TimeEntryPrices/paged": {
      "get": {
        "tags": [
          "TimeEntryPrices"
        ],
        "summary": "Retrieve a page of TimeEntryPrices",
        "description": "Use this endpoint to load a page of TimeEntryPrices.",
        "operationId": "GetPageOfTimeEntryPrices",
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "description": "Use this parameter to set the filtering for fields. [Filtering instructions](#section/Retrieving-data/Filtering)",
            "schema": {
              "type": "string",
              "description": "Use this parameter to set the filtering for fields. [Filtering instructions](#section/Retrieving-data/Filtering)"
            }
          },
          {
            "name": "sort",
            "in": "query",
            "description": "Use this parameter to set the sort fields and direction. [Sort instructions](#section/Retrieving-data/Sorting)",
            "schema": {
              "type": "string",
              "description": "Use this parameter to set the sort fields and direction. [Sort instructions](#section/Retrieving-data/Sorting)"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Use this parameter to set the page size. [Pagination instructions](#section/Retrieving-data/Pagination)",
            "schema": {
              "maximum": 100,
              "minimum": 1,
              "type": "integer",
              "description": "Use this parameter to set the page size. [Pagination instructions](#section/Retrieving-data/Pagination)",
              "format": "int32",
              "default": 20
            }
          },
          {
            "name": "skipPages",
            "in": "query",
            "description": "Use this parameter to set number of pages to skip. [Pagination instructions](#section/Retrieving-data/Pagination)",
            "schema": {
              "maximum": 100,
              "minimum": 0,
              "type": "integer",
              "description": "Use this parameter to set number of pages to skip. [Pagination instructions](#section/Retrieving-data/Pagination)",
              "format": "int32",
              "default": 0
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TimeEntryPrices"
                  }
                }
              }
            }
          },
          "400": {
            "description": "**Bad request.** Your request does not pass our validation. Check the errors array for more details.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "**Unauthorized access.** Please take a look at https://apis.e-conomic.com and follow the links to help on authorization, or use the word demo for both tokens.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "**Access forbidden.** You won’t necessarily have access to everything. So even though you were authorized we might still deny access to certain resources. This depends on the roles asked for when the grant was issued.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "429": {
            "description": "**Too many requests.** You have made too many calls towards our API. You are over your quota. Need to wait a bit. Check info in the response headers.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "**Internal server error.** Something went wrong but the error has been logged. If you continue to see errors here, please contact api@e-conomic.com. Remember to include log id and agreement number when contacting support.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/TimeEntryPrices": {
      "get": {
        "tags": [
          "TimeEntryPrices"
        ],
        "summary": "Retrieve all TimeEntryPrices",
        "description": "Use this endpoint to retrieve all TimeEntryPrices in bulk. <br/>The maximum number of items returned in a single call is defined in the `x-cursor-page-size` extension of the response type. Usually, the size is 1000, but in some cases, where we explicitly state so, it can be smaller than that.<br/>Use the continuation cursor parameter to set the cursor for retrieval of the next set of data.<br/>Please check the [pagination instructions](#section/Retrieving-data/Pagination).",
        "operationId": "GetAllTimeEntryPrices",
        "parameters": [
          {
            "name": "cursor",
            "in": "query",
            "description": "Use this parameter to set the continuation cursor for paging. [Pagination instructions](#section/Retrieving-data/Pagination)",
            "schema": {
              "maxLength": 50,
              "minLength": 0,
              "type": "string",
              "description": "Use this parameter to set the continuation cursor for paging. [Pagination instructions](#section/Retrieving-data/Pagination)"
            }
          },
          {
            "name": "filter",
            "in": "query",
            "description": "Use this parameter to set the filtering for fields. [filtering instructions](#section/Retrieving-data/Filtering)",
            "schema": {
              "type": "string",
              "description": "Use this parameter to set the filtering for fields. [filtering instructions](#section/Retrieving-data/Filtering)"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Array of objects along with a cursor.",
                  "$ref": "#/components/schemas/TimeEntryPricesCursorResults"
                }
              }
            }
          },
          "400": {
            "description": "**Bad request.** Your request does not pass our validation. Check the errors array for more details.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "**Unauthorized access.** Please take a look at https://apis.e-conomic.com and follow the links to help on authorization, or use the word demo for both tokens.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "**Access forbidden.** You won’t necessarily have access to everything. So even though you were authorized we might still deny access to certain resources. This depends on the roles asked for when the grant was issued.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "429": {
            "description": "**Too many requests.** You have made too many calls towards our API. You are over your quota. Need to wait a bit. Check info in the response headers.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "**Internal server error.** Something went wrong but the error has been logged. If you continue to see errors here, please contact api@e-conomic.com. Remember to include log id and agreement number when contacting support.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "Activity": {
        "required": [
          "groupNumber",
          "name",
          "number"
        ],
        "type": "object",
        "properties": {
          "number": {
            "maximum": 999999999,
            "minimum": 1,
            "type": "integer",
            "description": "The unique number of the activity.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: eq, ne, lt, lte, gt, gte, in, nin</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: true</p>",
            "format": "int32",
            "x-filterable": "eq, ne, lt, lte, gt, gte, in, nin",
            "x-sortable": true
          },
          "groupNumber": {
            "type": "integer",
            "description": "The number of the activity group that the activity belongs to.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: eq, ne, lt, lte, gt, gte, in, nin</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "format": "int32",
            "x-filterable": "eq, ne, lt, lte, gt, gte, in, nin",
            "x-sortable": false
          },
          "name": {
            "maxLength": 100,
            "minLength": 0,
            "type": "string",
            "description": "The name of the activity.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: eq, ne, lt, lte, gt, gte, in, nin, like</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "x-filterable": "eq, ne, lt, lte, gt, gte, in, nin, like",
            "x-sortable": false
          },
          "isBarred": {
            "type": "boolean",
            "description": "Flag indicating if time entries can be registered on the activity or not. It should be set to false if you want to be able to access the activity.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: eq, ne, lt, lte, gt, gte</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "x-filterable": "eq, ne, lt, lte, gt, gte",
            "x-sortable": false
          },
          "inLieuCode": {
            "type": "integer",
            "description": "If time in lieu is used, this defines which code the activity should utilize when registered upon.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: not filterable</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "format": "int32",
            "x-filterable": "not filterable",
            "x-sortable": false
          },
          "hideInSearch": {
            "type": "boolean",
            "description": "Flag indicating if an activity should be hidden from employees when they create a time entry in the e-conomic UI.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: not filterable</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "x-filterable": "not filterable",
            "x-sortable": false
          },
          "cutoffDate": {
            "type": [
              "null",
              "string"
            ],
            "description": "The date when the salesPriceBefore stops having effect and gets replaced with salesPriceAfter.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: not filterable</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "format": "date-time",
            "x-filterable": "not filterable",
            "x-sortable": false
          },
          "salesPriceBefore": {
            "type": [
              "null",
              "number"
            ],
            "description": "The price for a given activity to be applied until the CutOffDate. \n\nThe activity sales price determines the sales price of a time entry - the time that an employee spends working on a project.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: not filterable</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "format": "double",
            "x-filterable": "not filterable",
            "x-sortable": false
          },
          "salesPriceAfter": {
            "type": [
              "null",
              "number"
            ],
            "description": "The price for a given activity to be applied after the CutOffDate. \n\nThe activity sales price determines the sales price of a time entry - the time that an employee spends working on a project.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: not filterable</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "format": "double",
            "x-filterable": "not filterable",
            "x-sortable": false
          },
          "costPriceMarkupPercentage": {
            "type": [
              "null",
              "number"
            ],
            "description": "Property used to adjust the cost price of the time registered on the activity. \n\nThe cost price of the time entry is calculated as follows: CostPrice = (employee costPrice + activity costPriceMarkupPercentage) x time entry numberOfHours.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: not filterable</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "format": "double",
            "x-filterable": "not filterable",
            "x-sortable": false
          },
          "objectVersion": {
            "type": [
              "null",
              "string"
            ],
            "description": "The object version, required for PUT requests to help ensure that updates made by others don’t get overwritten by your update request.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: not filterable</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "x-filterable": "not filterable",
            "x-sortable": false
          }
        },
        "additionalProperties": false
      },
      "ActivityCursorResults": {
        "type": "object",
        "properties": {
          "cursor": {
            "type": [
              "null",
              "string"
            ],
            "description": "Use this continuation cursor in a request back to continue the list. In case there are no more items to retrieve, the cursor is not returned at all.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Read-only: true</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: not filterable</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "readOnly": true,
            "x-filterable": "not filterable",
            "x-sortable": false
          },
          "items": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/Activity"
            },
            "description": "Max number of items returned is 1000.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: not filterable</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "x-filterable": "not filterable",
            "x-sortable": false
          }
        },
        "additionalProperties": false,
        "description": "Array of objects along with a cursor.",
        "example": {
          "cursor": "234",
          "items": [
            {
              "id": "13",
              "name": "Patrick"
            },
            {
              "id": "16",
              "name": "John"
            }
          ]
        },
        "x-cursor-page-size": 1000
      },
      "ActivityGroup": {
        "required": [
          "name",
          "type"
        ],
        "type": "object",
        "properties": {
          "number": {
            "type": "integer",
            "description": "The unique number of the activity group.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: eq, ne, lt, lte, gt, gte, in, nin</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: true</p>",
            "format": "int32",
            "x-filterable": "eq, ne, lt, lte, gt, gte, in, nin",
            "x-sortable": true
          },
          "name": {
            "maxLength": 100,
            "minLength": 0,
            "type": "string",
            "description": "The name of the activity group.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: eq, ne, lt, lte, gt, gte, in, nin, like</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: true</p>",
            "x-filterable": "eq, ne, lt, lte, gt, gte, in, nin, like",
            "x-sortable": true
          },
          "type": {
            "allOf": [
              {
                "description": "<details><summary><b>Click to see the list of possible values.</b></summary>\n\n| Value | Name | Description |\n| ----- | ---- | ----------- |\n| 1 | ProductiveInvoiceable |  |\n| 2 | ProductiveNonInvoiceable |  |\n| 3 | Unproductive |  |\n</details>",
                "$ref": "#/components/schemas/ActivityGroupType"
              }
            ],
            "description": "The activity group type determines whether a customer can be invoiced for the time entries registered on an activty or not. \n\nOnly activities that are part of a productive, invoiceable group support billable time entries.  \n\nActivity group types are: \n- 1: Productive, invoiceable \n- 2: Productive, non-invoiceable \n- 3: Unproductive - holidays, illness or administrative activities. \r\n\r\n \n\n<details><summary><b>Click to see the list of possible values.</b></summary>\n\n| Value | Name | Description |\n| ----- | ---- | ----------- |\n| 1 | ProductiveInvoiceable |  |\n| 2 | ProductiveNonInvoiceable |  |\n| 3 | Unproductive |  |\n</details><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: eq, ne</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: true</p>",
            "x-filterable": "eq, ne",
            "x-sortable": true
          },
          "includeCostPriceInFinance": {
            "type": "boolean",
            "description": "Flag indicating if activity costs are to be included in accounting or not.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: eq, ne, lt, lte, gt, gte</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "x-filterable": "eq, ne, lt, lte, gt, gte",
            "x-sortable": false
          },
          "costAccountClosed": {
            "type": [
              "null",
              "integer"
            ],
            "description": "The account number to register costs for closed activities.  \nIf includeCostPriceInFinance is set to true, this property is required. Otherwise, it cannot be provided. \n\nOnly accessible accounts (not barred) with accountType==\\\"status\\\" or \\\"profitAndLoss\\\" are allowed.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: eq, ne, lt, lte, gt, gte, in, nin</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "format": "int32",
            "x-filterable": "eq, ne, lt, lte, gt, gte, in, nin",
            "x-sortable": false
          },
          "costAccountOngoing": {
            "type": [
              "null",
              "integer"
            ],
            "description": "The account number to register costs for ongoing activities.  \nIf includeCostPriceInFinance is set to true, this property is required. Otherwise, it cannot be provided. \n\nOnly accessible accounts (not barred) with accountType==\\\"status\\\" or \\\"profitAndLoss\\\" are allowed.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: eq, ne, lt, lte, gt, gte, in, nin</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "format": "int32",
            "x-filterable": "eq, ne, lt, lte, gt, gte, in, nin",
            "x-sortable": false
          },
          "costAccountOngoingType": {
            "allOf": [
              {
                "description": "<details><summary><b>Click to see the list of possible values.</b></summary>\n\n| Value | Name | Description |\n| ----- | ---- | ----------- |\n| 0 | Debit | debit |\n| 1 | Credit | credit |\n</details>",
                "$ref": "#/components/schemas/OngoingAccountType"
              }
            ],
            "description": "The type of account to be used for booking the revenue from ongoing activities: \n- 0: Debit \n- 1: Credit \n\nIf includeCostPriceInFinance is set to true, this property is required. Otherwise, it cannot be provided.\n\n<details><summary><b>Click to see the list of possible values.</b></summary>\n\n| Value | Name | Description |\n| ----- | ---- | ----------- |\n| 0 | Debit | debit |\n| 1 | Credit | credit |\n</details><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: not filterable</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "x-filterable": "not filterable",
            "x-sortable": false
          },
          "costContraAccountOngoing": {
            "type": [
              "null",
              "integer"
            ],
            "description": "The contra account number to register costs for ongoing activities.  \nIf includeCostPriceInFinance is set to true, this property is required. Otherwise, it cannot be provided. \n\nOnly accessible accounts (not barred) with accountType==\\\"status\\\" or \\\"profitAndLoss\\\" are allowed.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: eq, ne, lt, lte, gt, gte, in, nin</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "format": "int32",
            "x-filterable": "eq, ne, lt, lte, gt, gte, in, nin",
            "x-sortable": false
          },
          "includeSalesPriceInFinance": {
            "type": "boolean",
            "description": "Flag indicating if the activity revenue is to be included in accounting or not.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: eq, ne, lt, lte, gt, gte</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "x-filterable": "eq, ne, lt, lte, gt, gte",
            "x-sortable": false
          },
          "salesAccountClosed": {
            "type": [
              "null",
              "integer"
            ],
            "description": "The account number to register revenue for closed activities. \n\nIf includeSalesPriceInFinance is set to true, this property is required. Otherwise, it cannot be provided. \n\nOnly accessible accounts (not barred) with accountType==\\\"status\\\" or \\\"profitAndLoss\\\" are allowed.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: eq, ne, lt, lte, gt, gte, in, nin</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "format": "int32",
            "x-filterable": "eq, ne, lt, lte, gt, gte, in, nin",
            "x-sortable": false
          },
          "salesAccountOngoing": {
            "type": [
              "null",
              "integer"
            ],
            "description": "The account number to register revenue for ongoing activities. \n\nIf includeSalesPriceInFinance is set to true, this property is required. Otherwise, it cannot be provided. \n\nOnly accessible accounts (not barred) with accountType==\\\"status\\\" or \\\"profitAndLoss\\\" are allowed.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: eq, ne, lt, lte, gt, gte, in, nin</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "format": "int32",
            "x-filterable": "eq, ne, lt, lte, gt, gte, in, nin",
            "x-sortable": false
          },
          "salesAccountOngoingType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OngoingAccountType"
              }
            ],
            "description": "The type of account to be used for revenue from ongoing activities: \n- 0: Debit \n- 1: Credit \n\rIf includeSalesPriceInFinance is set to true, this property is required. Otherwise, it cannot be provided.\n\n<details><summary><b>Click to see the list of possible values.</b></summary>\n\n| Value | Name | Description |\n| ----- | ---- | ----------- |\n| 0 | Debit | debit |\n| 1 | Credit | credit |\n</details><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: not filterable</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "x-filterable": "not filterable",
            "x-sortable": false
          },
          "salesContraAccountOngoing": {
            "type": [
              "null",
              "integer"
            ],
            "description": "The contra account number to register revenue for ongoing activities. \n\nIf includeSalesPriceInFinance is set to true, this property is required. Otherwise, it cannot be provided. \n\nOnly accessible accounts (not barred) with accountType==\\\"status\\\" or \\\"profitAndLoss\\\" are allowed.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: eq, ne, lt, lte, gt, gte, in, nin</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "format": "int32",
            "x-filterable": "eq, ne, lt, lte, gt, gte, in, nin",
            "x-sortable": false
          },
          "objectVersion": {
            "type": [
              "null",
              "string"
            ],
            "description": "The object version, required for PUT requests to help ensure that updates made by others don’t get overwritten by your update request.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: not filterable</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "x-filterable": "not filterable",
            "x-sortable": false
          }
        },
        "additionalProperties": false
      },
      "ActivityGroupCursorResults": {
        "type": "object",
        "properties": {
          "cursor": {
            "type": [
              "null",
              "string"
            ],
            "description": "Use this continuation cursor in a request back to continue the list. In case there are no more items to retrieve, the cursor is not returned at all.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Read-only: true</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: not filterable</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "readOnly": true,
            "x-filterable": "not filterable",
            "x-sortable": false
          },
          "items": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/ActivityGroup"
            },
            "description": "Max number of items returned is 1000.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: not filterable</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "x-filterable": "not filterable",
            "x-sortable": false
          }
        },
        "additionalProperties": false,
        "description": "Array of objects along with a cursor.",
        "example": {
          "cursor": "234",
          "items": [
            {
              "id": "13",
              "name": "Patrick"
            },
            {
              "id": "16",
              "name": "John"
            }
          ]
        },
        "x-cursor-page-size": 1000
      },
      "ActivityGroupType": {
        "type": "integer",
        "oneOf": [
          {
            "const": 1,
            "title": "ProductiveInvoiceable"
          },
          {
            "const": 2,
            "title": "ProductiveNonInvoiceable"
          },
          {
            "const": 3,
            "title": "Unproductive"
          }
        ],
        "description": "<details><summary><b>Click to see the list of possible values.</b></summary>\n\n| Value | Name | Description |\n| ----- | ---- | ----------- |\n| 1 | ProductiveInvoiceable |  |\n| 2 | ProductiveNonInvoiceable |  |\n| 3 | Unproductive |  |\n</details>"
      },
      "CostGroupType": {
        "type": "integer",
        "oneOf": [
          {
            "const": 1,
            "title": "Invoiceable"
          },
          {
            "const": 2,
            "title": "NonInvoiceable"
          }
        ],
        "description": "<details><summary><b>Click to see the list of possible values.</b></summary>\n\n| Value | Name | Description |\n| ----- | ---- | ----------- |\n| 1 | Invoiceable |  |\n| 2 | NonInvoiceable |  |\n</details>"
      },
      "CostType": {
        "required": [
          "costGroupNumber",
          "name",
          "number"
        ],
        "type": "object",
        "properties": {
          "number": {
            "maximum": 999999999,
            "minimum": 1,
            "type": "integer",
            "description": "The unique number of the cost type.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: eq, ne, lt, lte, gt, gte, in, nin</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: true</p>",
            "format": "int32",
            "x-filterable": "eq, ne, lt, lte, gt, gte, in, nin",
            "x-sortable": true
          },
          "name": {
            "maxLength": 100,
            "minLength": 0,
            "type": "string",
            "description": "The name of the cost type.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: eq, ne, lt, lte, gt, gte, in, nin, like</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: true</p>",
            "x-filterable": "eq, ne, lt, lte, gt, gte, in, nin, like",
            "x-sortable": true
          },
          "costGroupNumber": {
            "type": "integer",
            "description": "The number of the cost type group that the cost type belongs to.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: not filterable</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: true</p>",
            "format": "int32",
            "x-filterable": "not filterable",
            "x-sortable": true
          },
          "vatCode": {
            "type": [
              "null",
              "string"
            ],
            "description": "The code for the Vat that's going to be applied to expenses.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: not filterable</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: true</p>",
            "x-filterable": "not filterable",
            "x-sortable": true
          },
          "isBarred": {
            "type": "boolean",
            "description": "Flag indicating if the cost type can be used to create expenses or not.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: eq, ne, lt, lte, gt, gte</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "x-filterable": "eq, ne, lt, lte, gt, gte",
            "x-sortable": false
          },
          "lastUpdated": {
            "type": "string",
            "description": "The date when the cost type was last updated.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Read-only: true</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: eq, ne, lt, lte, gt, gte</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "format": "date-time",
            "readOnly": true,
            "x-filterable": "eq, ne, lt, lte, gt, gte",
            "x-sortable": false
          },
          "objectVersion": {
            "type": [
              "null",
              "string"
            ],
            "description": "The object version, required for PUT requests to help ensure that updates made by others don’t get overwritten by your update request.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: not filterable</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "x-filterable": "not filterable",
            "x-sortable": false
          }
        },
        "additionalProperties": false
      },
      "CostTypeCursorResults": {
        "type": "object",
        "properties": {
          "cursor": {
            "type": [
              "null",
              "string"
            ],
            "description": "Use this continuation cursor in a request back to continue the list. In case there are no more items to retrieve, the cursor is not returned at all.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Read-only: true</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: not filterable</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "readOnly": true,
            "x-filterable": "not filterable",
            "x-sortable": false
          },
          "items": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/CostType"
            },
            "description": "Max number of items returned is 1000.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: not filterable</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "x-filterable": "not filterable",
            "x-sortable": false
          }
        },
        "additionalProperties": false,
        "description": "Array of objects along with a cursor.",
        "example": {
          "cursor": "234",
          "items": [
            {
              "id": "13",
              "name": "Patrick"
            },
            {
              "id": "16",
              "name": "John"
            }
          ]
        },
        "x-cursor-page-size": 1000
      },
      "CostTypeGroup": {
        "required": [
          "accountClosed",
          "accountOnGoing",
          "name",
          "number",
          "type"
        ],
        "type": "object",
        "properties": {
          "number": {
            "maximum": 999999999,
            "minimum": 1,
            "type": "integer",
            "description": "The unique number of the cost type group.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: eq, ne, lt, lte, gt, gte, in, nin</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: true</p>",
            "format": "int32",
            "x-filterable": "eq, ne, lt, lte, gt, gte, in, nin",
            "x-sortable": true
          },
          "name": {
            "maxLength": 100,
            "minLength": 0,
            "type": "string",
            "description": "The name of the cost type group.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: eq, ne, lt, lte, gt, gte, in, nin, like</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: true</p>",
            "x-filterable": "eq, ne, lt, lte, gt, gte, in, nin, like",
            "x-sortable": true
          },
          "type": {
            "allOf": [
              {
                "description": "<details><summary><b>Click to see the list of possible values.</b></summary>\n\n| Value | Name | Description |\n| ----- | ---- | ----------- |\n| 1 | Invoiceable |  |\n| 2 | NonInvoiceable |  |\n</details>",
                "$ref": "#/components/schemas/CostGroupType"
              }
            ],
            "description": "The cost group type determines whether customers can be invoiced for expenses or not. \n\nOnly expenses with cost prices associated with an invoiceable cost group are billable. \n\nCost group types: \n- 1: Invoiceable \n- 2: Non-invoiceable \r\n\r\n \n\n<details><summary><b>Click to see the list of possible values.</b></summary>\n\n| Value | Name | Description |\n| ----- | ---- | ----------- |\n| 1 | Invoiceable |  |\n| 2 | NonInvoiceable |  |\n</details><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: not filterable</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "x-filterable": "not filterable",
            "x-sortable": false
          },
          "markup": {
            "type": [
              "null",
              "number"
            ],
            "description": "The difference in percentage between the sales price and the cost price.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: not filterable</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: true</p>",
            "format": "double",
            "x-filterable": "not filterable",
            "x-sortable": true
          },
          "accountOnGoing": {
            "type": "integer",
            "description": "The account number to register ongoing costs.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: not filterable</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: true</p>",
            "format": "int32",
            "x-filterable": "not filterable",
            "x-sortable": true
          },
          "accountClosed": {
            "type": "integer",
            "description": "The account number to register costs for closed projects.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: not filterable</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: true</p>",
            "format": "int32",
            "x-filterable": "not filterable",
            "x-sortable": true
          },
          "objectVersion": {
            "type": [
              "null",
              "string"
            ],
            "description": "The object version, required for PUT requests to help ensure that updates made by others don’t get overwritten by your update request.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: not filterable</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "x-filterable": "not filterable",
            "x-sortable": false
          }
        },
        "additionalProperties": false
      },
      "CostTypeGroupCursorResults": {
        "type": "object",
        "properties": {
          "cursor": {
            "type": [
              "null",
              "string"
            ],
            "description": "Use this continuation cursor in a request back to continue the list. In case there are no more items to retrieve, the cursor is not returned at all.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Read-only: true</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: not filterable</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "readOnly": true,
            "x-filterable": "not filterable",
            "x-sortable": false
          },
          "items": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/CostTypeGroup"
            },
            "description": "Max number of items returned is 1000.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: not filterable</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "x-filterable": "not filterable",
            "x-sortable": false
          }
        },
        "additionalProperties": false,
        "description": "Array of objects along with a cursor.",
        "example": {
          "cursor": "234",
          "items": [
            {
              "id": "13",
              "name": "Patrick"
            },
            {
              "id": "16",
              "name": "John"
            }
          ]
        },
        "x-cursor-page-size": 1000
      },
      "CreatedResult": {
        "type": "object",
        "properties": {
          "number": {
            "type": "integer",
            "description": "<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: not filterable</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "format": "int32",
            "x-filterable": "not filterable",
            "x-sortable": false
          }
        },
        "additionalProperties": false
      },
      "Employee": {
        "required": [
          "groupNumber",
          "isBarred",
          "name",
          "number"
        ],
        "type": "object",
        "properties": {
          "number": {
            "maximum": 999999,
            "minimum": 0,
            "type": [
              "null",
              "integer"
            ],
            "description": "The unique number of the employee.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: eq, ne, lt, lte, gt, gte, in, nin</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: true</p>",
            "format": "int32",
            "x-filterable": "eq, ne, lt, lte, gt, gte, in, nin",
            "x-sortable": true
          },
          "groupNumber": {
            "type": "integer",
            "description": "The number of the employee group that the employee belongs.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: eq, ne, lt, lte, gt, gte, in, nin</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "format": "int32",
            "x-filterable": "eq, ne, lt, lte, gt, gte, in, nin",
            "x-sortable": false
          },
          "name": {
            "maxLength": 100,
            "minLength": 0,
            "type": "string",
            "description": "The name of the employee.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: eq, ne, lt, lte, gt, gte, in, nin, like</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "x-filterable": "eq, ne, lt, lte, gt, gte, in, nin, like",
            "x-sortable": false
          },
          "isBarred": {
            "type": "boolean",
            "description": "Flag indicating if the employee can be registered on or is barred.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: eq, ne, lt, lte, gt, gte</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "x-filterable": "eq, ne, lt, lte, gt, gte",
            "x-sortable": false
          },
          "phone": {
            "maxLength": 20,
            "minLength": 0,
            "type": [
              "null",
              "string"
            ],
            "description": "The phone number of the employee.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: eq, ne, lt, lte, gt, gte, in, nin</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "x-filterable": "eq, ne, lt, lte, gt, gte, in, nin",
            "x-sortable": false
          },
          "email": {
            "maxLength": 50,
            "minLength": 0,
            "type": [
              "null",
              "string"
            ],
            "description": "The email address of the employee.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: eq, ne, lt, lte, gt, gte, in, nin</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "x-filterable": "eq, ne, lt, lte, gt, gte, in, nin",
            "x-sortable": false
          },
          "objectVersion": {
            "type": [
              "null",
              "string"
            ],
            "description": "The object version, required for PUT requests to help ensure that updates made by others don’t get overwritten by your update request.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: not filterable</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "x-filterable": "not filterable",
            "x-sortable": false
          }
        },
        "additionalProperties": false
      },
      "EmployeeCursorResults": {
        "type": "object",
        "properties": {
          "cursor": {
            "type": [
              "null",
              "string"
            ],
            "description": "Use this continuation cursor in a request back to continue the list. In case there are no more items to retrieve, the cursor is not returned at all.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Read-only: true</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: not filterable</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "readOnly": true,
            "x-filterable": "not filterable",
            "x-sortable": false
          },
          "items": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/Employee"
            },
            "description": "Max number of items returned is 1000.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: not filterable</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "x-filterable": "not filterable",
            "x-sortable": false
          }
        },
        "additionalProperties": false,
        "description": "Array of objects along with a cursor.",
        "example": {
          "cursor": "234",
          "items": [
            {
              "id": "13",
              "name": "Patrick"
            },
            {
              "id": "16",
              "name": "John"
            }
          ]
        },
        "x-cursor-page-size": 1000
      },
      "EmployeeGroup": {
        "required": [
          "name",
          "number"
        ],
        "type": "object",
        "properties": {
          "number": {
            "maximum": 999999999,
            "minimum": 1,
            "type": "integer",
            "description": "The unique number of the employee group.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: eq, ne, lt, lte, gt, gte, in, nin</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: true</p>",
            "format": "int32",
            "x-filterable": "eq, ne, lt, lte, gt, gte, in, nin",
            "x-sortable": true
          },
          "name": {
            "maxLength": 100,
            "minLength": 0,
            "type": "string",
            "description": "The name of the employee group.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: eq, ne, lt, lte, gt, gte, in, nin, like</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "x-filterable": "eq, ne, lt, lte, gt, gte, in, nin, like",
            "x-sortable": false
          },
          "objectVersion": {
            "type": [
              "null",
              "string"
            ],
            "description": "The object version, required for PUT requests to help ensure that updates made by others don’t get overwritten by your update request.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: not filterable</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "x-filterable": "not filterable",
            "x-sortable": false
          }
        },
        "additionalProperties": false
      },
      "EmployeeGroupCursorResults": {
        "type": "object",
        "properties": {
          "cursor": {
            "type": [
              "null",
              "string"
            ],
            "description": "Use this continuation cursor in a request back to continue the list. In case there are no more items to retrieve, the cursor is not returned at all.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Read-only: true</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: not filterable</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "readOnly": true,
            "x-filterable": "not filterable",
            "x-sortable": false
          },
          "items": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/EmployeeGroup"
            },
            "description": "Max number of items returned is 1000.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: not filterable</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "x-filterable": "not filterable",
            "x-sortable": false
          }
        },
        "additionalProperties": false,
        "description": "Array of objects along with a cursor.",
        "example": {
          "cursor": "234",
          "items": [
            {
              "id": "13",
              "name": "Patrick"
            },
            {
              "id": "16",
              "name": "John"
            }
          ]
        },
        "x-cursor-page-size": 1000
      },
      "EmployeeType": {
        "type": "integer",
        "oneOf": [
          {
            "const": 0,
            "title": "NotEmployee"
          },
          {
            "const": 1,
            "title": "TimeLogger",
            "description": "FORM_USERS_EMPLOYEETYPE_TIMELOGGER"
          },
          {
            "const": 2,
            "title": "ProjectManager",
            "description": "FORM_USERS_EMPLOYEETYPE_PROJECTMANAGER"
          },
          {
            "const": 3,
            "title": "MobileTimeLogger",
            "description": "FORM_USERS_EMPLOYEETYPE_MOBILETIMELOGGER"
          }
        ],
        "description": "<details><summary><b>Click to see the list of possible values.</b></summary>\n\n| Value | Name | Description |\n| ----- | ---- | ----------- |\n| 0 | NotEmployee |  |\n| 1 | TimeLogger | FORM_USERS_EMPLOYEETYPE_TIMELOGGER |\n| 2 | ProjectManager | FORM_USERS_EMPLOYEETYPE_PROJECTMANAGER |\n| 3 | MobileTimeLogger | FORM_USERS_EMPLOYEETYPE_MOBILETIMELOGGER |\n</details>"
      },
      "Error": {
        "type": "object",
        "properties": {
          "message": {
            "type": [
              "null",
              "string"
            ],
            "description": "<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: not filterable</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "x-filterable": "not filterable",
            "x-sortable": false
          },
          "errorCode": {
            "type": [
              "null",
              "string"
            ],
            "description": "<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: not filterable</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "x-filterable": "not filterable",
            "x-sortable": false
          },
          "property": {
            "type": [
              "null",
              "string"
            ],
            "description": "<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: not filterable</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "x-filterable": "not filterable",
            "x-sortable": false
          }
        },
        "additionalProperties": false
      },
      "Mileage": {
        "required": [
          "date",
          "distance",
          "employeeNumber",
          "projectNumber"
        ],
        "type": "object",
        "properties": {
          "number": {
            "type": "integer",
            "description": "The unique number of the project mileage entry<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Read-only: true</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: eq, ne, lt, lte, gt, gte, in, nin</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: true</p>",
            "format": "int32",
            "readOnly": true,
            "x-filterable": "eq, ne, lt, lte, gt, gte, in, nin",
            "x-sortable": true
          },
          "projectNumber": {
            "type": "integer",
            "description": "he number of the project that the mileage entry is to be registered on.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: eq, ne, lt, lte, gt, gte, in, nin</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "format": "int32",
            "x-filterable": "eq, ne, lt, lte, gt, gte, in, nin",
            "x-sortable": false
          },
          "employeeNumber": {
            "type": "integer",
            "description": "The number of the employee that the mileage entry is to be registered for.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: eq, ne, lt, lte, gt, gte, in, nin</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "format": "int32",
            "x-filterable": "eq, ne, lt, lte, gt, gte, in, nin",
            "x-sortable": false
          },
          "date": {
            "type": "string",
            "description": "The date of the travel for which the mileage entry is created.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: eq, ne, lt, lte, gt, gte</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "format": "date-time",
            "x-filterable": "eq, ne, lt, lte, gt, gte",
            "x-sortable": false
          },
          "distance": {
            "type": "number",
            "description": "The distance of the travel for which the mileage entry is created.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: not filterable</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "format": "double",
            "x-filterable": "not filterable",
            "x-sortable": false
          },
          "from": {
            "type": [
              "null",
              "string"
            ],
            "description": "The starting place of the travel for which the mileage entry is created.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: not filterable</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "x-filterable": "not filterable",
            "x-sortable": false
          },
          "to": {
            "type": [
              "null",
              "string"
            ],
            "description": "The destination of the travel for which the mileage entry is created.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: not filterable</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "x-filterable": "not filterable",
            "x-sortable": false
          },
          "isApproved": {
            "type": "boolean",
            "description": "Flag indicating if the mileage entry has been approved or not. If it has been approved, it cannot be updated anymore.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Read-only: true</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: eq, ne, lt, lte, gt, gte</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "readOnly": true,
            "x-filterable": "eq, ne, lt, lte, gt, gte",
            "x-sortable": false
          },
          "objectVersion": {
            "type": [
              "null",
              "string"
            ],
            "description": "The object version, required for PUT requests to help ensure that updates made by others don’t get overwritten by your update request.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: not filterable</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "x-filterable": "not filterable",
            "x-sortable": false
          }
        },
        "additionalProperties": false
      },
      "MileageCursorResults": {
        "type": "object",
        "properties": {
          "cursor": {
            "type": [
              "null",
              "string"
            ],
            "description": "Use this continuation cursor in a request back to continue the list. In case there are no more items to retrieve, the cursor is not returned at all.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Read-only: true</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: not filterable</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "readOnly": true,
            "x-filterable": "not filterable",
            "x-sortable": false
          },
          "items": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/Mileage"
            },
            "description": "Max number of items returned is 1000.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: not filterable</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "x-filterable": "not filterable",
            "x-sortable": false
          }
        },
        "additionalProperties": false,
        "description": "Array of objects along with a cursor.",
        "example": {
          "cursor": "234",
          "items": [
            {
              "id": "13",
              "name": "Patrick"
            },
            {
              "id": "16",
              "name": "John"
            }
          ]
        },
        "x-cursor-page-size": 1000
      },
      "MileageNumbersCollection": {
        "required": [
          "numbers"
        ],
        "type": "object",
        "properties": {
          "numbers": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "description": "The numbers of the mileage entries that are to be approved.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: not filterable</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "x-filterable": "not filterable",
            "x-sortable": false
          }
        },
        "additionalProperties": false
      },
      "MileagePrices": {
        "type": "object",
        "properties": {
          "number": {
            "type": "integer",
            "description": "The mileage entry unique identifier.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: eq, ne, lt, lte, gt, gte, in, nin</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: true</p>",
            "format": "int32",
            "x-filterable": "eq, ne, lt, lte, gt, gte, in, nin",
            "x-sortable": true
          },
          "costPrice": {
            "type": [
              "null",
              "number"
            ],
            "description": "The total cost of the travel, calculated as follows: CostPrice = CostRate x distance.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Read-only: true</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: not filterable</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "format": "double",
            "readOnly": true,
            "x-filterable": "not filterable",
            "x-sortable": false
          },
          "costRate": {
            "type": [
              "null",
              "number"
            ],
            "description": "The cost price per mile of travel, provided by the mileage setup.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Read-only: true</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: not filterable</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "format": "double",
            "readOnly": true,
            "x-filterable": "not filterable",
            "x-sortable": false
          },
          "salesPrice": {
            "type": [
              "null",
              "number"
            ],
            "description": "The total sales price of the travel, calculated as follows: SalesPrice = SalesRate x distance.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Read-only: true</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: not filterable</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "format": "double",
            "readOnly": true,
            "x-filterable": "not filterable",
            "x-sortable": false
          },
          "salesRate": {
            "type": [
              "null",
              "number"
            ],
            "description": "The sales price per mile of travel, provided by the mileage setup.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Read-only: true</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: not filterable</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "format": "double",
            "readOnly": true,
            "x-filterable": "not filterable",
            "x-sortable": false
          }
        },
        "additionalProperties": false
      },
      "MileagePricesCursorResults": {
        "type": "object",
        "properties": {
          "cursor": {
            "type": [
              "null",
              "string"
            ],
            "description": "Use this continuation cursor in a request back to continue the list. In case there are no more items to retrieve, the cursor is not returned at all.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Read-only: true</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: not filterable</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "readOnly": true,
            "x-filterable": "not filterable",
            "x-sortable": false
          },
          "items": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/MileagePrices"
            },
            "description": "Max number of items returned is 1000.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: not filterable</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "x-filterable": "not filterable",
            "x-sortable": false
          }
        },
        "additionalProperties": false,
        "description": "Array of objects along with a cursor.",
        "example": {
          "cursor": "234",
          "items": [
            {
              "id": "13",
              "name": "Patrick"
            },
            {
              "id": "16",
              "name": "John"
            }
          ]
        },
        "x-cursor-page-size": 1000
      },
      "OngoingAccountType": {
        "type": "integer",
        "oneOf": [
          {
            "const": 0,
            "title": "Debit",
            "description": "debit"
          },
          {
            "const": 1,
            "title": "Credit",
            "description": "credit"
          }
        ],
        "description": "<details><summary><b>Click to see the list of possible values.</b></summary>\n\n| Value | Name | Description |\n| ----- | ---- | ----------- |\n| 0 | Debit | debit |\n| 1 | Credit | credit |\n</details>"
      },
      "ProblemDetails": {
        "type": "object",
        "properties": {
          "type": {
            "type": [
              "null",
              "string"
            ]
          },
          "title": {
            "type": "string"
          },
          "status": {
            "type": "integer",
            "format": "int32"
          },
          "detail": {
            "type": [
              "null",
              "string"
            ]
          },
          "instance": {
            "type": [
              "null",
              "string"
            ]
          },
          "errors": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/Error"
            }
          },
          "traceId": {
            "type": "string"
          },
          "errorCode": {
            "type": "string"
          },
          "traceTimeUtc": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "Project": {
        "required": [
          "name",
          "projectGroupNumber"
        ],
        "type": "object",
        "properties": {
          "number": {
            "maximum": 999999999,
            "minimum": 0,
            "type": "integer",
            "description": "The unique number of the project. If it's not provided in the POST requests, it is auto-generated.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: eq, ne, lt, lte, gt, gte, in, nin</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: true</p>",
            "format": "int32",
            "x-filterable": "eq, ne, lt, lte, gt, gte, in, nin",
            "x-sortable": true
          },
          "name": {
            "maxLength": 100,
            "minLength": 0,
            "type": "string",
            "description": "The name of the project.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: eq, ne, lt, lte, gt, gte, in, nin, like</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "x-filterable": "eq, ne, lt, lte, gt, gte, in, nin, like",
            "x-sortable": false
          },
          "projectGroupNumber": {
            "type": "integer",
            "description": "The number of the project group that the  project belongs to.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: eq, ne, lt, lte, gt, gte, in, nin</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "format": "int32",
            "x-filterable": "eq, ne, lt, lte, gt, gte, in, nin",
            "x-sortable": false
          },
          "customerNumber": {
            "maximum": 999999999,
            "minimum": 1,
            "type": [
              "null",
              "integer"
            ],
            "description": "The number of the customer that the project is assigned to. \n\nIt is required if the project belongs to an external project group.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: eq, ne, lt, lte, gt, gte, in, nin</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "format": "int32",
            "x-filterable": "eq, ne, lt, lte, gt, gte, in, nin",
            "x-sortable": false
          },
          "isClosed": {
            "type": "boolean",
            "description": "Flag indicating if the project has been closed or not. Closed project don't accept new entries.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Read-only: true</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: eq, ne, lt, lte, gt, gte</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "readOnly": true,
            "x-filterable": "eq, ne, lt, lte, gt, gte",
            "x-sortable": false
          },
          "mileage": {
            "type": "number",
            "description": "The default amount of mileage for the project.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: eq, ne, lt, lte, gt, gte, in, nin</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "format": "double",
            "x-filterable": "eq, ne, lt, lte, gt, gte, in, nin",
            "x-sortable": false
          },
          "isBarred": {
            "type": "boolean",
            "description": "Flag indicating if the project has been barred or not. Barred projects don't accept new entries.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: eq, ne, lt, lte, gt, gte</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "x-filterable": "eq, ne, lt, lte, gt, gte",
            "x-sortable": false
          },
          "isMainProject": {
            "type": "boolean",
            "description": "Flag indicating if a project is a main project or a sub-project. Main projects are grouping of projects and can't have entries (time entries, mileage entries, expenses), only sub-projects can.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: eq, ne, lt, lte, gt, gte</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "x-filterable": "eq, ne, lt, lte, gt, gte",
            "x-sortable": false
          },
          "isMileageInvoiced": {
            "type": "boolean",
            "description": "Flag indicating if mileage should be included on sales invoices.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: eq, ne, lt, lte, gt, gte</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "x-filterable": "eq, ne, lt, lte, gt, gte",
            "x-sortable": false
          },
          "lastUpdated": {
            "type": [
              "null",
              "string"
            ],
            "description": "The date and time when the project was last updated. Use it in the filter to retrieve only updated projects.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Read-only: true</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: eq, ne, lt, lte, gt, gte</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "format": "date-time",
            "readOnly": true,
            "x-filterable": "eq, ne, lt, lte, gt, gte",
            "x-sortable": false
          },
          "responsibleEmployeeNumber": {
            "type": [
              "null",
              "integer"
            ],
            "description": "The number of the employee that is responsible for the project.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: eq, ne, lt, lte, gt, gte, in, nin</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "format": "int32",
            "x-filterable": "eq, ne, lt, lte, gt, gte, in, nin",
            "x-sortable": false
          },
          "mainProjectNumber": {
            "type": [
              "null",
              "integer"
            ],
            "description": "The number of the main project that the sub-project is linked to. \n\nIt can be null - sub-projects can be standalone projects, they are not necessarily linked to a main project.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: eq, ne, lt, lte, gt, gte, in, nin</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "format": "int32",
            "x-filterable": "eq, ne, lt, lte, gt, gte, in, nin",
            "x-sortable": false
          },
          "otherResponsibleEmployeeNumber": {
            "type": [
              "null",
              "integer"
            ],
            "description": "The number of the second employee that is responsible for the project.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: eq, ne, lt, lte, gt, gte, in, nin</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "format": "int32",
            "x-filterable": "eq, ne, lt, lte, gt, gte, in, nin",
            "x-sortable": false
          },
          "status": {
            "type": [
              "null",
              "integer"
            ],
            "description": "The status of a project. Project status is a separate manageable resource. \n\nIt has 2 types: \n- 1: Quote sent \n- 2: Realised \r\n\r\n <p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: eq, ne, lt, lte, gt, gte, in, nin</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "format": "int32",
            "x-filterable": "eq, ne, lt, lte, gt, gte, in, nin",
            "x-sortable": false
          },
          "description": {
            "maxLength": 2500,
            "minLength": 0,
            "type": [
              "null",
              "string"
            ],
            "description": "Text describing the project.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: not filterable</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "x-filterable": "not filterable",
            "x-sortable": false
          },
          "deliveryDate": {
            "type": [
              "null",
              "string"
            ],
            "description": "The date when the project is to be delivered.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: eq, ne, lt, lte, gt, gte</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "format": "date-time",
            "x-filterable": "eq, ne, lt, lte, gt, gte",
            "x-sortable": false
          },
          "departmentNumber": {
            "type": [
              "null",
              "integer"
            ],
            "description": "The number of the department that the project is assigned to. \n\nIt requires the Dimension module to be installed. \n\nYou can find out if you have the Dimension module by calling this endpoint: https://restdocs.e-conomic.com/#self<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: eq, ne, lt, lte, gt, gte, in, nin</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "format": "int32",
            "x-filterable": "eq, ne, lt, lte, gt, gte, in, nin",
            "x-sortable": false
          },
          "closedDate": {
            "type": [
              "null",
              "string"
            ],
            "description": "The date when the project was closed and booked.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: eq, ne, lt, lte, gt, gte</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "format": "date-time",
            "x-filterable": "eq, ne, lt, lte, gt, gte",
            "x-sortable": false
          },
          "fixedPrice": {
            "type": [
              "null",
              "number"
            ],
            "description": "Fixed price agreed upon with a customer. It is not retrieved when invoicing, so it is only used for reporting.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: eq, ne, lt, lte, gt, gte, in, nin</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "format": "double",
            "x-filterable": "eq, ne, lt, lte, gt, gte, in, nin",
            "x-sortable": false
          },
          "costPrice": {
            "type": [
              "null",
              "number"
            ],
            "description": "The total cost price of all registrations (time entries, mileage entries and expenses) on the project.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Read-only: true</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: eq, ne, lt, lte, gt, gte, in, nin</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "format": "double",
            "readOnly": true,
            "x-filterable": "eq, ne, lt, lte, gt, gte, in, nin",
            "x-sortable": false
          },
          "salesPrice": {
            "type": [
              "null",
              "number"
            ],
            "description": "The total sales price of all registrations (time entries, mileage entries and expenses) on the project.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Read-only: true</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: eq, ne, lt, lte, gt, gte, in, nin</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "format": "double",
            "readOnly": true,
            "x-filterable": "eq, ne, lt, lte, gt, gte, in, nin",
            "x-sortable": false
          },
          "invoicedTotal": {
            "type": [
              "null",
              "number"
            ],
            "description": "The total amount that was invoiced for all registrations (time entries, mileage entries and expenses) on the project<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Read-only: true</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: eq, ne, lt, lte, gt, gte, in, nin</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "format": "double",
            "readOnly": true,
            "x-filterable": "eq, ne, lt, lte, gt, gte, in, nin",
            "x-sortable": false
          },
          "contactPersonId": {
            "type": [
              "null",
              "integer"
            ],
            "description": "The number of the customer contact that is to be used as a reference.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: eq, ne, lt, lte, gt, gte, in, nin</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "format": "int32",
            "x-filterable": "eq, ne, lt, lte, gt, gte, in, nin",
            "x-sortable": false
          },
          "deliveryLocationNumber": {
            "type": [
              "null",
              "integer"
            ],
            "description": "The number of the customer delivery location to be used for the project.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: eq, ne, lt, lte, gt, gte, in, nin</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "format": "int32",
            "x-filterable": "eq, ne, lt, lte, gt, gte, in, nin",
            "x-sortable": false
          },
          "otherReference": {
            "maxLength": 250,
            "minLength": 0,
            "type": [
              "null",
              "string"
            ],
            "description": "A text field that can be used to save any custom reference on the project.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: eq, ne, lt, lte, gt, gte</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "x-filterable": "eq, ne, lt, lte, gt, gte",
            "x-sortable": false
          },
          "objectVersion": {
            "type": [
              "null",
              "string"
            ],
            "description": "The object version, required for PUT requests to help ensure that updates made by others don’t get overwritten by your update request.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: not filterable</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "x-filterable": "not filterable",
            "x-sortable": false
          }
        },
        "additionalProperties": false
      },
      "ProjectActivity": {
        "required": [
          "activityNumber",
          "projectNumber"
        ],
        "type": "object",
        "properties": {
          "number": {
            "type": "integer",
            "description": "The system unique number of the project activity entry. This property is not visible in the UI.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: eq, ne, lt, lte, gt, gte, in, nin</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: true</p>",
            "format": "int32",
            "x-filterable": "eq, ne, lt, lte, gt, gte, in, nin",
            "x-sortable": true
          },
          "projectNumber": {
            "type": "integer",
            "description": "The number of the project that the activity is linked to.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: eq, ne, lt, lte, gt, gte, in, nin</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "format": "int32",
            "x-filterable": "eq, ne, lt, lte, gt, gte, in, nin",
            "x-sortable": false
          },
          "activityNumber": {
            "type": "integer",
            "description": "The number of the activity that is linked to the project.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: eq, ne, lt, lte, gt, gte, in, nin</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "format": "int32",
            "x-filterable": "eq, ne, lt, lte, gt, gte, in, nin",
            "x-sortable": false
          },
          "startDate": {
            "type": [
              "null",
              "string"
            ],
            "description": "The date when time registration on the project activity starts being allowed.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: eq, ne, lt, lte, gt, gte</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "format": "date-time",
            "x-filterable": "eq, ne, lt, lte, gt, gte",
            "x-sortable": false
          },
          "endDate": {
            "type": [
              "null",
              "string"
            ],
            "description": "The date when time registration on the project activity stops being allowed.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: eq, ne, lt, lte, gt, gte</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "format": "date-time",
            "x-filterable": "eq, ne, lt, lte, gt, gte",
            "x-sortable": false
          },
          "responsibleEmployeeNumber": {
            "type": [
              "null",
              "integer"
            ],
            "description": "The number of the employee that is responsible for the project activity.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: eq, ne, lt, lte, gt, gte, in, nin</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "format": "int32",
            "x-filterable": "eq, ne, lt, lte, gt, gte, in, nin",
            "x-sortable": false
          },
          "completed": {
            "type": "boolean",
            "description": "Flag indicating if a project activity is still ongoing or if it's completed. Time registration on completed activities is not possible.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: eq, ne, lt, lte, gt, gte</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "x-filterable": "eq, ne, lt, lte, gt, gte",
            "x-sortable": false
          },
          "objectVersion": {
            "type": [
              "null",
              "string"
            ],
            "description": "The object version, required for PUT requests to help ensure that updates made by others don’t get overwritten by your update request.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: not filterable</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "x-filterable": "not filterable",
            "x-sortable": false
          },
          "lastUpdated": {
            "type": [
              "null",
              "string"
            ],
            "description": "The date and time when the project activity entry was last updated. Use it in the filter to retrieve only updated entries.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Read-only: true</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: eq, ne, lt, lte, gt, gte</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "format": "date-time",
            "readOnly": true,
            "x-filterable": "eq, ne, lt, lte, gt, gte",
            "x-sortable": false
          }
        },
        "additionalProperties": false
      },
      "ProjectActivityCursorResults": {
        "type": "object",
        "properties": {
          "cursor": {
            "type": [
              "null",
              "string"
            ],
            "description": "Use this continuation cursor in a request back to continue the list. In case there are no more items to retrieve, the cursor is not returned at all.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Read-only: true</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: not filterable</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "readOnly": true,
            "x-filterable": "not filterable",
            "x-sortable": false
          },
          "items": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/ProjectActivity"
            },
            "description": "Max number of items returned is 1000.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: not filterable</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "x-filterable": "not filterable",
            "x-sortable": false
          }
        },
        "additionalProperties": false,
        "description": "Array of objects along with a cursor.",
        "example": {
          "cursor": "234",
          "items": [
            {
              "id": "13",
              "name": "Patrick"
            },
            {
              "id": "16",
              "name": "John"
            }
          ]
        },
        "x-cursor-page-size": 1000
      },
      "ProjectCursorResults": {
        "type": "object",
        "properties": {
          "cursor": {
            "type": [
              "null",
              "string"
            ],
            "description": "Use this continuation cursor in a request back to continue the list. In case there are no more items to retrieve, the cursor is not returned at all.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Read-only: true</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: not filterable</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "readOnly": true,
            "x-filterable": "not filterable",
            "x-sortable": false
          },
          "items": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/Project"
            },
            "description": "Max number of items returned is 1000.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: not filterable</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "x-filterable": "not filterable",
            "x-sortable": false
          }
        },
        "additionalProperties": false,
        "description": "Array of objects along with a cursor.",
        "example": {
          "cursor": "234",
          "items": [
            {
              "id": "13",
              "name": "Patrick"
            },
            {
              "id": "16",
              "name": "John"
            }
          ]
        },
        "x-cursor-page-size": 1000
      },
      "ProjectCustomer": {
        "required": [
          "name",
          "number"
        ],
        "type": "object",
        "properties": {
          "number": {
            "maximum": 999999999,
            "minimum": 1,
            "type": "integer",
            "description": "The unique number of the customer.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: eq, ne, lt, lte, gt, gte, in, nin</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: true</p>",
            "format": "int32",
            "x-filterable": "eq, ne, lt, lte, gt, gte, in, nin",
            "x-sortable": true
          },
          "name": {
            "maxLength": 255,
            "minLength": 0,
            "type": "string",
            "description": "The name of the customer.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: eq, ne, lt, lte, gt, gte, in, nin, like</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: true</p>",
            "x-filterable": "eq, ne, lt, lte, gt, gte, in, nin, like",
            "x-sortable": true
          },
          "objectVersion": {
            "type": [
              "null",
              "string"
            ],
            "description": "The object version, required for PUT requests to help ensure that updates made by others don’t get overwritten by your update request.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: not filterable</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "x-filterable": "not filterable",
            "x-sortable": false
          }
        },
        "additionalProperties": false
      },
      "ProjectCustomerCursorResults": {
        "type": "object",
        "properties": {
          "cursor": {
            "type": [
              "null",
              "string"
            ],
            "description": "Use this continuation cursor in a request back to continue the list. In case there are no more items to retrieve, the cursor is not returned at all.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Read-only: true</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: not filterable</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "readOnly": true,
            "x-filterable": "not filterable",
            "x-sortable": false
          },
          "items": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/ProjectCustomer"
            },
            "description": "Max number of items returned is 1000.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: not filterable</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "x-filterable": "not filterable",
            "x-sortable": false
          }
        },
        "additionalProperties": false,
        "description": "Array of objects along with a cursor.",
        "example": {
          "cursor": "234",
          "items": [
            {
              "id": "13",
              "name": "Patrick"
            },
            {
              "id": "16",
              "name": "John"
            }
          ]
        },
        "x-cursor-page-size": 1000
      },
      "ProjectEmployee": {
        "required": [
          "canApprove",
          "canInvoice",
          "groupNumber",
          "isBarred",
          "name",
          "number"
        ],
        "type": "object",
        "properties": {
          "number": {
            "maximum": 999999,
            "minimum": 1,
            "type": "integer",
            "description": "The unique number of the project employee.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: eq, ne, lt, lte, gt, gte, in, nin</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: true</p>",
            "format": "int32",
            "x-filterable": "eq, ne, lt, lte, gt, gte, in, nin",
            "x-sortable": true
          },
          "groupNumber": {
            "type": "integer",
            "description": "The number of the employee group that the employee belongs to.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: eq, ne, lt, lte, gt, gte, in, nin</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "format": "int32",
            "x-filterable": "eq, ne, lt, lte, gt, gte, in, nin",
            "x-sortable": false
          },
          "name": {
            "maxLength": 100,
            "minLength": 0,
            "type": "string",
            "description": "The name of the employee.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: eq, ne, lt, lte, gt, gte, in, nin, like</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "x-filterable": "eq, ne, lt, lte, gt, gte, in, nin, like",
            "x-sortable": false
          },
          "isUser": {
            "type": "boolean",
            "description": "Flag indicating if the employee is also a user.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Read-only: true</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: eq, ne, lt, lte, gt, gte</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "readOnly": true,
            "x-filterable": "eq, ne, lt, lte, gt, gte",
            "x-sortable": false
          },
          "userId": {
            "type": [
              "null",
              "string"
            ],
            "description": "The id of the user that the employee is linked to. It is null if the employee is not linked to any user.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Read-only: true</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: eq, ne, lt, lte, gt, gte, in, nin</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "readOnly": true,
            "x-filterable": "eq, ne, lt, lte, gt, gte, in, nin",
            "x-sortable": false
          },
          "canApprove": {
            "type": "boolean",
            "description": "Flag indicating if the employee can approve entries on a project.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: not filterable</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "x-filterable": "not filterable",
            "x-sortable": false
          },
          "employeeType": {
            "allOf": [
              {
                "description": "<details><summary><b>Click to see the list of possible values.</b></summary>\n\n| Value | Name | Description |\n| ----- | ---- | ----------- |\n| 0 | NotEmployee |  |\n| 1 | TimeLogger | FORM_USERS_EMPLOYEETYPE_TIMELOGGER |\n| 2 | ProjectManager | FORM_USERS_EMPLOYEETYPE_PROJECTMANAGER |\n| 3 | MobileTimeLogger | FORM_USERS_EMPLOYEETYPE_MOBILETIMELOGGER |\n</details>",
                "$ref": "#/components/schemas/EmployeeType"
              }
            ],
            "description": "Employee types: \n- 0: Not a user in e-conomic \n- 1: Time Logger \n- 2: Project Manager \n- 3: Mobile Time Logger \r\n\r\n \n\n<details><summary><b>Click to see the list of possible values.</b></summary>\n\n| Value | Name | Description |\n| ----- | ---- | ----------- |\n| 0 | NotEmployee |  |\n| 1 | TimeLogger | FORM_USERS_EMPLOYEETYPE_TIMELOGGER |\n| 2 | ProjectManager | FORM_USERS_EMPLOYEETYPE_PROJECTMANAGER |\n| 3 | MobileTimeLogger | FORM_USERS_EMPLOYEETYPE_MOBILETIMELOGGER |\n</details><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Read-only: true</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: eq, ne</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "readOnly": true,
            "x-filterable": "eq, ne",
            "x-sortable": false
          },
          "canInvoice": {
            "type": "boolean",
            "description": "Flag indicating if the employee can take mileage or time entries to the invoice process.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: eq, ne, lt, lte, gt, gte</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "x-filterable": "eq, ne, lt, lte, gt, gte",
            "x-sortable": false
          },
          "isBarred": {
            "type": "boolean",
            "description": "Flag indicating if the employee can be registered on or is barred.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: eq, ne, lt, lte, gt, gte</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "x-filterable": "eq, ne, lt, lte, gt, gte",
            "x-sortable": false
          },
          "address": {
            "maxLength": 100,
            "minLength": 0,
            "type": [
              "null",
              "string"
            ],
            "description": "The address of the employee.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: eq, ne, lt, lte, gt, gte, in, nin</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "x-filterable": "eq, ne, lt, lte, gt, gte, in, nin",
            "x-sortable": false
          },
          "city": {
            "maxLength": 50,
            "minLength": 0,
            "type": [
              "null",
              "string"
            ],
            "description": "The city of residence of the employee.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: eq, ne, lt, lte, gt, gte, in, nin</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "x-filterable": "eq, ne, lt, lte, gt, gte, in, nin",
            "x-sortable": false
          },
          "zipCode": {
            "maxLength": 50,
            "minLength": 0,
            "type": [
              "null",
              "string"
            ],
            "description": "The employee's zip code.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: eq, ne, lt, lte, gt, gte, in, nin</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "x-filterable": "eq, ne, lt, lte, gt, gte, in, nin",
            "x-sortable": false
          },
          "cutOffDate": {
            "type": [
              "null",
              "string"
            ],
            "description": "The date when the costPriceBefore and salesPriceBefore stop having effect and get replaced with costPriceAfter and salesPriceAfter. It can be null if only salesPriceBefore should apply.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: eq, ne, lt, lte, gt, gte</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: true</p>",
            "format": "date",
            "x-filterable": "eq, ne, lt, lte, gt, gte",
            "x-sortable": true
          },
          "salesPriceBefore": {
            "type": [
              "null",
              "number"
            ],
            "description": "The sales price that is to be applied until the CutOffDate. \nThe employee sales price determines the sales price of a time entry, provided that there is no price set on the activity specified on the time entry.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: eq, ne, lt, lte, gt, gte, in, nin</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: true</p>",
            "format": "double",
            "x-filterable": "eq, ne, lt, lte, gt, gte, in, nin",
            "x-sortable": true
          },
          "salesPriceAfter": {
            "type": [
              "null",
              "number"
            ],
            "description": "The sales price that is to be applied after the CutOffDate. \nThe employee sales price determines the sales price of a time entry, provided that there is no price set on the activity specified on the time entry.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: eq, ne, lt, lte, gt, gte, in, nin</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: true</p>",
            "format": "double",
            "x-filterable": "eq, ne, lt, lte, gt, gte, in, nin",
            "x-sortable": true
          },
          "costPriceBefore": {
            "type": [
              "null",
              "number"
            ],
            "description": "The cost price that is to be applied until the CutOffDate. \nThe employee cost price determines the cost price of a time entry, which can be adjusted with the CostPriceMarkupPercentage set on the activity specified on the time entry.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: eq, ne, lt, lte, gt, gte, in, nin</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: true</p>",
            "format": "double",
            "x-filterable": "eq, ne, lt, lte, gt, gte, in, nin",
            "x-sortable": true
          },
          "costPriceAfter": {
            "type": [
              "null",
              "number"
            ],
            "description": "The cost price that is to be applied after the CutOffDate. \nThe employee cost price determines the cost price of a time entry, which can be adjusted with the CostPriceMarkupPercentage set on the activity specified on the time entry.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: eq, ne, lt, lte, gt, gte, in, nin</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: true</p>",
            "format": "double",
            "x-filterable": "eq, ne, lt, lte, gt, gte, in, nin",
            "x-sortable": true
          },
          "objectVersion": {
            "type": [
              "null",
              "string"
            ],
            "description": "The object version, required for PUT requests to help ensure that updates made by others don’t get overwritten by your update request.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: not filterable</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "x-filterable": "not filterable",
            "x-sortable": false
          }
        },
        "additionalProperties": false
      },
      "ProjectEmployeeCursorResults": {
        "type": "object",
        "properties": {
          "cursor": {
            "type": [
              "null",
              "string"
            ],
            "description": "Use this continuation cursor in a request back to continue the list. In case there are no more items to retrieve, the cursor is not returned at all.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Read-only: true</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: not filterable</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "readOnly": true,
            "x-filterable": "not filterable",
            "x-sortable": false
          },
          "items": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/ProjectEmployee"
            },
            "description": "Max number of items returned is 1000.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: not filterable</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "x-filterable": "not filterable",
            "x-sortable": false
          }
        },
        "additionalProperties": false,
        "description": "Array of objects along with a cursor.",
        "example": {
          "cursor": "234",
          "items": [
            {
              "id": "13",
              "name": "Patrick"
            },
            {
              "id": "16",
              "name": "John"
            }
          ]
        },
        "x-cursor-page-size": 1000
      },
      "ProjectEmployeeGroup": {
        "required": [
          "name",
          "number"
        ],
        "type": "object",
        "properties": {
          "number": {
            "maximum": 999999999,
            "minimum": 1,
            "type": "integer",
            "description": "The unique number of the employee group.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: eq, ne, lt, lte, gt, gte, in, nin</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: true</p>",
            "format": "int32",
            "x-filterable": "eq, ne, lt, lte, gt, gte, in, nin",
            "x-sortable": true
          },
          "name": {
            "maxLength": 100,
            "minLength": 0,
            "type": "string",
            "description": "The name of the employee group.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: eq, ne, lt, lte, gt, gte, in, nin, like</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "x-filterable": "eq, ne, lt, lte, gt, gte, in, nin, like",
            "x-sortable": false
          },
          "objectVersion": {
            "type": [
              "null",
              "string"
            ],
            "description": "The object version, required for PUT requests to help ensure that updates made by others don’t get overwritten by your update request.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: not filterable</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "x-filterable": "not filterable",
            "x-sortable": false
          }
        },
        "additionalProperties": false
      },
      "ProjectEmployeeGroupCursorResults": {
        "type": "object",
        "properties": {
          "cursor": {
            "type": [
              "null",
              "string"
            ],
            "description": "Use this continuation cursor in a request back to continue the list. In case there are no more items to retrieve, the cursor is not returned at all.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Read-only: true</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: not filterable</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "readOnly": true,
            "x-filterable": "not filterable",
            "x-sortable": false
          },
          "items": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/ProjectEmployeeGroup"
            },
            "description": "Max number of items returned is 1000.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: not filterable</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "x-filterable": "not filterable",
            "x-sortable": false
          }
        },
        "additionalProperties": false,
        "description": "Array of objects along with a cursor.",
        "example": {
          "cursor": "234",
          "items": [
            {
              "id": "13",
              "name": "Patrick"
            },
            {
              "id": "16",
              "name": "John"
            }
          ]
        },
        "x-cursor-page-size": 1000
      },
      "ProjectGroup": {
        "required": [
          "name",
          "type"
        ],
        "type": "object",
        "properties": {
          "number": {
            "type": "integer",
            "description": "The unique number of the project group.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: eq, ne, lt, lte, gt, gte, in, nin</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: true</p>",
            "format": "int32",
            "x-filterable": "eq, ne, lt, lte, gt, gte, in, nin",
            "x-sortable": true
          },
          "name": {
            "maxLength": 100,
            "minLength": 0,
            "type": "string",
            "description": "The name of the project group.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: eq, ne, lt, lte, gt, gte, in, nin, like</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "x-filterable": "eq, ne, lt, lte, gt, gte, in, nin, like",
            "x-sortable": false
          },
          "type": {
            "allOf": [
              {
                "description": "<details><summary><b>Click to see the list of possible values.</b></summary>\n\n| Value | Name | Description |\n| ----- | ---- | ----------- |\n| 1 | Internal |  |\n| 2 | ExternalInvoicable |  |\n| 3 | ExternalNonInvoicable |  |\n</details>",
                "$ref": "#/components/schemas/ProjectGroupType"
              }
            ],
            "description": "The project group type determines whether a customer can be invoiced for the costs (time entries, mileage entries, expenses) registered on a project or not. \n\nOnly projects that are part of an external, invoiceable group support billable costs.  \n\nProject group types are: \n- 1: Internal \n- 2: External, invoiceable \n- 3: External non-invoiceable \r\n\r\n \n\n<details><summary><b>Click to see the list of possible values.</b></summary>\n\n| Value | Name | Description |\n| ----- | ---- | ----------- |\n| 1 | Internal |  |\n| 2 | ExternalInvoicable |  |\n| 3 | ExternalNonInvoicable |  |\n</details><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: eq, ne</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "x-filterable": "eq, ne",
            "x-sortable": false
          },
          "includeCostPriceInFinance": {
            "type": "boolean",
            "description": "Flag indicating if project costs are to be included in accounting or not.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: eq, ne, lt, lte, gt, gte</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "x-filterable": "eq, ne, lt, lte, gt, gte",
            "x-sortable": false
          },
          "costAccountOngoingType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OngoingAccountType"
              }
            ],
            "description": "The type of account to be used for booking the revenue from ongoing projects: \n- 0: Debit \n- 1: Credit \n\nIf includeCostPriceInFinance is set to true, this property is required. Otherwise, it cannot be provided.\n\n<details><summary><b>Click to see the list of possible values.</b></summary>\n\n| Value | Name | Description |\n| ----- | ---- | ----------- |\n| 0 | Debit | debit |\n| 1 | Credit | credit |\n</details><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: not filterable</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "x-filterable": "not filterable",
            "x-sortable": false
          },
          "costAccountOngoing": {
            "type": [
              "null",
              "integer"
            ],
            "description": "The account number to register costs for ongoing projects. \n\nIf includeCostPriceInFinance is set to true, this property is required. Otherwise, it cannot be provided. \n\nOnly accessible accounts (not barred) with accountType==\"status\" or \"profitAndLoss\" are allowed.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: eq, ne, lt, lte, gt, gte, in, nin</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "format": "int32",
            "x-filterable": "eq, ne, lt, lte, gt, gte, in, nin",
            "x-sortable": false
          },
          "costContraAccountOngoing": {
            "type": [
              "null",
              "integer"
            ],
            "description": "The contra account number to register costs for ongoing projects. \n\nIf includeCostPriceInFinance is set to true, this property is required. Otherwise, it cannot be provided. \n\nOnly accessible accounts (not barred) with accountType==\"status\" or \"profitAndLoss\" are allowed.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: eq, ne, lt, lte, gt, gte, in, nin</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "format": "int32",
            "x-filterable": "eq, ne, lt, lte, gt, gte, in, nin",
            "x-sortable": false
          },
          "costAccountClosed": {
            "type": [
              "null",
              "integer"
            ],
            "description": "The account number to register costs for closed projects. \n\nIf includeCostPriceInFinance is set to true, this property is required. Otherwise, it cannot be provided. \n\nOnly accessible accounts (not barred) with accountType==\"status\" or \"profitAndLoss\" are allowed.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: eq, ne, lt, lte, gt, gte, in, nin</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "format": "int32",
            "x-filterable": "eq, ne, lt, lte, gt, gte, in, nin",
            "x-sortable": false
          },
          "includeSalesPriceInFinance": {
            "type": "boolean",
            "description": "Flag indicating if the project revenue is to be included in accounting or not.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: eq, ne, lt, lte, gt, gte</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "x-filterable": "eq, ne, lt, lte, gt, gte",
            "x-sortable": false
          },
          "salesAccountOngoingType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OngoingAccountType"
              }
            ],
            "description": "The type of account to be used for revenue from ongoing projects: \n- 0: Debit \n- 1: Credit  \n\nIf includeSalesPriceInFinance is set to true, this property is required. Otherwise, it cannot be provided.\n\n<details><summary><b>Click to see the list of possible values.</b></summary>\n\n| Value | Name | Description |\n| ----- | ---- | ----------- |\n| 0 | Debit | debit |\n| 1 | Credit | credit |\n</details><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: not filterable</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "x-filterable": "not filterable",
            "x-sortable": false
          },
          "salesAccountOngoing": {
            "type": [
              "null",
              "integer"
            ],
            "description": "The account number to register revenue for ongoing projects. \n\nIf includeSalesPriceInFinance is set to true, this property is required. Otherwise, it cannot be provided. \n\nOnly accessible accounts (not barred) with accountType==\"status\" or \"profitAndLoss\" are allowed.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: eq, ne, lt, lte, gt, gte, in, nin</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "format": "int32",
            "x-filterable": "eq, ne, lt, lte, gt, gte, in, nin",
            "x-sortable": false
          },
          "salesContraAccountOngoing": {
            "type": [
              "null",
              "integer"
            ],
            "description": "The contra account number to register revenue for ongoing projects. \n\nIf includeSalesPriceInFinance is set to true, this property is required. Otherwise, it cannot be provided. \n\nOnly accessible accounts (not barred) with accountType==\"status\" or \"profitAndLoss\" are allowed.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: eq, ne, lt, lte, gt, gte, in, nin</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "format": "int32",
            "x-filterable": "eq, ne, lt, lte, gt, gte, in, nin",
            "x-sortable": false
          },
          "salesAccountClosed": {
            "type": [
              "null",
              "integer"
            ],
            "description": "The account number to register revenue for closed projects. \n\nIf includeSalesPriceInFinance is set to true, this property is required. Otherwise, it cannot be provided. \n\nOnly accessible accounts (not barred) with accountType==\"status\" or \"profitAndLoss\" are allowed.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: eq, ne, lt, lte, gt, gte, in, nin</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "format": "int32",
            "x-filterable": "eq, ne, lt, lte, gt, gte, in, nin",
            "x-sortable": false
          },
          "objectVersion": {
            "type": [
              "null",
              "string"
            ],
            "description": "The object version, required for PUT requests to help ensure that updates made by others don’t get overwritten by your update request.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: not filterable</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "x-filterable": "not filterable",
            "x-sortable": false
          }
        },
        "additionalProperties": false
      },
      "ProjectGroupCursorResults": {
        "type": "object",
        "properties": {
          "cursor": {
            "type": [
              "null",
              "string"
            ],
            "description": "Use this continuation cursor in a request back to continue the list. In case there are no more items to retrieve, the cursor is not returned at all.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Read-only: true</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: not filterable</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "readOnly": true,
            "x-filterable": "not filterable",
            "x-sortable": false
          },
          "items": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/ProjectGroup"
            },
            "description": "Max number of items returned is 1000.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: not filterable</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "x-filterable": "not filterable",
            "x-sortable": false
          }
        },
        "additionalProperties": false,
        "description": "Array of objects along with a cursor.",
        "example": {
          "cursor": "234",
          "items": [
            {
              "id": "13",
              "name": "Patrick"
            },
            {
              "id": "16",
              "name": "John"
            }
          ]
        },
        "x-cursor-page-size": 1000
      },
      "ProjectGroupType": {
        "type": "integer",
        "oneOf": [
          {
            "const": 1,
            "title": "Internal"
          },
          {
            "const": 2,
            "title": "ExternalInvoicable"
          },
          {
            "const": 3,
            "title": "ExternalNonInvoicable"
          }
        ],
        "description": "<details><summary><b>Click to see the list of possible values.</b></summary>\n\n| Value | Name | Description |\n| ----- | ---- | ----------- |\n| 1 | Internal |  |\n| 2 | ExternalInvoicable |  |\n| 3 | ExternalNonInvoicable |  |\n</details>"
      },
      "ProjectStatus": {
        "type": "object",
        "properties": {
          "number": {
            "type": "integer",
            "description": "The unique number of the project status.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: eq, ne, lt, lte, gt, gte, in, nin</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: true</p>",
            "format": "int32",
            "x-filterable": "eq, ne, lt, lte, gt, gte, in, nin",
            "x-sortable": true
          },
          "name": {
            "type": [
              "null",
              "string"
            ],
            "description": "The name of the project status.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: eq, ne, lt, lte, gt, gte, in, nin, like</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "x-filterable": "eq, ne, lt, lte, gt, gte, in, nin, like",
            "x-sortable": false
          },
          "type": {
            "allOf": [
              {
                "description": "<details><summary><b>Click to see the list of possible values.</b></summary>\n\n| Value | Name | Description |\n| ----- | ---- | ----------- |\n| 1 | QuoteSent |  |\n| 2 | Realised |  |\n</details>",
                "$ref": "#/components/schemas/ProjectStatusType"
              }
            ],
            "description": "Project status types: \n- 1: Quote sent \n- 2: Realised \r\n\r\n \n\n<details><summary><b>Click to see the list of possible values.</b></summary>\n\n| Value | Name | Description |\n| ----- | ---- | ----------- |\n| 1 | QuoteSent |  |\n| 2 | Realised |  |\n</details><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: eq, ne</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "x-filterable": "eq, ne",
            "x-sortable": false
          },
          "priority": {
            "type": "integer",
            "description": "A number that defines the priority of a project.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: eq, ne, lt, lte, gt, gte, in, nin</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "format": "int32",
            "x-filterable": "eq, ne, lt, lte, gt, gte, in, nin",
            "x-sortable": false
          },
          "objectVersion": {
            "type": [
              "null",
              "string"
            ],
            "description": "The object version, required for PUT requests to help ensure that updates made by others don’t get overwritten by your update request.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: not filterable</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "x-filterable": "not filterable",
            "x-sortable": false
          }
        },
        "additionalProperties": false
      },
      "ProjectStatusCursorResults": {
        "type": "object",
        "properties": {
          "cursor": {
            "type": [
              "null",
              "string"
            ],
            "description": "Use this continuation cursor in a request back to continue the list. In case there are no more items to retrieve, the cursor is not returned at all.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Read-only: true</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: not filterable</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "readOnly": true,
            "x-filterable": "not filterable",
            "x-sortable": false
          },
          "items": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/ProjectStatus"
            },
            "description": "Max number of items returned is 1000.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: not filterable</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "x-filterable": "not filterable",
            "x-sortable": false
          }
        },
        "additionalProperties": false,
        "description": "Array of objects along with a cursor.",
        "example": {
          "cursor": "234",
          "items": [
            {
              "id": "13",
              "name": "Patrick"
            },
            {
              "id": "16",
              "name": "John"
            }
          ]
        },
        "x-cursor-page-size": 1000
      },
      "ProjectStatusType": {
        "type": "integer",
        "oneOf": [
          {
            "const": 1,
            "title": "QuoteSent"
          },
          {
            "const": 2,
            "title": "Realised"
          }
        ],
        "description": "<details><summary><b>Click to see the list of possible values.</b></summary>\n\n| Value | Name | Description |\n| ----- | ---- | ----------- |\n| 1 | QuoteSent |  |\n| 2 | Realised |  |\n</details>"
      },
      "TimeEntry": {
        "required": [
          "activityNumber",
          "date",
          "employeeNumber",
          "projectNumber"
        ],
        "type": "object",
        "properties": {
          "number": {
            "type": "integer",
            "description": "The time entry unique identifier.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: eq, ne, lt, lte, gt, gte, in, nin</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: true</p>",
            "format": "int32",
            "x-filterable": "eq, ne, lt, lte, gt, gte, in, nin",
            "x-sortable": true
          },
          "projectNumber": {
            "type": "integer",
            "description": "The number of the project that the time entry is to be registered on.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: eq, ne, lt, lte, gt, gte, in, nin</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "format": "int32",
            "x-filterable": "eq, ne, lt, lte, gt, gte, in, nin",
            "x-sortable": false
          },
          "activityNumber": {
            "type": "integer",
            "description": "The number of the activity that the time entry is to be registered on.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: eq, ne, lt, lte, gt, gte, in, nin</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "format": "int32",
            "x-filterable": "eq, ne, lt, lte, gt, gte, in, nin",
            "x-sortable": false
          },
          "employeeNumber": {
            "type": "integer",
            "description": "The number of the employee that the time entry is to be registered for.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: eq, ne, lt, lte, gt, gte, in, nin</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "format": "int32",
            "x-filterable": "eq, ne, lt, lte, gt, gte, in, nin",
            "x-sortable": false
          },
          "date": {
            "type": "string",
            "description": "The date for which the time entry is registered.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: eq, ne, lt, lte, gt, gte</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "format": "date-time",
            "x-filterable": "eq, ne, lt, lte, gt, gte",
            "x-sortable": false
          },
          "text": {
            "type": [
              "null",
              "string"
            ],
            "description": "Text description that can be used to add extra information related to the time entry.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: eq, ne, lt, lte, gt, gte, in, nin, like</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "x-filterable": "eq, ne, lt, lte, gt, gte, in, nin, like",
            "x-sortable": false
          },
          "numberOfHours": {
            "type": [
              "null",
              "number"
            ],
            "description": "The number of hours reported in a time entry.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: eq, ne, lt, lte, gt, gte, in, nin</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "format": "double",
            "x-filterable": "eq, ne, lt, lte, gt, gte, in, nin",
            "x-sortable": false
          },
          "isApproved": {
            "type": "boolean",
            "description": "Flag indicating if the time entry has been approved or not. If it has been approved, it cannot be updated anymore.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Read-only: true</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: eq, ne, lt, lte, gt, gte</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "readOnly": true,
            "x-filterable": "eq, ne, lt, lte, gt, gte",
            "x-sortable": false
          },
          "isReconciled": {
            "type": [
              "null",
              "boolean"
            ],
            "description": "Flag indicating if the time entry has been reconciled or not.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Read-only: true</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: eq, ne, lt, lte, gt, gte</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "readOnly": true,
            "x-filterable": "eq, ne, lt, lte, gt, gte",
            "x-sortable": false
          },
          "lastUpdated": {
            "type": "string",
            "description": "The date when the time entry was last updated.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Read-only: true</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: eq, ne, lt, lte, gt, gte</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "format": "date-time",
            "readOnly": true,
            "x-filterable": "eq, ne, lt, lte, gt, gte",
            "x-sortable": false
          },
          "objectVersion": {
            "type": [
              "null",
              "string"
            ],
            "description": "The object version, required for PUT requests to help ensure that updates made by others don’t get overwritten by your update request.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: not filterable</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "x-filterable": "not filterable",
            "x-sortable": false
          }
        },
        "additionalProperties": false
      },
      "TimeEntryBookOn": {
        "type": "integer",
        "oneOf": [
          {
            "const": 0,
            "title": "EndOfMonthOrCurrentDay"
          },
          {
            "const": 1,
            "title": "RegistrationDate"
          }
        ],
        "description": "<details><summary><b>Click to see the list of possible values.</b></summary>\n\n| Value | Name | Description |\n| ----- | ---- | ----------- |\n| 0 | EndOfMonthOrCurrentDay |  |\n| 1 | RegistrationDate |  |\n</details>"
      },
      "TimeEntryCursorResults": {
        "type": "object",
        "properties": {
          "cursor": {
            "type": [
              "null",
              "string"
            ],
            "description": "Use this continuation cursor in a request back to continue the list. In case there are no more items to retrieve, the cursor is not returned at all.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Read-only: true</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: not filterable</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "readOnly": true,
            "x-filterable": "not filterable",
            "x-sortable": false
          },
          "items": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/TimeEntry"
            },
            "description": "Max number of items returned is 1000.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: not filterable</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "x-filterable": "not filterable",
            "x-sortable": false
          }
        },
        "additionalProperties": false,
        "description": "Array of objects along with a cursor.",
        "example": {
          "cursor": "234",
          "items": [
            {
              "id": "13",
              "name": "Patrick"
            },
            {
              "id": "16",
              "name": "John"
            }
          ]
        },
        "x-cursor-page-size": 1000
      },
      "TimeEntryNumbersCollection": {
        "required": [
          "numbers"
        ],
        "type": "object",
        "properties": {
          "numbers": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "description": "The numbers of the time entries to be approved.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: not filterable</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "x-filterable": "not filterable",
            "x-sortable": false
          },
          "bookOn": {
            "allOf": [
              {
                "description": "<details><summary><b>Click to see the list of possible values.</b></summary>\n\n| Value | Name | Description |\n| ----- | ---- | ----------- |\n| 0 | EndOfMonthOrCurrentDay |  |\n| 1 | RegistrationDate |  |\n</details>",
                "$ref": "#/components/schemas/TimeEntryBookOn"
              }
            ],
            "description": "Determines the date on which time entries should be booked during approval: \n- 0: EndOfMonthOrCurrentDay - end of registration month if the time entry was registered for a previous month and current day if the time entry was registered for the current month \n- 1: RegistrationDate - the registration day. \n\nIf the property is omitted, time entries will be booked on the end of registration month or on the current day. \n\n<details><summary><b>Click to see the list of possible values.</b></summary>\n\n| Value | Name | Description |\n| ----- | ---- | ----------- |\n| 0 | EndOfMonthOrCurrentDay |  |\n| 1 | RegistrationDate |  |\n</details><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: not filterable</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "x-filterable": "not filterable",
            "x-sortable": false
          }
        },
        "additionalProperties": false
      },
      "TimeEntryPrices": {
        "type": "object",
        "properties": {
          "number": {
            "type": "integer",
            "description": "The time entry unique identifier.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: eq, ne, lt, lte, gt, gte, in, nin</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: true</p>",
            "format": "int32",
            "x-filterable": "eq, ne, lt, lte, gt, gte, in, nin",
            "x-sortable": true
          },
          "costPrice": {
            "type": [
              "null",
              "number"
            ],
            "description": "The cost price of the time entry, calculated as follows: \n\nCostPrice = (employee costPrice + activity costPriceMarkupPercentage) x time entry numberOfHours.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Read-only: true</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: not filterable</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "format": "double",
            "readOnly": true,
            "x-filterable": "not filterable",
            "x-sortable": false
          },
          "salesPrice": {
            "type": [
              "null",
              "number"
            ],
            "description": "The sales price of the time entry, calculated as follows: \n\nSalesPrice = activity salesPrice x time entry numberOfHours. \n\nIf there is no sales price set on the activity, then SalesPrice = employee salesPrice x time entry numberOfHours.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Read-only: true</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: not filterable</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "format": "double",
            "readOnly": true,
            "x-filterable": "not filterable",
            "x-sortable": false
          }
        },
        "additionalProperties": false
      },
      "TimeEntryPricesCursorResults": {
        "type": "object",
        "properties": {
          "cursor": {
            "type": [
              "null",
              "string"
            ],
            "description": "Use this continuation cursor in a request back to continue the list. In case there are no more items to retrieve, the cursor is not returned at all.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Read-only: true</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: not filterable</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "readOnly": true,
            "x-filterable": "not filterable",
            "x-sortable": false
          },
          "items": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/TimeEntryPrices"
            },
            "description": "Max number of items returned is 1000.<p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Filterable: not filterable</p><p style='font-style:italic;font-family:monospace;font-size:small;margin:0'>Sortable: false</p>",
            "x-filterable": "not filterable",
            "x-sortable": false
          }
        },
        "additionalProperties": false,
        "description": "Array of objects along with a cursor.",
        "example": {
          "cursor": "234",
          "items": [
            {
              "id": "13",
              "name": "Patrick"
            },
            {
              "id": "16",
              "name": "John"
            }
          ]
        },
        "x-cursor-page-size": 1000
      }
    },
    "securitySchemes": {
      "X-AppSecretToken": {
        "type": "apiKey",
        "description": "Application secret token needed to access the endpoints.",
        "name": "X-AppSecretToken",
        "in": "header"
      },
      "X-AgreementGrantToken": {
        "type": "apiKey",
        "description": "Agreement grant token needed to access the endpoints.",
        "name": "X-AgreementGrantToken",
        "in": "header"
      }
    }
  },
  "security": [
    {
      "X-AppSecretToken": [ ],
      "X-AgreementGrantToken": [ ]
    }
  ],
  "tags": [
    {
      "name": "Activities",
      "description": "<code>Activities</code> provide the means to set custom prices for the time <code>Employees</code> spend working on a <code>Project</code>.<br>\n\n\n#### Examples of use cases:\n\n* Retrieve all activities.\n* Display the activities which allow time registration.\n\n\nRelated guide for users: [e-copedia](https://www.e-conomic.dk/support/artikler/opret-aktivitet-i-projekt) (Danish)\n\n<details><summary><b>Click to see the list of possible error codes.</b></summary>\n\n| Error Code | Description |\n| ---------- | ----------- |\n| ActivityNumberAlreadyExists | Activity cannot be created since the given number already exists. |\n| ActivityGroupNumberDoesNotExist | Activity cannot be created or updated since the given group does not exist. |\n| ActivityNameNullOrEmpty | Activity cannot be created or updated since its name cannot be null or empty. |\n</details>\n\n**Required application roles:** SuperUser or ProjectEmployee [More info](https://www.e-conomic.com/developer/permissions)",
      "x-error-codes": [
        "ActivityGroupNumberDoesNotExist",
        "ActivityNameNullOrEmpty",
        "ActivityNumberAlreadyExists"
      ],
      "x-required-roles": [
        "ProjectEmployee",
        "SuperUser"
      ]
    },
    {
      "name": "ActivityGroups",
      "description": "<code>Activity Groups</code> allow for the classification of activities as:\n- productive, invoiceable,\n- productive, non-invoiceable or\n- unproductive.\n\nProductive activities are activities with economic value.\n\nThe distinction between invoiceable and non-invoiceable is whether time entries registered on an activity are to be considered billable to the user's customer or not.\n\nAdditionally, activity groups determine if registrations on an activity should have an impact on the financial accounting or not.\n\n\n#### Examples of use cases:\n\n* Retrieve all activity groups;\n* Display all activity groups when creating a new activity.\n\n\nRelated guide for users: [e-copedia](https://www.e-conomic.dk/support/artikler/opret-en-aktivitetsgruppe) (Danish)\n\n<details><summary><b>Click to see the list of possible error codes.</b></summary>\n\n| Error Code | Description |\n| ---------- | ----------- |\n| ActivityGroupCannotBeCreatedUpdatedNumberAlreadyExists | Activity group cannot be created since the given number already exists. |\n| ActivityGroupCannotBeCreatedUpdatedCostDataInvalid | Activity group cannot be created or updated. If includeCostPriceInFinance is true, then costAccountOngoingType, costAccountOngoing, costContraAccountOngoing and costAccountClosed are required, otherwise they should be ommited. |\n| ActivityGroupCannotBeCreatedUpdatedSalesDataInvalid | Activity group cannot be created or updated. If includeSalesPriceInFinance is true, then salesAccountOngoingType, salesAccountOngoing, salesContraAccountOngoing and salesAccountClosed are required, otherwise they should be ommited. |\n| ActivityGroupCannotBeCreatedUpdatedAccountDoesNotExist | Activity group cannot be created or updated. The account does not exist. |\n| ActivityGroupCannotBeCreatedUpdatedAccountIsBarred | Activity group cannot be created or updated. The account is barred. |\n| ActivityGroupCannotBeCreatedUpdatedAccountIsOfWrongType | Activity group cannot be created or updated. The type of the account needs to be either `Balance` or `Profit & Loss`. |\n</details>\n\n**Required application roles:** SuperUser or ProjectEmployee [More info](https://www.e-conomic.com/developer/permissions)",
      "x-error-codes": [
        "ActivityGroupCannotBeCreatedUpdatedAccountDoesNotExist",
        "ActivityGroupCannotBeCreatedUpdatedAccountIsBarred",
        "ActivityGroupCannotBeCreatedUpdatedAccountIsOfWrongType",
        "ActivityGroupCannotBeCreatedUpdatedCostDataInvalid",
        "ActivityGroupCannotBeCreatedUpdatedNumberAlreadyExists",
        "ActivityGroupCannotBeCreatedUpdatedSalesDataInvalid"
      ],
      "x-required-roles": [
        "ProjectEmployee",
        "SuperUser"
      ]
    },
    {
      "name": "CostTypeGroups",
      "description": "<code>Cost type groups</code> endpoints help distinguish between invoiceable and non-invoiceable cost types.\n\nThe difference between the two is that only expenses with invoiceable cost types can be transferred to an invoice.\n\nAdditionally, cost type groups determine the accounts where booked expenses go.\n\n\n#### Example of use cases:\n\n* Retrieve information related to cost type groups.\n\nRelated guide for users: [e-copedia](https://www.e-conomic.dk/support/artikler/opret-en-omkostningsgruppe-i-projekt) (Danish)\n\n\n**Required application roles:** SuperUser or ProjectEmployee [More info](https://www.e-conomic.com/developer/permissions)",
      "x-required-roles": [
        "ProjectEmployee",
        "SuperUser"
      ]
    },
    {
      "name": "CostTypes",
      "description": "<code>Cost types</code> endpoints help create expenses.\n\nThey determine whether an expense is invoiceable - through the cost type group assigned to the cost type - and the VAT code that's going to be applied.\n\n\n\n#### Example of use cases:\n\n* Retrieve all cost types;\n* Display all cost types when creating an expense.\n\nRelated guide for users: [e-copedia](https://www.e-conomic.dk/support/artikler/knapper-og-felter-i-projekter#omkostningprojekt) (Danish)\n\n\n**Required application roles:** SuperUser or ProjectEmployee [More info](https://www.e-conomic.com/developer/permissions)",
      "x-required-roles": [
        "ProjectEmployee",
        "SuperUser"
      ]
    },
    {
      "name": "EmployeeGroups",
      "description": "<code>Employee Groups</code> help distinguish between various categories of employees.\n\n\n#### Examples of use cases:\n\n* Retrieve all employee groups;\n* Display all employee groups when creating a new employee.\n\n\nRelated guide for users: [e-copedia](https://www.e-conomic.dk/support/artikler/opret-medarbejdergruppe) (Danish)\n\n<details><summary><b>Click to see the list of possible error codes.</b></summary>\n\n| Error Code | Description |\n| ---------- | ----------- |\n| EmployeeGroupNumberAlreadyExists | Employee group cannot be created since the given number already exists. |\n| ERROR_BOUNDCOWORKERACCOUNTCOWORKERINCHOSENGROUP | The employee group contains one or more employees. |\n</details>\n\n**Required application roles:** SuperUser or Sales [More info](https://www.e-conomic.com/developer/permissions)",
      "x-error-codes": [
        "ERROR_BOUNDCOWORKERACCOUNTCOWORKERINCHOSENGROUP",
        "EmployeeGroupNumberAlreadyExists"
      ],
      "x-required-roles": [
        "Sales",
        "SuperUser"
      ]
    },
    {
      "name": "Employees",
      "description": "<code>Employees</code> endpoints help retrieve the list of existing employees.\n\n\n#### Examples of use cases:\n\n* Retrieve all employees who have a certain name;\n* Display all employees when selecting a contact person for a project, sales document or customer.\n\n\nRelated guide for users: [e-copedia](https://www.e-conomic.dk/support/artikler/medarbejdere) (Danish)\n\n<details><summary><b>Click to see the list of possible error codes.</b></summary>\n\n| Error Code | Description |\n| ---------- | ----------- |\n| EmployeeCannotBeCreatedUpdatedNumberAlreadyExists | Employee cannot be created since the given number already exists. |\n| EmployeeCannotBeCreatedUpdatedGroupNotFound | Employee cannot be created or updated since the given employee group was not found. |\n| EmployeeCannotBeCreatedUpdatedNameNullOrEmpty | Employee cannot be created or updated since employee name cannot be null or empty. |\n| ERROR_BOUNDCOWORKERTHEREISNUMBEROFPOSTSONDRAFTS | Finance vouchers exist for the selected employee. |\n| ERROR_BOUNDCOWORKERACCOUNTNUMBEROFTIMEREGISTERINGONCOWORKER | There is/are time entry(ies) for the selected employee. |\n| ERROR_BOUNDCOWORKERACCOUNTNUMBEROFEXPENSEREGISTERINGONCOWORKER | There is/are expense entry(ies) for the selected employee. |\n| ERROR_BOUNDCOWORKERACCOUNTNUMBEROFMILEAGEENTRIESONCOWORKER | There is/are milage entry(ies) for the selected employee. |\n| ERROR_BOUNDCOWORKERACCOUNTCOWORKERRESPONSIBLENUMBEROFCASES | The employee is responsible for project(s). |\n| ERROR_BOUNDCOWORKERACCOUNTCOWORKERISBOUNDEDTOUSERSACCESSOFTIMEREGISTERING | The employee is linked to a user's access to time recording. |\n| ERROR_BOUNDCOWORKERACCOUNTCOWORKERISSALESMANFORNUMBEROFDEBITORS | The employee is a sales representative for customer(s). |\n| ERROR_BOUNDCOWORKERACCOUNTCOWORKERISOURREFFORNUMBEROFCREDITORS | The employee is linked to supplier(s). |\n| ERROR_BOUNDCOWORKERACCOUNTCOWORKERISSALESMANFORNUMBEROFINVOICES | The employee is a sales representative for invoice(s). |\n| ERROR_BOUNDCOWORKERACCOUNTCOWORKERISSALESMANFORNUMBEROFDRAFTS | The employee is a sales representative for draft invoice(s). |\n| ERROR_BOUNDCOWORKERACCOUNTCOWORKERISREFMANFORNUMBEROFPURCHASEORDERS | The employee is linked to purchase order(s). |\n</details>\n\n**Required application roles:** SuperUser or Sales [More info](https://www.e-conomic.com/developer/permissions)",
      "x-error-codes": [
        "ERROR_BOUNDCOWORKERACCOUNTCOWORKERISBOUNDEDTOUSERSACCESSOFTIMEREGISTERING",
        "ERROR_BOUNDCOWORKERACCOUNTCOWORKERISOURREFFORNUMBEROFCREDITORS",
        "ERROR_BOUNDCOWORKERACCOUNTCOWORKERISREFMANFORNUMBEROFPURCHASEORDERS",
        "ERROR_BOUNDCOWORKERACCOUNTCOWORKERISSALESMANFORNUMBEROFDEBITORS",
        "ERROR_BOUNDCOWORKERACCOUNTCOWORKERISSALESMANFORNUMBEROFDRAFTS",
        "ERROR_BOUNDCOWORKERACCOUNTCOWORKERISSALESMANFORNUMBEROFINVOICES",
        "ERROR_BOUNDCOWORKERACCOUNTCOWORKERRESPONSIBLENUMBEROFCASES",
        "ERROR_BOUNDCOWORKERACCOUNTNUMBEROFEXPENSEREGISTERINGONCOWORKER",
        "ERROR_BOUNDCOWORKERACCOUNTNUMBEROFMILEAGEENTRIESONCOWORKER",
        "ERROR_BOUNDCOWORKERACCOUNTNUMBEROFTIMEREGISTERINGONCOWORKER",
        "ERROR_BOUNDCOWORKERTHEREISNUMBEROFPOSTSONDRAFTS",
        "EmployeeCannotBeCreatedUpdatedGroupNotFound",
        "EmployeeCannotBeCreatedUpdatedNameNullOrEmpty",
        "EmployeeCannotBeCreatedUpdatedNumberAlreadyExists"
      ],
      "x-required-roles": [
        "Sales",
        "SuperUser"
      ]
    },
    {
      "name": "MileagePrices",
      "description": "<code>Mileage prices</code> endpoints extend <code>Mileages</code> with prices.<br>\nA mileage entry cost or sales price is calculated by multiplying the mileage cost or sales rate respectively by the number of kilometers.<br>\nThe mileage cost or sales rate is provided by the mileage setup.\n\n\n#### Examples of use cases:\n\n* Retrieve cost and sales prices and rates.\n\nRelated guide for users: [e-copedia](https://www.e-conomic.dk/support/artikler/medtag-kost-og-salgspriser-i-finans#section4) (Danish)\n\n\n**Required application roles:** SuperUser or ProjectEmployee [More info](https://www.e-conomic.com/developer/permissions)",
      "x-required-roles": [
        "ProjectEmployee",
        "SuperUser"
      ]
    },
    {
      "name": "Mileages",
      "description": "<code>Mileage entries</code> are the registration of project-related mileages by <code>Employees</code> on <code>Projects</code>.<br>\nUntil they are approved, mileages are only considered drafts and can be edited or deleted.\n\n\n#### Examples of use cases:\n\n* Create mileage entries;\n* Retrieve all mileages registered on a project;\n* Approve the mileages that meet all requirements (e.g. mileage date is within a valid accounting year and there is no recording rule to prevent registration on the selected project)\n\n\nRelated guide for users: [e-copedia](https://www.e-conomic.dk/support/artikler/opret-ogeller-godkend-km-registrering) (Danish)\n\n<details><summary><b>Click to see the list of possible error codes.</b></summary>\n\n| Error Code | Description |\n| ---------- | ----------- |\n| MileageIsNotFound | Mileage entry was not found. |\n| MileageIsAlreadyApproved | Mileage entry is already approved. |\n| MileageOnBarredProjectCannotBeApproved | Mileage entry cannot be approved since the project has been barred. |\n| MileageCannotBeUpdatedAlreadyApproved | Mileage entry cannot be updated or deleted since it is approved. |\n| MileageIsNotInAccountingPeriod | Mileage entry is not in a valid accounting period. |\n| MileageAccountingPeriodIsBarredOrClosed | Mileage entry is in an invalid (closed or barred) accounting period. |\n| MileageAccountingPeriodIsClosed | Mileage entry is in a closed accounting period. |\n| MileageNumberListCannotBeEmpty | List of mileage entries cannot be empty. |\n| MileageApprovalFailedBaseCurrencyIsNotSet | Mileage entry cannot be approved since the company base currency has not been set. |\n| MileageCannotBeCreatedUpdatedDateIsNotSet | Mileage entry cannot be created or updated, date must be set and be greater than minimum date. |\n| MileageCannotBeCreatedUpdatedDateIsNotInAccountingPeriod | Mileage entry cannot be created or updated, its date is not in an existing accounting period. |\n| MileageCannotBeCreatedUpdatedDateIsInClosedBarredAccountingPeriod | Mileage entry cannot be created or updated, its date is in a closed or barred accounting period. |\n| MileageSetupCannotBeCreatedUpdatedCostAccountNotExists | Mileage setup cannot be created or updated, cost account ongoing does not exist. |\n| MileageSetupCannotBeCreatedUpdatedContraAccountNotExists | Mileage setup cannot be created or updated, contra account ongoing does not exist. |\n| MileageSetupCannotBeCreatedUpdatedCostAccountClosedNotExists | Mileage setup cannot be created or updated, cost account closed does not exist. |\n| EmployeeHasNoAccessToProject | Employee has no access to the provided project. |\n| EmployeeHasNoAccessToActivity | Employee has no access to the provided activity. |\n| EntriesNotAllowedProjectNotFound | Entries not allowed on an inexistent project. |\n| EntriesNotAllowedProjectIsMain | Entries not allowed on a main project. |\n| EntriesNotAllowedProjectIsClosed | Entries not allowed on a closed project. |\n| EntriesNotAllowedProjectIsBarred | Entries not allowed on a barred project. |\n| EntriesNotAllowedEmployeeNotFound | Entries not allowed because the given employee was not found. |\n| EntriesNotAllowedEmployeeIsBarred | Entries not allowed because the given employee is barred. |\n| CannotBeApprovedEmployeeNotFound | Entry cannot be approved since employee was not found. |\n| CannotBeApprovedEmployeeIsBarred | Entry cannot be approved since employee is barred. |\n| CannotBeApprovedActivityNotFound | Entry cannot be approved since activity was not found. |\n| CannotBeApprovedActivityIsBarred | Entry cannot be approved since activity is barred. |\n| CannotBeApprovedForCompletedActivity | Entry cannot be approved since the activity is completed or hasn't started yet. |\n| CannotBeApprovedActivityNotPartOfProject | Entry cannot be approved since the activity is not part of the project. |\n</details>\n\n**Required application roles:** SuperUser or ProjectEmployee [More info](https://www.e-conomic.com/developer/permissions)",
      "x-error-codes": [
        "CannotBeApprovedActivityIsBarred",
        "CannotBeApprovedActivityNotFound",
        "CannotBeApprovedActivityNotPartOfProject",
        "CannotBeApprovedEmployeeIsBarred",
        "CannotBeApprovedEmployeeNotFound",
        "CannotBeApprovedForCompletedActivity",
        "EmployeeHasNoAccessToActivity",
        "EmployeeHasNoAccessToProject",
        "EntriesNotAllowedEmployeeIsBarred",
        "EntriesNotAllowedEmployeeNotFound",
        "EntriesNotAllowedProjectIsBarred",
        "EntriesNotAllowedProjectIsClosed",
        "EntriesNotAllowedProjectIsMain",
        "EntriesNotAllowedProjectNotFound",
        "MileageAccountingPeriodIsBarredOrClosed",
        "MileageAccountingPeriodIsClosed",
        "MileageApprovalFailedBaseCurrencyIsNotSet",
        "MileageCannotBeCreatedUpdatedDateIsInClosedBarredAccountingPeriod",
        "MileageCannotBeCreatedUpdatedDateIsNotInAccountingPeriod",
        "MileageCannotBeCreatedUpdatedDateIsNotSet",
        "MileageCannotBeUpdatedAlreadyApproved",
        "MileageIsAlreadyApproved",
        "MileageIsNotFound",
        "MileageIsNotInAccountingPeriod",
        "MileageNumberListCannotBeEmpty",
        "MileageOnBarredProjectCannotBeApproved",
        "MileageSetupCannotBeCreatedUpdatedContraAccountNotExists",
        "MileageSetupCannotBeCreatedUpdatedCostAccountClosedNotExists",
        "MileageSetupCannotBeCreatedUpdatedCostAccountNotExists"
      ],
      "x-required-roles": [
        "ProjectEmployee",
        "SuperUser"
      ]
    },
    {
      "name": "ProjectActivities",
      "description": "<code>Project-activities</code> endpoints describe the relationship between projects and activities.\n\nTheir main purpose is to determine the period for which users can register time on a given <code>Project</code> and a given <code>Activity</code>.\n\nBy default, if there are no activities linked to a project, employees can register time on any activity.\n\n#### Examples of use cases:\n\n* Retrieve all project activities;\n* Display all the activities related to a project in order to determine the activities which allow the creation of time entries.\n\n\nRelated guide for users: [e-copedia](https://www.e-conomic.dk/support/artikler/bestem-hvilke-aktiviteter-et-projekt-kan-tidsregistreres-paa) (Danish)\n\n<details><summary><b>Click to see the list of possible error codes.</b></summary>\n\n| Error Code | Description |\n| ---------- | ----------- |\n| ProjectActivityCannotBeCreatedProjectNotFound | Project activity entry cannot be created, the given project was not found. |\n| ProjectActivityCannotBeCreatedActivityNotFound | Project activity entry cannot be created, the given activity was not found. |\n| ProjectActivityCannotBeCreatedActivityAlreadyExists | Project activity entry cannot be created, the activity already exists on the given project. |\n| ProjectActivityCannotBeCreatedActivityIsBarred | Project activity entry cannot be created, the given activity is barred. |\n| ProjectActivityCannotBeCreatedUpdatedInvalidDates | Project activity entry cannot be created or updated, the start date must be before the end date. |\n| ProjectActivityCannotBeCreatedProjectIsMain | Project activity entry cannot be registered on a main project. |\n| ProjectActivityCannotBeCreatedProjectIsClosed | Project activity entry cannot be registered on a closed project. |\n| ProjectActivityCannotBeCreatedProjectIsBarred | Project activity entry cannot be registered on a barred project. |\n| ProjectActivityCannotBeUpdatedReadonlyProperties | Project activity entry cannot be updated, cannot modify readonly properties. |\n| EntriesNotAllowedEmployeeNotFound | Entries not allowed because the given employee was not found. |\n| EntriesNotAllowedEmployeeIsBarred | Entries not allowed because the given employee is barred. |\n</details>\n\n**Required application roles:** SuperUser or ProjectEmployee [More info](https://www.e-conomic.com/developer/permissions)",
      "x-error-codes": [
        "EntriesNotAllowedEmployeeIsBarred",
        "EntriesNotAllowedEmployeeNotFound",
        "ProjectActivityCannotBeCreatedActivityAlreadyExists",
        "ProjectActivityCannotBeCreatedActivityIsBarred",
        "ProjectActivityCannotBeCreatedActivityNotFound",
        "ProjectActivityCannotBeCreatedProjectIsBarred",
        "ProjectActivityCannotBeCreatedProjectIsClosed",
        "ProjectActivityCannotBeCreatedProjectIsMain",
        "ProjectActivityCannotBeCreatedProjectNotFound",
        "ProjectActivityCannotBeCreatedUpdatedInvalidDates",
        "ProjectActivityCannotBeUpdatedReadonlyProperties"
      ],
      "x-required-roles": [
        "ProjectEmployee",
        "SuperUser"
      ]
    },
    {
      "name": "ProjectCustomers",
      "description": "<code>Project-customers</code> endpoints return a list of all the existing customers that can be used within <code>Projects</code>.\n\n#### Examples of use cases:\n\n* Retrieve all available customers;\n* Display all customers when creating a new project.\n\n\nRelated guide for users: [e-copedia](https://www.e-conomic.dk/support/artikler/opret-ny-kunde) (Danish)\n\n\n**Required application roles:** SuperUser or ProjectEmployee [More info](https://www.e-conomic.com/developer/permissions)",
      "x-required-roles": [
        "ProjectEmployee",
        "SuperUser"
      ]
    },
    {
      "name": "ProjectEmployeeGroups",
      "description": "<code>Project-employee Groups</code> help distinguish between various categories of employees.\n\nNote that <code>Employeegroups</code> and <code>Project-employeegroups</code> return the same data, the only difference between the two is that one requires access to the Sales module and the other one to the Projects module.\n\n#### Examples of use cases:\n\n* Retrieve all employee groups;\n* Display all employee groups when creating a new employee.\n\n\nRelated guide for users: [e-copedia](https://www.e-conomic.dk/support/artikler/opret-medarbejdergruppe) (Danish)\n\n<details><summary><b>Click to see the list of possible error codes.</b></summary>\n\n| Error Code | Description |\n| ---------- | ----------- |\n| EmployeeGroupNumberAlreadyExists | Employee group cannot be created since the given number already exists. |\n| ERROR_BOUNDCOWORKERACCOUNTCOWORKERINCHOSENGROUP | The employee group contains one or more employees. |\n</details>\n\n**Required application roles:** SuperUser or ProjectEmployee [More info](https://www.e-conomic.com/developer/permissions)",
      "x-error-codes": [
        "ERROR_BOUNDCOWORKERACCOUNTCOWORKERINCHOSENGROUP",
        "EmployeeGroupNumberAlreadyExists"
      ],
      "x-required-roles": [
        "ProjectEmployee",
        "SuperUser"
      ]
    },
    {
      "name": "ProjectEmployees",
      "description": "<code>Project-employees</code> endpoints provide project-related information about employees.\n\nEmployees can also be users in the system, but only if they are created via the UI Projects/ Employees section and the employee type is not 0.<br>\nSometimes the employee type can be 0 even if IsUser is true, but only if an user is created via All Settings and then linked to an employee.\n\n\n#### Examples of use cases:\n\n* Retrieve all employees who have a certain name;\n* Display all those employees when registering a time entry.\n\n\nRelated guide for users: [e-copedia](https://www.e-conomic.dk/support/artikler/opret-eller-tilknyt-en-medarbejder-til-bruger-i-projekt) (Danish)\n\n<details><summary><b>Click to see the list of possible error codes.</b></summary>\n\n| Error Code | Description |\n| ---------- | ----------- |\n| EmployeeCannotBeCreatedUpdatedNumberAlreadyExists | Employee cannot be created since the given number already exists. |\n| EmployeeCannotBeCreatedUpdatedGroupNotFound | Employee cannot be created or updated since the given employee group was not found. |\n| EmployeeCannotBeCreatedUpdatedNameNullOrEmpty | Employee cannot be created or updated since employee name cannot be null or empty. |\n| ERROR_BOUNDCOWORKERTHEREISNUMBEROFPOSTSONDRAFTS | Finance vouchers exist for the selected employee. |\n| ERROR_BOUNDCOWORKERACCOUNTNUMBEROFTIMEREGISTERINGONCOWORKER | There is/are time entry(ies) for the selected employee. |\n| ERROR_BOUNDCOWORKERACCOUNTNUMBEROFEXPENSEREGISTERINGONCOWORKER | There is/are expense entry(ies) for the selected employee. |\n| ERROR_BOUNDCOWORKERACCOUNTNUMBEROFMILEAGEENTRIESONCOWORKER | There is/are milage entry(ies) for the selected employee. |\n| ERROR_BOUNDCOWORKERACCOUNTCOWORKERRESPONSIBLENUMBEROFCASES | The employee is responsible for project(s). |\n| ERROR_BOUNDCOWORKERACCOUNTCOWORKERISBOUNDEDTOUSERSACCESSOFTIMEREGISTERING | The employee is linked to a user's access to time recording. |\n| ERROR_BOUNDCOWORKERACCOUNTCOWORKERISSALESMANFORNUMBEROFDEBITORS | The employee is a sales representative for customer(s). |\n| ERROR_BOUNDCOWORKERACCOUNTCOWORKERISOURREFFORNUMBEROFCREDITORS | The employee is linked to supplier(s). |\n| ERROR_BOUNDCOWORKERACCOUNTCOWORKERISSALESMANFORNUMBEROFINVOICES | The employee is a sales representative for invoice(s). |\n| ERROR_BOUNDCOWORKERACCOUNTCOWORKERISSALESMANFORNUMBEROFDRAFTS | The employee is a sales representative for draft invoice(s). |\n| ERROR_BOUNDCOWORKERACCOUNTCOWORKERISREFMANFORNUMBEROFPURCHASEORDERS | The employee is linked to purchase order(s). |\n</details>\n\n**Required application roles:** SuperUser or ProjectEmployee [More info](https://www.e-conomic.com/developer/permissions)",
      "x-error-codes": [
        "ERROR_BOUNDCOWORKERACCOUNTCOWORKERISBOUNDEDTOUSERSACCESSOFTIMEREGISTERING",
        "ERROR_BOUNDCOWORKERACCOUNTCOWORKERISOURREFFORNUMBEROFCREDITORS",
        "ERROR_BOUNDCOWORKERACCOUNTCOWORKERISREFMANFORNUMBEROFPURCHASEORDERS",
        "ERROR_BOUNDCOWORKERACCOUNTCOWORKERISSALESMANFORNUMBEROFDEBITORS",
        "ERROR_BOUNDCOWORKERACCOUNTCOWORKERISSALESMANFORNUMBEROFDRAFTS",
        "ERROR_BOUNDCOWORKERACCOUNTCOWORKERISSALESMANFORNUMBEROFINVOICES",
        "ERROR_BOUNDCOWORKERACCOUNTCOWORKERRESPONSIBLENUMBEROFCASES",
        "ERROR_BOUNDCOWORKERACCOUNTNUMBEROFEXPENSEREGISTERINGONCOWORKER",
        "ERROR_BOUNDCOWORKERACCOUNTNUMBEROFMILEAGEENTRIESONCOWORKER",
        "ERROR_BOUNDCOWORKERACCOUNTNUMBEROFTIMEREGISTERINGONCOWORKER",
        "ERROR_BOUNDCOWORKERTHEREISNUMBEROFPOSTSONDRAFTS",
        "EmployeeCannotBeCreatedUpdatedGroupNotFound",
        "EmployeeCannotBeCreatedUpdatedNameNullOrEmpty",
        "EmployeeCannotBeCreatedUpdatedNumberAlreadyExists"
      ],
      "x-required-roles": [
        "ProjectEmployee",
        "SuperUser"
      ]
    },
    {
      "name": "ProjectGroups",
      "description": "<code>Project Groups</code> allow projects to be classified as:\n\n- Internal\n- External, invoiceable or\n- External, non-invoiceable\n\nInternal projects are only for internal use, whereas external projects are for other companies and therefore need to be assigned a customer.\n\nThe distinction between invoiceable and non-invoiceable is whether the costs registered on a project are to be considered billable to the user's customer or not.\n\nAdditionally, project groups determine whether registrations on a project should have an impact on the financial accounting or not.\n\n\n#### Examples of use cases:\n\n* Retrieve all project groups;\n* Display the available project groups when creating a new project.\n\n\nRelated guide for users: [e-copedia](https://www.e-conomic.dk/support/artikler/opret-en-projektgruppe) (Danish)\n\n<details><summary><b>Click to see the list of possible error codes.</b></summary>\n\n| Error Code | Description |\n| ---------- | ----------- |\n| ProjectGroupCannotBeCreatedUpdatedNumberAlreadyExists | Project group cannot be created since the given number already exists. |\n| ProjectGroupCannotBeCreatedUpdatedCostDataInvalid | Project group cannot be created or updated. If includeCostPriceInFinance is true, then costAccountOngoingType, costAccountOngoing, costContraAccountOngoing and costAccountClosed are required, otherwise they should be ommited. |\n| ProjectGroupCannotBeCreatedUpdatedSalesDataInvalid | Project group cannot be created or updated. If includeSalesPriceInFinance is true, then salesAccountOngoingType, salesAccountOngoing, salesContraAccountOngoing and salesAccountClosed are required, otherwise they should be ommited. |\n| ProjectGroupCannotBeCreatedUpdatedAccountDoesNotExist | Project group cannot be created or updated. The account does not exist. |\n| ProjectGroupCannotBeCreatedUpdatedAccountIsBarred | Project group cannot be created or updated. The account is barred. |\n| ProjectGroupCannotBeCreatedUpdatedAccountIsOfWrongType | Project group cannot be created or updated. The type of the account needs to be either `Balance` or `Profit & Loss`. |\n</details>\n\n**Required application roles:** SuperUser or ProjectEmployee [More info](https://www.e-conomic.com/developer/permissions)",
      "x-error-codes": [
        "ProjectGroupCannotBeCreatedUpdatedAccountDoesNotExist",
        "ProjectGroupCannotBeCreatedUpdatedAccountIsBarred",
        "ProjectGroupCannotBeCreatedUpdatedAccountIsOfWrongType",
        "ProjectGroupCannotBeCreatedUpdatedCostDataInvalid",
        "ProjectGroupCannotBeCreatedUpdatedNumberAlreadyExists",
        "ProjectGroupCannotBeCreatedUpdatedSalesDataInvalid"
      ],
      "x-required-roles": [
        "ProjectEmployee",
        "SuperUser"
      ]
    },
    {
      "name": "ProjectStatuses",
      "description": "<code>Project Statuses</code> help distinguish between two types of statuses:\n* Quote sent\n* Realised\n\nHowever, having a status is not mandatory, so there may be projects without one.\n\n#### Examples of use cases:\n\n- Retrieve all projects which have the status set to Realised.\n\n\nRelated guide for users: [e-copedia](https://www.e-conomic.dk/support/artikler/opret-projektstatus) (Danish)\n\n\n**Required application roles:** SuperUser or ProjectEmployee [More info](https://www.e-conomic.com/developer/permissions)",
      "x-required-roles": [
        "ProjectEmployee",
        "SuperUser"
      ]
    },
    {
      "name": "Projects",
      "description": "<code>Projects</code> are indispensable within the Projects module, as any registration needs to be linked to a project.\nProjects are either:\n* Sub-projects or\n* Main projects\n\nSub-projects can be linked to a main project or used independently.\n\nBoth kinds of projects can be invoiced, but expenses, time entries and mileages can only be registered on sub-projects.\n\nMain projects are primarily used to group sub-projects.\n\nExternal projects are assigned a customer number, which means that the registration on projects can have an effect on accounting.\n\n\n#### Examples of use cases:\n\n* Create new projects;\n* Retrieve all projects which need to be delivered by a given date;\n\n\nRelated guide for users: [e-copedia](https://www.e-conomic.dk/support/artikler/opret-projekt) (Danish)\n\n<details><summary><b>Click to see the list of possible error codes.</b></summary>\n\n| Error Code | Description |\n| ---------- | ----------- |\n| ProjectCannotBeCreatedUpdatedNumberIsInvalid | Project cannot be created or updated since the given number is invalid. |\n| ProjectCannotBeCreatedUpdatedGroupNumberIsInvalid | Project cannot be created or updated since the given group number is invalid. |\n| ProjectCannotBeCreatedUpdatedNumberAlreadyExists | Project cannot be created or updated since the given number already exists. |\n| ProjectCannotBeCreatedAsClosed | Project cannot be created as closed. |\n| ProjectCannotBeCreatedUpdatedGroupDoesNotExist | Project cannot be created or updated since the given project group does not exist. |\n| ProjectCannotBeCreatedUpdatedCustomerNumberRequired | Project cannot be created or updated since customer number is required. |\n| ProjectCannotBeCreatedUpdatedMainProjectNumberCannotBeSet | Project cannot be created or updated, main project number can only be set when creating subprojects. |\n| ProjectCannotBeCreatedUpdatedMainProjectNumberDoesNotExistOrInvalid | Project cannot be created or updated, provided main project number doesn't exist or is not a main project. |\n| ProjectCannotBeCreatedUpdatedInvalidCustomerNumber | Project cannot be created or updated, customer number is invalid. |\n| ProjectCannotBeCreatedUpdatedCustomerNotFound | Project cannot be created or updated, customer was not found. |\n| ProjectCannotBeMadeMainHasTimeEntries | Project cannot be made main project, it has time entries. |\n| ProjectCannotBeMadeMainHasMileageEntries | Project cannot be made main project, it has mileage entries. |\n| ProjectCannotBeMadeSubprojectHasSubProjects | Project cannot be made subproject, it already has subprojects. |\n| ProjectCannotBeDeletedHasSubProjects | Project cannot be deleted since it has subprojects. |\n| ProjectCannotBeDeletedHasTimeEntries | Project cannot be deleted since it has time entries. |\n| ProjectCannotBeDeletedHasDraftEntries | Project cannot be deleted since it has draft daybook entries. |\n| ProjectCannotBeDeletedHasBookedEntries | Project cannot be deleted since it has booked daybook entries. |\n| ProjectCannotBeDeletedHasInvoices | Project cannot be deleted since it has invoices. |\n| ProjectCannotBeDeletedHasSalesDocuments | Project cannot be deleted since it has sales documents. |\n| ProjectCannotBeDeletedHasExpenses | Project cannot be deleted since it has expenses. |\n| ProjectCannotBeDeletedHasMileages | Project cannot be deleted since it has mileage entries. |\n</details>\n\n**Required application roles:** SuperUser or ProjectEmployee [More info](https://www.e-conomic.com/developer/permissions)",
      "x-error-codes": [
        "ProjectCannotBeCreatedAsClosed",
        "ProjectCannotBeCreatedUpdatedCustomerNotFound",
        "ProjectCannotBeCreatedUpdatedCustomerNumberRequired",
        "ProjectCannotBeCreatedUpdatedGroupDoesNotExist",
        "ProjectCannotBeCreatedUpdatedGroupNumberIsInvalid",
        "ProjectCannotBeCreatedUpdatedInvalidCustomerNumber",
        "ProjectCannotBeCreatedUpdatedMainProjectNumberCannotBeSet",
        "ProjectCannotBeCreatedUpdatedMainProjectNumberDoesNotExistOrInvalid",
        "ProjectCannotBeCreatedUpdatedNumberAlreadyExists",
        "ProjectCannotBeCreatedUpdatedNumberIsInvalid",
        "ProjectCannotBeDeletedHasBookedEntries",
        "ProjectCannotBeDeletedHasDraftEntries",
        "ProjectCannotBeDeletedHasExpenses",
        "ProjectCannotBeDeletedHasInvoices",
        "ProjectCannotBeDeletedHasMileages",
        "ProjectCannotBeDeletedHasSalesDocuments",
        "ProjectCannotBeDeletedHasSubProjects",
        "ProjectCannotBeDeletedHasTimeEntries",
        "ProjectCannotBeMadeMainHasMileageEntries",
        "ProjectCannotBeMadeMainHasTimeEntries",
        "ProjectCannotBeMadeSubprojectHasSubProjects"
      ],
      "x-required-roles": [
        "ProjectEmployee",
        "SuperUser"
      ]
    },
    {
      "name": "TimeEntries",
      "description": "<code>Time entries</code> endpoints allow for the registration of time spent working on a certain activity on a given project.<br>\nUntil they are approved, time entries are only considered drafts and can be edited or deleted.\n\n#### Examples of use cases:\n\n* Retrieve all time entries registered on a project;\n* Create new time entries;\n* Approve the time entries that meet all requirements (e.g. date is within a valid accounting year and there is no recording rule to prevent registration on the selected activity or project).\n\n\nRelated guide for users: [e-copedia](https://www.e-conomic.dk/support/artikler/tidsregistrering) (Danish)\n\n\n<details><summary><b>Click to see the list of possible error codes.</b></summary>\n\n| Error Code | Description |\n| ---------- | ----------- |\n| TimeEntryIsApproved | Time entry is already approved. |\n| TimeEntryOnBarredProjectCannotBeApproved | Time entry cannot be approved since the project has been barred. |\n| CannotCreateUpdateActivityNotFound | Time entry cannot be created or updated since the provided activity was not found. |\n| CannotCreateUpdateActivityIsBarred | Time entry cannot be created or updated since the provided activity is barred. |\n| CannotCreateUpdateActivityNotPartOfProject | Time entry cannot be created or updated since the provided activity is not part of the provided project. |\n| TimeEntryIsNotInAccountingPeriod | Time entry is not in a valid accounting period. |\n| TimeEntryCannotBeCreatedUpdatedOrApprovedAccountingPeriodIsBarredOrClosed | Time entry cannot be created, updated or approved, it is in an accounting period that is either barred or closed. |\n| TimeEntryCannotBeCreatedUpdatedOrApprovedAccountingPeriodIsClosed | Time entry cannot be created, updated or approved, it is in a closed accounting period. |\n| TimeEntryCannotBeApprovedNotFound | Time entry cannot be approved since it was not found. |\n| TimeEntryCannotBeUpdatedAlreadyApproved | Time entry cannot be updated or deleted since it is approved. |\n| TimeEntryCannotBeCreatedUpdatedDateIsNotSet | Time entry cannot be created or updated, date must be set and be greater than minimum date. |\n| TimeEntryNumberListCannotBeEmpty | List of time entries cannot be empty. |\n| TimeEntryApprovalFailedBaseCurrencyIsNotSet | Time entry cannot be approved since the company base currency has not been set. |\n| TimeEntryCannotBeCreatedUpdatedForCompletedActivity | Time entry cannot be created or updated since the activity is completed. |\n| TimeEntryCannotBeCreatedUpdatedForActivityThatHasntStarted | Time entry cannot be created or updated since the activity has not started yet. |\n| EmployeeHasNoAccessToProject | Employee has no access to the provided project. |\n| EmployeeHasNoAccessToActivity | Employee has no access to the provided activity. |\n| EntriesNotAllowedProjectNotFound | Entries not allowed on an inexistent project. |\n| EntriesNotAllowedProjectIsMain | Entries not allowed on a main project. |\n| EntriesNotAllowedProjectIsClosed | Entries not allowed on a closed project. |\n| EntriesNotAllowedProjectIsBarred | Entries not allowed on a barred project. |\n| EntriesNotAllowedEmployeeNotFound | Entries not allowed because the given employee was not found. |\n| EntriesNotAllowedEmployeeIsBarred | Entries not allowed because the given employee is barred. |\n| CannotBeApprovedEmployeeNotFound | Entry cannot be approved since employee was not found. |\n| CannotBeApprovedEmployeeIsBarred | Entry cannot be approved since employee is barred. |\n| CannotBeApprovedActivityNotFound | Entry cannot be approved since activity was not found. |\n| CannotBeApprovedActivityIsBarred | Entry cannot be approved since activity is barred. |\n| CannotBeApprovedForCompletedActivity | Entry cannot be approved since the activity is completed or hasn't started yet. |\n| CannotBeApprovedActivityNotPartOfProject | Entry cannot be approved since the activity is not part of the project. |\n</details>\n\n**Required application roles:** SuperUser or ProjectEmployee [More info](https://www.e-conomic.com/developer/permissions)",
      "x-error-codes": [
        "CannotBeApprovedActivityIsBarred",
        "CannotBeApprovedActivityNotFound",
        "CannotBeApprovedActivityNotPartOfProject",
        "CannotBeApprovedEmployeeIsBarred",
        "CannotBeApprovedEmployeeNotFound",
        "CannotBeApprovedForCompletedActivity",
        "CannotCreateUpdateActivityIsBarred",
        "CannotCreateUpdateActivityNotFound",
        "CannotCreateUpdateActivityNotPartOfProject",
        "EmployeeHasNoAccessToActivity",
        "EmployeeHasNoAccessToProject",
        "EntriesNotAllowedEmployeeIsBarred",
        "EntriesNotAllowedEmployeeNotFound",
        "EntriesNotAllowedProjectIsBarred",
        "EntriesNotAllowedProjectIsClosed",
        "EntriesNotAllowedProjectIsMain",
        "EntriesNotAllowedProjectNotFound",
        "TimeEntryApprovalFailedBaseCurrencyIsNotSet",
        "TimeEntryCannotBeApprovedNotFound",
        "TimeEntryCannotBeCreatedUpdatedDateIsNotSet",
        "TimeEntryCannotBeCreatedUpdatedForActivityThatHasntStarted",
        "TimeEntryCannotBeCreatedUpdatedForCompletedActivity",
        "TimeEntryCannotBeCreatedUpdatedOrApprovedAccountingPeriodIsBarredOrClosed",
        "TimeEntryCannotBeCreatedUpdatedOrApprovedAccountingPeriodIsClosed",
        "TimeEntryCannotBeUpdatedAlreadyApproved",
        "TimeEntryIsApproved",
        "TimeEntryIsNotInAccountingPeriod",
        "TimeEntryNumberListCannotBeEmpty",
        "TimeEntryOnBarredProjectCannotBeApproved"
      ],
      "x-required-roles": [
        "ProjectEmployee",
        "SuperUser"
      ]
    },
    {
      "name": "TimeEntryPrices",
      "description": "<code>Time entry prices</code> endpoints extend <code>Time entries</code> with prices.<br>\nA time entry cost or sales price is calculated by multiplying the activity cost or sales price respectively by the number of hours reported in the time entry.<br>\nIf no activity price is provided, the time entry cost/sales price equals the employee cost/sales price * the number of hours reported in the time entry.\n\n#### Examples of use cases:\n\n* Retrieve the cost and sales prices.\n\nRelated guide for users: [e-copedia](https://www.e-conomic.dk/support/artikler/tidsregistrering) (Danish)\n\n\n**Required application roles:** SuperUser or ProjectEmployee [More info](https://www.e-conomic.com/developer/permissions)",
      "x-required-roles": [
        "ProjectEmployee",
        "SuperUser"
      ]
    }
  ],
  "x-tagGroups": [
    {
      "name": "Endpoints",
      "tags": [
        "Activities",
        "ActivityGroups",
        "CostTypeGroups",
        "CostTypes",
        "EmployeeGroups",
        "Employees",
        "MileagePrices",
        "Mileages",
        "ProjectActivities",
        "ProjectCustomers",
        "ProjectEmployeeGroups",
        "ProjectEmployees",
        "ProjectGroups",
        "ProjectStatuses",
        "Projects",
        "TimeEntries",
        "TimeEntryPrices"
      ]
    }
  ]
}