{
  "openapi": "3.0.0",
  "info": {
    "version": "1.1",
    "title": "Joinpoints API 1.1",
    "description": ""
  },
  "servers": [
    {
      "description": "Joinpoints API Service",
      "url": "https://app.joinpoints.io/api-v1"
    }
  ],
  "paths": {
    "/post": {
      "post": {
        "tags": [
          "New/Create"
        ],
        "summary": "Add information into the timeline of a Joinpoint.",
        "description": "Use this method to post or create a new joinpoint or information into the timeline of a Joinpoint. Don't use this function to create new joinpoints into a directory.",
        "parameters": [
          {
            "name": "access_token",
            "description": "Use the access token of the authentification.",
            "required": true,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "joinpoint_id",
            "description": "The joinpoint id of the joinpoint you want to post something in.",
            "required": true,
            "in": "query",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "simpleType",
            "description": "type of the new timeline information. Checkout the simpleType list in the type description.",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "default"
            }
          },
          {
            "name": "title",
            "description": "title of the new joinpoint - only relevant if simpleType is a joinpoint type.",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "raw",
            "description": "raw text of the timeline information.",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "team",
            "description": "id of joinpoint for the team relation - only relevant if simpleType is a joinpoint type. Only use a team for this relation. This parameter is optional.",
            "in": "query",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "contact",
            "description": "id of joinpoint for the contact relation - only relevant if simpleType is a joinpoint type. Only use a contact or a company for this relation. This parameter is optional.",
            "in": "query",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "related",
            "description": "id of a related project, deal or other root joinpoints - only relevant if simpleType is a joinpoint type. Only use a root joinpoint (which is stored in a directory) for this relation. This parameter is optional.",
            "in": "query",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "template",
            "description": "id of the template for the new joinpoint - only relevant if simpleType is a joinpoint type. Only use a template joinpoint for this relation. This parameter is optional.",
            "in": "query",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "assign_user",
            "description": "id of the user joinpoint which should work on this joinpoint - only relevant if simpleType is a joinpoint type. You can use this parameter for each user you want to assign to this new joinpoint. This parameter is optional.",
            "in": "query",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "files",
            "description": "File as Base64 string. Add this parameter for each file with the same parameter name for multiple file upload",
            "in": "body",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "fileTypes",
            "description": "HTTP content file type for each file of parameter files. ",
            "in": "body",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "fileNames",
            "description": "File name for each file of parameter files",
            "in": "body",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status_description": {
                      "type": "string"
                    },
                    "status_code": {
                      "type": "integer"
                    },
                    "data": {
                      "type": "object",
                      "properties": {
                        "info": {
                          "type": "integer",
                          "description": "id of the new information in the timeline"
                        },
                        "joinpoint": {
                          "type": "integer",
                          "description": "id of the new joinpoint create into the timeline (optional) - only relevant if simpleType is a joinpoint type"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/create": {
      "post": {
        "tags": [
          "New/Create"
        ],
        "summary": "Create a new joinpoint.",
        "parameters": [
          {
            "name": "access_token",
            "description": "Use the access token of the authentification.",
            "required": true,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "destination",
            "description": "The joinpoint id where you want to add the new joinpoint",
            "required": true,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "typeMode",
            "description": "Use \"template\" for pipeline or database entries. use \"new\" to create a complete new joinpoint without a template. ",
            "required": true,
            "in": "query",
            "schema": {
              "type": "string",
              "default": "new"
            }
          },
          {
            "name": "type",
            "description": "If you use typeMode \"template\" set the template joinpoint id. To get the template id of a Pipeline use the Structure API of Joinpoints. If you use typeMode \"new\" set the joinpoint type.",
            "required": true,
            "in": "query",
            "schema": {
              "type": "integer",
              "default": "point"
            }
          },
          {
            "name": "name",
            "description": "only relevant if type is not \"contact\" - use this parameter to set the name of the new joinpoint.",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "email",
            "description": "only relevant if type is set as \"contact\" - use email as the name of the new joinpoint.",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "website",
            "description": "only relevant if type is set as \"company\" - the domain or website of the new company joinpoint.",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "websiteCrowling",
            "description": "only relevant if type is set as \"company\" - if this parameter is true, jonipoint will crowl the website and checkout some information like the company`s image and more.",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "department",
            "description": "only relevant if type is set as \"company\" - the department of the new company. This parameter is optional.",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "gender",
            "description": "only relevant if type is set as \"contact\" - the gender of the new contact. Options [male | female]. This parameter is optional.",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "firstName",
            "description": "only relevant if type is set as \"contact\" - the first name of the new contact. This parameter is optional.",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "lastName",
            "description": "only relevant if type is set as \"contact\" - the last name of the new contact. This parameter is optional.",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "jobTitle",
            "description": "only relevant if type is set as \"contact\" - the job title of the new contact. This parameter is optional.",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "phoneNumber",
            "description": "only relevant if type is set as \"contact\" - the phonenumber of the new contact. This parameter is optional.",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sales_customer_boxlist_val",
            "description": "only relevant if type is set as \"contact\" or set as \"deal\" - for \"contact\" this parameter means the company joinpoint id which is related to the new contact. This parameter is optional. For \"deal\" this parameter means the customer joinpoint id which is related to the new deal.",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "amount",
            "description": "only relevant if type is set as \"deal\" - the planed amount of the new deal. This parameter is optional.",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status_description": {
                      "type": "string"
                    },
                    "status_code": {
                      "type": "integer"
                    },
                    "data": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "integer"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/assignUser": {
      "post": {
        "tags": [
          "Change"
        ],
        "summary": "Assign or remove an user of a joinpoint.",
        "parameters": [
          {
            "name": "access_token",
            "description": "Use the access token of the authentification.",
            "required": true,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "joinpoint_id",
            "description": "The joinpoint id of the joinpoint you want to update.",
            "required": true,
            "in": "query",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "user_id",
            "description": "The user id of the joinpoint you want to add or remove from the given joinpoint.",
            "required": true,
            "in": "query",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "mode",
            "description": "use [add | remove] to modify the joinpoint",
            "required": true,
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status_description": {
                      "type": "string"
                    },
                    "status_code": {
                      "type": "integer"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/assignTeam": {
      "post": {
        "tags": [
          "Change"
        ],
        "summary": "Assign a team of a joinpoint.",
        "parameters": [
          {
            "name": "access_token",
            "description": "Use the access token of the authentification.",
            "required": true,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "joinpoint_id",
            "description": "The joinpoint id of the joinpoint you want to update.",
            "required": true,
            "in": "query",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "team_id",
            "description": "The team id of the joinpoint you want to add or remove from the given joinpoint.",
            "required": true,
            "in": "query",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status_description": {
                      "type": "string"
                    },
                    "status_code": {
                      "type": "integer"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/update": {
      "post": {
        "tags": [
          "Change"
        ],
        "summary": "Update one or more joinpoint properties with new values.",
        "parameters": [
          {
            "name": "access_token",
            "description": "Use the access token of the authentification.",
            "required": true,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "joinpoint_id",
            "description": "The joinpoint id of the joinpoint you want to update a property",
            "required": true,
            "in": "query",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "any attribute",
            "description": "use one of the default properties or an custom attribute as parameter name and set the new value as parameter value. For a custom attribute use \"c_\" befor the internal attribute name. For a default property use \"_\" before the default property. You will find the default property list in the command /list.",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status_description": {
                      "type": "string"
                    },
                    "status_code": {
                      "type": "integer"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/updateJoinpointRelation": {
      "post": {
        "tags": [
          "Change"
        ],
        "summary": "Update a multi joinpoint relation attribute.",
        "parameters": [
          {
            "name": "access_token",
            "description": "Use the access token of the authentification.",
            "required": true,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "joinpoint_id",
            "description": "The joinpoint id of the joinpoint you want to update a property",
            "required": true,
            "in": "query",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "attribute",
            "description": "name of custom attribute you want to update",
            "required": true,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "mode",
            "description": "use [add | remove] to modify the attribute",
            "required": true,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "value",
            "description": "use for each joinpoint relation you want to add or remove of the given attribute a seperat parameter with the name value and set the id of the joinpoint as value.",
            "required": true,
            "in": "query",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status_description": {
                      "type": "string"
                    },
                    "status_code": {
                      "type": "integer"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/search": {
      "get": {
        "tags": [
          "Get information"
        ],
        "summary": "search joinpoints by a given query string in a given property.",
        "parameters": [
          {
            "name": "access_token",
            "description": "Use the access token of the authentification.",
            "required": true,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "type",
            "description": "could be 'task', 'contact', 'company', 'deal'",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "property",
            "description": "search in the given field the given value. Checkout the joinpoints property list in the command \"/list\".",
            "required": true,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "q",
            "description": "this parameter means the search value.",
            "required": true,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "enable_startwith",
            "description": "if this parameter is true, the value has to start with the given query value.",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status_description": {
                      "type": "string"
                    },
                    "status_code": {
                      "type": "integer"
                    },
                    "data": {
                      "type": "object",
                      "properties": {
                        "result": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "id": {
                                "type": "integer"
                              },
                              "title": {
                                "type": "string"
                              },
                              "simpleType": {
                                "type": "string"
                              },
                              "accessMode": {
                                "type": "integer"
                              },
                              "createdAt": {
                                "type": "string"
                              },
                              "profileImage": {
                                "type": "string",
                                "description": "url to download the image"
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/list": {
      "get": {
        "tags": [
          "Get information"
        ],
        "summary": "list joinpoint with basic details, fitered by the optional set parameters.",
        "parameters": [
          {
            "name": "access_token",
            "description": "Use the access token of the authentification.",
            "required": true,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "source",
            "description": "Return all children joinpoints of the source joinpoint id.",
            "in": "query",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "type",
            "description": "could be 'task', 'contact', 'company', 'deal'",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "createdAt_min",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "createdAt_max",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "priority_min",
            "description": "only available for 'Task Joinpoints'",
            "in": "query",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "priority_max",
            "description": "only available for 'Task Joinpoints'",
            "in": "query",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "complexity_min",
            "description": "only available for 'Task Joinpoints'",
            "in": "query",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "complexity_max",
            "description": "only available for 'Task Joinpoints'",
            "in": "query",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "planedStart_min",
            "description": "only available for 'Task Joinpoints'",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "planedStart_max",
            "description": "only available for 'Task Joinpoints'",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "deadline_min",
            "description": "only available for 'Task Joinpoints'",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "deadline_max",
            "description": "only available for 'Task Joinpoints'",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "status",
            "description": "only available for 'Task Joinpoints'",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "amount_min",
            "description": "only available for 'Sales Joinpoints'",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "amount_max",
            "description": "only available for 'Sales Joinpoints'",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "customer",
            "description": "only available for 'Customerable Joinpoints'",
            "in": "query",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "currentProcessPhase",
            "in": "query",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "zip",
            "description": "only for a 'Company or a contact person Joinpoint'.",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "country",
            "description": "only for a 'Company or a contact person Joinpoint'.",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "lastContact_min",
            "description": "only for a 'Company or a contact person Joinpoint'.",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "lastContact_max",
            "description": "only for a 'Company or a contact person Joinpoint'.",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "nextContact_min",
            "description": "only for a 'Company or a contact person Joinpoint'.",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "nextContact_max",
            "description": "only for a 'Company or a contact person Joinpoint'.",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "customer filters",
            "description": "the customer filters have to start with _fc_. e.g. _fc_test_attribute_1",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status_description": {
                      "type": "string"
                    },
                    "status_code": {
                      "type": "integer"
                    },
                    "data": {
                      "type": "object",
                      "properties": {
                        "result": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "id": {
                                "type": "integer"
                              },
                              "title": {
                                "type": "string"
                              },
                              "simpleType": {
                                "type": "string"
                              },
                              "accessMode": {
                                "type": "integer"
                              },
                              "createdAt": {
                                "type": "string"
                              },
                              "profileImage": {
                                "type": "string",
                                "description": "url to download the image"
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/listFull": {
      "get": {
        "tags": [
          "Get information"
        ],
        "summary": "list joinpoint fitered by the optional set parameters. More information about one Joinpoint than /list command in the result.",
        "parameters": [
          {
            "name": "access_token",
            "description": "Use the access token of the authentification.",
            "required": true,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "source",
            "description": "Return all children joinpoints of the source joinpoint id.",
            "in": "query",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "type",
            "description": "could be 'task', 'contact', 'company', 'deal'",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "createdAt_min",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "createdAt_max",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "priority_min",
            "description": "only available for 'Task Joinpoints'",
            "in": "query",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "priority_max",
            "description": "only available for 'Task Joinpoints'",
            "in": "query",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "complexity_min",
            "description": "only available for 'Task Joinpoints'",
            "in": "query",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "complexity_max",
            "description": "only available for 'Task Joinpoints'",
            "in": "query",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "planedStart_min",
            "description": "only available for 'Task Joinpoints'",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "planedStart_max",
            "description": "only available for 'Task Joinpoints'",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "deadline_min",
            "description": "only available for 'Task Joinpoints'",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "deadline_max",
            "description": "only available for 'Task Joinpoints'",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "status",
            "description": "only available for 'Task Joinpoints'",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "amount_min",
            "description": "only available for 'Sales Joinpoints'",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "amount_max",
            "description": "only available for 'Sales Joinpoints'",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "customer",
            "description": "only available for 'Customerable Joinpoints'",
            "in": "query",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "currentProcessPhase",
            "in": "query",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "zip",
            "description": "only for a 'Company or a contact person Joinpoint'.",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "country",
            "description": "only for a 'Company or a contact person Joinpoint'.",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "lastContact_min",
            "description": "only for a 'Company or a contact person Joinpoint'.",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "lastContact_max",
            "description": "only for a 'Company or a contact person Joinpoint'.",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "nextContact_min",
            "description": "only for a 'Company or a contact person Joinpoint'.",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "nextContact_max",
            "description": "only for a 'Company or a contact person Joinpoint'.",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "customer filters",
            "description": "the customer filters have to start with _fc_. e.g. _fc_test_attribute_1",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status_description": {
                      "type": "string"
                    },
                    "status_code": {
                      "type": "integer"
                    },
                    "data": {
                      "type": "object",
                      "properties": {
                        "result": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "id": {
                                "type": "integer"
                              },
                              "title": {
                                "type": "string"
                              },
                              "simpleType": {
                                "type": "string"
                              },
                              "accessMode": {
                                "type": "integer"
                              },
                              "createdAt": {
                                "type": "string"
                              },
                              "profileImage": {
                                "type": "string",
                                "description": "url to download the image"
                              }
                              ,
                              "c_...": {
                                "type": "string",
                                "description": "all custom fields"
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/listContent": {
      "get": {
        "tags": [
          "Get information"
        ],
        "summary": "Returns all timeline entries of a specific joinpoint.",
        "parameters": [
          {
            "name": "joinpoint_id",
            "description": "id of the Joinpoint you want to have the timeline entries.",
            "required": true,
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status_description": {
                      "type": "string"
                    },
                    "status_code": {
                      "type": "integer"
                    },
                    "data": {
                      "type": "object",
                      "properties": {
                        "result": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "id": {
                                "type": "integer"
                              },
                              "access_mode": {
                                "type": "string"
                              },
                              "createdAt": {
                                "type": "string"
                              },
                              "createdBy": {
                                "type": "integer"
                              },
                              "createdByStream": {
                                "type": "integer"
                              },
                              "simpleType": {
                                "type": "string"
                              },
                              "rawContent": {
                                "type": "string",
                                "description": "raw text of the information object."
                              },
                              "files": {
                                "type": "array",
                                "items": {
                                  "type": "object",
                                  "properties": {
                                    "name": {
                                      "type": "string",
                                      "description": "File name"
                                    },
                                    "type": {
                                      "type": "string",
                                      "description": "Type of the file"
                                    },
                                    "size": {
                                      "type": "integer",
                                      "description": "file size in bytes"
                                    },
                                    "url": {
                                      "type": "string",
                                      "description": "Download url of the file."
                                    }
                                  }
                                }
                              },
                              "shared_joinpoint": {
                                "type": "object",
                                "properties": {
                                  "shared_type": {
                                    "type": "string",
                                    "description": "created; marked; share"
                                  },
                                  "joinpoint_id": {
                                    "type": "integer",
                                    "description": "id of the shared joinpoint"
                                  },
                                  "joinpoint_title": {
                                    "type": "string",
                                    "description": "display name of the shared joinpoint"
                                  },
                                  "joinpoint_simpleType": {
                                    "type": "string",
                                    "description": "simpleType of the shared joinpoint"
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/listCommercialDocs": {
      "get": {
        "tags": [
          "Commercials"
        ],
        "summary": "List all commercial documents like invoices and offers of projects, customers, ...",
        "parameters": [
          {
            "name": "access_token",
            "description": "Use the access token of the authentification.",
            "required": true,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "joinpoint_id",
            "description": "Optional id of the Joinpoint you want to have commercial documents.",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "type",
            "description": "Optional type of commercial documents. Options [invoice, offer]",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "from",
            "description": "Optional date for filter document date. Timestamp yyyy-mm-dd hh:MM or timestamp as milliseconds.",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "to",
            "description": "Optional date for filter document date. Timestamp yyyy-mm-dd hh:MM or timestamp as milliseconds.",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status_description": {
                      "type": "string"
                    },
                    "status_code": {
                      "type": "integer"
                    },
                    "data": {
                      "type": "object",
                      "properties": {
                        "result": {
                          "type": "object",
                          "properties": {
                            "id": {
                              "type": "integer",
                              "description": "id of the document"
                            },
                            "createdAt": {
                              "type": "timestamp",
                              "description": "date of creation of the document"
                            },
                            "createdBy": {
                              "type": "integer",
                              "description": "id of the creator user"
                            },
                            "type": {
                              "type": "string",
                              "description": "type of document [invoice, offer]"
                            },
                            "mode": {
                              "type": "string",
                              "description": "mode of document [draft, active (for offers), payment_open (for invoices), payed, (for invoices), canceled (for invoices)]"
                            },
                            "docDate": {
                              "type": "timestamp",
                              "description": "Officel document date like invoice date"
                            },
                            "docNumber": {
                              "type": "integer",
                              "description": "ascending number in the background"
                            },
                            "displayDocNumber": {
                              "type": "string",
                              "description": "Officel document number like invoice number"
                            },
                            "validityDate": {
                              "type": "timestamp",
                              "description": "For invoice the date to pay, for offers the validity date."
                            },
                            "subject": {
                              "type": "string",
                              "description": "Custom subject for the document"
                            },
                            "netSum": {
                              "type": "number",
                              "description": "net sum of the document"
                            },
                            "grossSum": {
                              "type": "number",
                              "description": "gross sum of the document"
                            },
                            "taxMode": {
                              "type": "string",
                              "description": "mode like reversce charge, only net, ..."
                            },
                            "project": {
                              "type": "object",
                              "description": "Joinpoint: Information of the project (store joinpoint of the commercial document).",
                              "properties": {
                                "id": {
                                    "type": "integer",
                                    "description": "id of the specific joinpoint"
                                  },
                                  "title": {
                                    "type": "string",
                                    "description": "display title of the specific joinpoint."
                                  },
                                  "simpleType": {
                                    "type": "string",
                                    "description": "Type of joinopint: company, contact"
                                  }
                              }
                            },
                            "file": {
                              "type": "object",
                              "description": "Document file",
                              "properties": {
                                "name": {
                                    "type": "string",
                                    "description": "name of the file"
                                  },
                                  "type": {
                                    "type": "string",
                                    "description": "File type, typical pdf"
                                  },
                                  "size": {
                                    "type": "integer",
                                    "description": "size in bytes"
                                  },
                                  "url": {
                                    "type": "integer",
                                    "description": "Download link for the file"
                                  }
                              }
                            },
                            "customer": {
                              "type": "object",
                              "description": "Joinpoint: Information of the customer.",
                              "properties": {
                                "id": {
                                    "type": "integer",
                                    "description": "id of the specific joinpoint"
                                  },
                                  "title": {
                                    "type": "string",
                                    "description": "display title of the specific joinpoint."
                                  },
                                  "simpleType": {
                                    "type": "string",
                                    "description": "Type of joinopint: company, contact"
                                  },
                                  "address": {
                                    "type": "object",
                                    "description": "Address of customer."
                                  }
                              }
                            },
                            "entries": {
                              "type": "array",
                              "description": "List of all positions in the commercial document.",
                              "items": {
                                "type": "object",
                                "properties": {
                                  "pos": {
                                    "type": "integer",
                                    "description": "sort order position"
                                  },
                                  "name": {
                                    "type": "string",
                                    "description": "display title the commercial entry (for example product title)"
                                  },
                                  "description": {
                                    "type": "string",
                                    "description": "Product description for the entry."
                                  },
                                  "discountAmount": {
                                    "type": "integer",
                                    "description": ""
                                  },
                                  "discountPercent": {
                                    "type": "integer",
                                    "description": ""
                                  },
                                  "grossPrice": {
                                    "type": "integer",
                                    "description": ""
                                  },
                                  "netPrice": {
                                    "type": "integer",
                                    "description": ""
                                  },
                                  "pricePerUnit": {
                                    "type": "integer",
                                    "description": ""
                                  },
                                  "quantity": {
                                    "type": "integer",
                                    "description": ""
                                  },
                                  "quantityUnit": {
                                    "type": "string",
                                    "description": ""
                                  },
                                  "tax": {
                                    "type": "integer",
                                    "description": ""
                                  },
                                  "taxAmount": {
                                    "type": "string",
                                    "description": ""
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/getJoinpointStatistic": {
      "get": {
        "tags": [
          "Get Statistic"
        ],
        "summary": "Returns a statistic about the specific joinpoint.",
        "parameters": [
          {
            "name": "access_token",
            "description": "Use the access token of the authentification.",
            "required": true,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "joinpoint_id",
            "description": "id of the Joinpoint you want to have more details about.",
            "required": true,
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status_description": {
                      "type": "string"
                    },
                    "status_code": {
                      "type": "integer"
                    },
                    "data": {
                      "type": "object",
                      "properties": {
                        "result": {
                          "type": "object",
                          "properties": {
                            "id": {
                              "type": "integer",
                              "description": "id of the specific joinpoint"
                            },
                            "title": {
                              "type": "string",
                              "description": "display title of the specific joinpoint."
                            },
                            "full_runtime": {
                              "type": "integer",
                              "description": "get the runtime of the specific joinpoint from creation date until the closing date."
                            },
                            "relative_runtime": {
                              "type": "integer",
                              "description": "get the runtime of the specific joinpoint from the date of start working on until closing date."
                            },
                            "process": {
                              "type": "array",
                              "description": "same statistic values like the specific joinpoint for the process phases of the specific joinpoint.",
                              "items": {
                                "type": "object",
                                "properties": {
                                  "id": {
                                    "type": "integer",
                                    "description": "id of the specific joinpoint"
                                  },
                                  "title": {
                                    "type": "string",
                                    "description": "display title of the specific joinpoint."
                                  },
                                  "full_runtime": {
                                    "type": "integer",
                                    "description": "get the runtime of the specific joinpoint from creation date until the closing date."
                                  },
                                  "relative_runtime": {
                                    "type": "integer",
                                    "description": "get the runtime of the specific joinpoint from the date of start working on until closing date."
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/get": {
      "get": {
        "tags": [
          "Get information"
        ],
        "summary": "Resturn basic details of a Joinpoint",
        "parameters": [
          {
            "name": "access_token",
            "description": "Use the access token of the authentification.",
            "required": true,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "joinpoint_id",
            "description": "id of the Joinpoint you want to have more details about.",
            "required": true,
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status_description": {
                      "type": "string"
                    },
                    "status_code": {
                      "type": "integer"
                    },
                    "data": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "integer"
                        },
                        "access_mode": {
                          "type": "integer"
                        },
                        "title": {
                          "type": "string"
                        },
                        "simpleType": {
                          "type": "string"
                        },
                        "image": {
                          "type": "string",
                          "description": "URL to download the image"
                        },
                        "createdAt": {
                          "type": "string"
                        },
                        "createdBy": {
                          "type": "integer",
                          "description": "id of the creator"
                        },
                        "createdByStream": {
                          "type": "integer",
                          "description": "id of the stream which creates this joinpoint"
                        },
                        "structureJP": {
                          "type": "integer",
                          "description": "id of the structured joinpoint."
                        },
                        "rootPhase": {
                          "type": "integer",
                          "description": "id of the root phase joinpoint."
                        },
                        "parent": {
                          "type": "integer",
                          "description": "id of the parent joinpoint."
                        },
                        "responsibleJp": {
                          "type": "integer",
                          "description": "id of the responsible joinpoint."
                        },
                        "rootJp": {
                          "type": "integer",
                          "description": "id of the root joinpoint"
                        },
                        "isRootJP": {
                          "type": "boolean"
                        },
                        "currentProcessPhase": {
                          "type": "integer",
                          "description": "id of the current process phase of this joinpoint"
                        },
                        "planedStart": {
                          "type": "string",
                          "description": "only for 'Task Joinpoints'"
                        },
                        "deadline": {
                          "type": "string",
                          "description": "only for 'Task Joinpoints'"
                        },
                        "complexity": {
                          "type": "integer",
                          "description": "only for 'Task Joinpoints'"
                        },
                        "priority": {
                          "type": "integer",
                          "description": "only for 'Task Joinpoints'"
                        },
                        "isRelevant": {
                          "type": "boolean",
                          "description": "only for 'Task Joinpoints'. isRelevant means if this task is visible for the            users and relevant."
                        },
                        "taskStatus": {
                          "type": "string",
                          "description": "only for 'Task Joinpoints'."
                        },
                        "closedAt": {
                          "type": "string",
                          "description": "only for 'Task Joinpoints'."
                        },
                        "relatedArea": {
                          "type": "integer",
                          "description": "only for 'Task Joinpoints'."
                        },
                        "customer": {
                          "type": "integer",
                          "description": "only for 'Joinpoints' which are customerable."
                        },
                        "amount": {
                          "type": "integer",
                          "description": "only for 'Sales Joinpoints'. amount means the planed amount for example a              deal."
                        },
                        "realAmount": {
                          "type": "integer",
                          "description": "only for 'Sales Joinpoints'."
                        },
                        "email": {
                          "type": "string",
                          "description": "only for a 'Contact Person Joinpoint'."
                        },
                        "gender": {
                          "type": "integer",
                          "description": "only for a 'contact Person Joinpoint'. 1 = male, 2 = female"
                        },
                        "firstName": {
                          "type": "string",
                          "description": "only for a 'Contact Person Joinpoint'."
                        },
                        "lastName": {
                          "type": "string",
                          "description": "only for a 'Contact Person Joinpoint'."
                        },
                        "company": {
                          "type": "integer",
                          "description": "only for a 'Contact Person Joinpoint'. The id of the company joinpoint which           are connected with the contact."
                        },
                        "department": {
                          "type": "string",
                          "description": "only for a 'Company Joinpoint'."
                        },
                        "description": {
                          "type": "string",
                          "description": "only for a 'Company Joinpoint'."
                        },
                        "homepage": {
                          "type": "string",
                          "description": "only for a 'Company Joinpoint'."
                        },
                        "homepageSSLSecure": {
                          "type": "string",
                          "description": "only for a 'Company Joinpoint'."
                        },
                        "phoneNumber": {
                          "type": "string",
                          "description": "only for a 'Company or a contact person Joinpoint'."
                        },
                        "lastContact": {
                          "type": "string",
                          "description": "only for a 'Company or a contact person Joinpoint'."
                        },
                        "nextContact": {
                          "type": "string",
                          "description": "only for a 'Company or a contact person Joinpoint'."
                        },
                        "address": {
                          "type": "object",
                          "properties": {
                            "street": {
                              "type": "string"
                            },
                            "zip": {
                              "type": "string"
                            },
                            "place": {
                              "type": "string"
                            },
                            "country": {
                              "type": "string"
                            }
                          }
                        },
                        "custom_attribute": {
                          "type": "string",
                          "description": "custom attributes which are set in this joinpoint. This attributes are                 set by a template."
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/getV2": {
      "get": {
        "tags": [
          "Get information"
        ],
        "summary": "Resturn all details of a Joinpoint",
        "parameters": [
          {
            "name": "access_token",
            "description": "Use the access token of the authentification.",
            "required": true,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "joinpoint_id",
            "description": "id of the Joinpoint you want to have more details about.",
            "required": true,
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status_description": {
                      "type": "string"
                    },
                    "status_code": {
                      "type": "integer"
                    },
                    "data": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "integer"
                        },
                        "access_mode": {
                          "type": "integer"
                        },
                        "title": {
                          "type": "string"
                        },
                        "simpleType": {
                          "type": "string"
                        },
                        "image": {
                          "type": "string",
                          "description": "URL to download the image"
                        },
                        "createdAt": {
                          "type": "string"
                        },
                        "createdBy": {
                          "type": "integer",
                          "description": "id of the creator"
                        },
                        "createdByStream": {
                          "type": "integer",
                          "description": "id of the stream which creates this joinpoint"
                        },
                        "structureJP": {
                          "type": "integer",
                          "description": "id of the structured joinpoint."
                        },
                        "rootPhase": {
                          "type": "integer",
                          "description": "id of the root phase joinpoint."
                        },
                        "parent": {
                          "type": "integer",
                          "description": "id of the parent joinpoint."
                        },
                        "responsibleJp": {
                          "type": "integer",
                          "description": "id of the responsible joinpoint."
                        },
                        "rootJp": {
                          "type": "integer",
                          "description": "id of the root joinpoint"
                        },
                        "isRootJP": {
                          "type": "boolean"
                        },
                        "currentProcessPhase": {
                          "type": "integer",
                          "description": "id of the current process phase of this joinpoint"
                        },
                        "planedStart": {
                          "type": "string",
                          "description": "only for 'Task Joinpoints'"
                        },
                        "deadline": {
                          "type": "string",
                          "description": "only for 'Task Joinpoints'"
                        },
                        "complexity": {
                          "type": "integer",
                          "description": "only for 'Task Joinpoints'"
                        },
                        "priority": {
                          "type": "integer",
                          "description": "only for 'Task Joinpoints'"
                        },
                        "isRelevant": {
                          "type": "boolean",
                          "description": "only for 'Task Joinpoints'. isRelevant means if this task is visible for the            users and relevant."
                        },
                        "taskStatus": {
                          "type": "string",
                          "description": "only for 'Task Joinpoints'."
                        },
                        "closedAt": {
                          "type": "string",
                          "description": "only for 'Task Joinpoints'."
                        },
                        "relatedArea": {
                          "type": "integer",
                          "description": "only for 'Task Joinpoints'."
                        },
                        "customer": {
                          "type": "integer",
                          "description": "only for 'Joinpoints' which are customerable."
                        },
                        "amount": {
                          "type": "integer",
                          "description": "only for 'Sales Joinpoints'. amount means the planed amount for example a              deal."
                        },
                        "realAmount": {
                          "type": "integer",
                          "description": "only for 'Sales Joinpoints'."
                        },
                        "email": {
                          "type": "string",
                          "description": "only for a 'Contact Person Joinpoint'."
                        },
                        "gender": {
                          "type": "integer",
                          "description": "only for a 'contact Person Joinpoint'. 1 = male, 2 = female"
                        },
                        "firstName": {
                          "type": "string",
                          "description": "only for a 'Contact Person Joinpoint'."
                        },
                        "lastName": {
                          "type": "string",
                          "description": "only for a 'Contact Person Joinpoint'."
                        },
                        "company": {
                          "type": "integer",
                          "description": "only for a 'Contact Person Joinpoint'. The id of the company joinpoint which           are connected with the contact."
                        },
                        "department": {
                          "type": "string",
                          "description": "only for a 'Company Joinpoint'."
                        },
                        "description": {
                          "type": "string",
                          "description": "only for a 'Company Joinpoint'."
                        },
                        "homepage": {
                          "type": "string",
                          "description": "only for a 'Company Joinpoint'."
                        },
                        "homepageSSLSecure": {
                          "type": "string",
                          "description": "only for a 'Company Joinpoint'."
                        },
                        "phoneNumber": {
                          "type": "string",
                          "description": "only for a 'Company or a contact person Joinpoint'."
                        },
                        "lastContact": {
                          "type": "string",
                          "description": "only for a 'Company or a contact person Joinpoint'."
                        },
                        "nextContact": {
                          "type": "string",
                          "description": "only for a 'Company or a contact person Joinpoint'."
                        },
                        "address": {
                          "type": "object",
                          "properties": {
                            "street": {
                              "type": "string"
                            },
                            "zip": {
                              "type": "string"
                            },
                            "place": {
                              "type": "string"
                            },
                            "country": {
                              "type": "string"
                            }
                          }
                        },
                        "custom_attribute": {
                          "type": "string",
                          "description": "custom attributes which are set in this joinpoint. This attributes are                 set by a template."
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}