{"openapi":"3.0.0","paths":{"/api/v1/validate":{"get":{"description":"This can be used to validate the API Key. If valid, it will return the associated user ID.","operationId":"validate","parameters":[{"name":"Request-Id","in":"header","description":"The HTTP `Request-Id` request header is an optional and unofficial HTTP header, used to trace individual HTTP requests from the client to the server and back again. It allows the client and server to correlate each HTTP request. If not provided by the client, the server should generate a unique request ID and include it in the response.","schema":{}}],"responses":{"200":{"description":"The user is valid.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","example":"Success"},"data":{"type":"object","properties":{"user":{"type":"object","properties":{"id":{"type":"string","example":"123e4567-e89b-12d3-a456-426614174000"}}}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#unauthorized"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"UNAUTHORIZED"},"message":{"type":"string","example":"Unauthorized"}}}}}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#internal-server-error"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"INTERNAL_SERVER_ERROR"},"message":{"type":"string","example":"Internal server error"}}}}}}}}}},"security":[{"CapmoAuth":[]}],"summary":"","tags":["Other"]}},"/api/v1/upload/projects/{projectId}/document-files":{"post":{"description":"This can be used to obtain an upload URL for a new project document.","operationId":"getDocumentUploadUrl","parameters":[{"name":"projectId","required":true,"in":"path","schema":{"type":"string"}},{"name":"Request-Id","in":"header","description":"The HTTP `Request-Id` request header is an optional and unofficial HTTP header, used to trace individual HTTP requests from the client to the server and back again. It allows the client and server to correlate each HTTP request. If not provided by the client, the server should generate a unique request ID and include it in the response.","schema":{}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WriteDocumentFileUploadDto"}}}},"responses":{"200":{"description":"The upload URL for a new project document has been successfully obtained.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","example":"Success"},"data":{"$ref":"#/components/schemas/ReadDocumentFileUploadDto"}}}}}},"400":{"description":"Bad request, Invalid input","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#bad-request"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"BAD_REQUEST"},"message":{"type":"string","example":"Bad request"}}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#unauthorized"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"UNAUTHORIZED"},"message":{"type":"string","example":"Unauthorized"}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#forbidden"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"FORBIDDEN"},"message":{"type":"string","example":"Forbidden"}}}}}}}}},"404":{"description":"Object not found","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#not-found"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"NOT_FOUND"},"message":{"type":"string","example":"Object not found"}}}}}}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#conflict"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"CONFLICT"},"message":{"type":"string","example":"Conflict"}}}}}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#internal-server-error"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"INTERNAL_SERVER_ERROR"},"message":{"type":"string","example":"Internal server error"}}}}}}}}}},"security":[{"CapmoAuth":[]}],"summary":"","tags":["Uploads"]}},"/api/v1/upload/plans":{"post":{"description":"This can be used to obtain an upload URL for a new plan file.","operationId":"getPlanUploadUrl","parameters":[{"name":"Request-Id","in":"header","description":"The HTTP `Request-Id` request header is an optional and unofficial HTTP header, used to trace individual HTTP requests from the client to the server and back again. It allows the client and server to correlate each HTTP request. If not provided by the client, the server should generate a unique request ID and include it in the response.","schema":{}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WritePlanFileUploadDto"}}}},"responses":{"200":{"description":"The upload URL has been successfully obtained.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","example":"Success"},"data":{"$ref":"#/components/schemas/ReadPlanFileUploadDto"}}}}}},"400":{"description":"Bad request, Invalid input","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#bad-request"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"BAD_REQUEST"},"message":{"type":"string","example":"Bad request"}}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#unauthorized"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"UNAUTHORIZED"},"message":{"type":"string","example":"Unauthorized"}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#forbidden"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"FORBIDDEN"},"message":{"type":"string","example":"Forbidden"}}}}}}}}},"404":{"description":"Object not found","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#not-found"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"NOT_FOUND"},"message":{"type":"string","example":"Object not found"}}}}}}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#conflict"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"CONFLICT"},"message":{"type":"string","example":"Conflict"}}}}}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#internal-server-error"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"INTERNAL_SERVER_ERROR"},"message":{"type":"string","example":"Internal server error"}}}}}}}}}},"security":[{"CapmoAuth":[]}],"summary":"","tags":["Uploads"]}},"/api/v1/upload/ticket-attachments":{"post":{"description":"This can be used to obtain an upload URL for a new ticket attachment.","operationId":"getTicketAttachmentUploadUrl","parameters":[{"name":"Request-Id","in":"header","description":"The HTTP `Request-Id` request header is an optional and unofficial HTTP header, used to trace individual HTTP requests from the client to the server and back again. It allows the client and server to correlate each HTTP request. If not provided by the client, the server should generate a unique request ID and include it in the response.","schema":{}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WriteTicketAttachmentUploadDto"}}}},"responses":{"200":{"description":"The upload URL has been successfully obtained.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","example":"Success"},"data":{"$ref":"#/components/schemas/ReadTicketAttachmentUploadDto"}}}}}},"400":{"description":"Bad request, Invalid input","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#bad-request"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"BAD_REQUEST"},"message":{"type":"string","example":"Bad request"}}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#unauthorized"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"UNAUTHORIZED"},"message":{"type":"string","example":"Unauthorized"}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#forbidden"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"FORBIDDEN"},"message":{"type":"string","example":"Forbidden"}}}}}}}}},"404":{"description":"Object not found","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#not-found"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"NOT_FOUND"},"message":{"type":"string","example":"Object not found"}}}}}}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#conflict"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"CONFLICT"},"message":{"type":"string","example":"Conflict"}}}}}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#internal-server-error"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"INTERNAL_SERVER_ERROR"},"message":{"type":"string","example":"Internal server error"}}}}}}}}}},"security":[{"CapmoAuth":[]}],"summary":"","tags":["Uploads"]}},"/api/v1/projects":{"get":{"description":"This can be used to list all projects in a paginated response.","operationId":"getProjects","parameters":[{"name":"order_by","required":false,"in":"query","description":"Field to order by. It can be any field of the entity.","schema":{"default":"server_created_at","example":"created_at","type":"string"}},{"name":"order_direction","required":false,"in":"query","description":"Order direction of the `order_by` field. It can be `asc` or `desc`.","schema":{"default":"asc","example":"asc","type":"string","enum":["asc","desc"]}},{"name":"after","required":false,"in":"query","description":"The last element from the previous page. This is a cursor. It will be returned in the output to be used in the next request. When it is not present, the first page is returned. When it is `null`, there are no more pages.","schema":{"type":"string"}},{"name":"limit","required":false,"in":"query","description":"How many items should be in the output.","schema":{"minimum":1,"maximum":1000,"default":200,"example":20,"type":"number"}},{"name":"source_id","required":false,"in":"query","description":"[Filtering Parameter] The unique identifier of the source. This is a user-generated string, used to link the project to a resource in an external system.","schema":{"maxLength":255,"example":"123e4567-e89b-12d3-a456-426614174000","type":"string"}},{"name":"Request-Id","in":"header","description":"The HTTP `Request-Id` request header is an optional and unofficial HTTP header, used to trace individual HTTP requests from the client to the server and back again. It allows the client and server to correlate each HTTP request. If not provided by the client, the server should generate a unique request ID and include it in the response.","schema":{}}],"responses":{"200":{"description":"The projects have been successfully retrieved.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","example":"Success"},"data":{"allOf":[{"$ref":"#/components/schemas/PaginatedOutputDto"},{"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ReadProjectDto"}}}}]}}}}}},"400":{"description":"Bad request, Invalid input","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#bad-request"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"BAD_REQUEST"},"message":{"type":"string","example":"Bad request"}}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#unauthorized"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"UNAUTHORIZED"},"message":{"type":"string","example":"Unauthorized"}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#forbidden"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"FORBIDDEN"},"message":{"type":"string","example":"Forbidden"}}}}}}}}},"404":{"description":"Object not found","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#not-found"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"NOT_FOUND"},"message":{"type":"string","example":"Object not found"}}}}}}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#conflict"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"CONFLICT"},"message":{"type":"string","example":"Conflict"}}}}}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#internal-server-error"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"INTERNAL_SERVER_ERROR"},"message":{"type":"string","example":"Internal server error"}}}}}}}}}},"security":[{"CapmoAuth":[]}],"summary":"","tags":["Projects"]},"post":{"description":"This can be used to create a new project, including creating a new project from a template. If `project_template_id` is provided, the project will be created from the template, otherwise a new blank project will be created.\n\n Please note:\n - The API user will be added as project member with full access to the project.\n - Creating a project from a template can be a slow operation, as it may involve copying a lot of data. This can typically be in the order of a few seconds.","operationId":"createProject","parameters":[{"name":"Request-Id","in":"header","description":"The HTTP `Request-Id` request header is an optional and unofficial HTTP header, used to trace individual HTTP requests from the client to the server and back again. It allows the client and server to correlate each HTTP request. If not provided by the client, the server should generate a unique request ID and include it in the response.","schema":{}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateProjectDto"}}}},"responses":{"201":{"description":"The project has been successfully created.","links":{"Get Project":{"description":"Get the created project","operationId":"getProject","parameters":{"projectId":"$response.body.data#/id"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","example":"Success"},"data":{"$ref":"#/components/schemas/ReadProjectDto"}}}}}},"400":{"description":"Bad request, Invalid input","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#bad-request"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"BAD_REQUEST"},"message":{"type":"string","example":"Bad request"}}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#unauthorized"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"UNAUTHORIZED"},"message":{"type":"string","example":"Unauthorized"}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#forbidden"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"FORBIDDEN"},"message":{"type":"string","example":"Forbidden"}}}}}}}}},"404":{"description":"Object not found","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#not-found"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"NOT_FOUND"},"message":{"type":"string","example":"Object not found"}}}}}}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#conflict"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"CONFLICT"},"message":{"type":"string","example":"Conflict"}}}}}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#internal-server-error"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"INTERNAL_SERVER_ERROR"},"message":{"type":"string","example":"Internal server error"}}}}}}}}}},"security":[{"CapmoAuth":[]}],"summary":"","tags":["Projects"]}},"/api/v1/projects/{projectId}":{"get":{"description":"This can be used to retrieve a specific project by its ID.","operationId":"getProject","parameters":[{"name":"projectId","required":true,"in":"path","schema":{"type":"string"}},{"name":"Request-Id","in":"header","description":"The HTTP `Request-Id` request header is an optional and unofficial HTTP header, used to trace individual HTTP requests from the client to the server and back again. It allows the client and server to correlate each HTTP request. If not provided by the client, the server should generate a unique request ID and include it in the response.","schema":{}}],"responses":{"200":{"description":"The project has been successfully retrieved.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","example":"Success"},"data":{"$ref":"#/components/schemas/ReadProjectDto"}}}}}},"400":{"description":"Bad request, Invalid input","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#bad-request"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"BAD_REQUEST"},"message":{"type":"string","example":"Bad request"}}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#unauthorized"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"UNAUTHORIZED"},"message":{"type":"string","example":"Unauthorized"}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#forbidden"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"FORBIDDEN"},"message":{"type":"string","example":"Forbidden"}}}}}}}}},"404":{"description":"Object not found","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#not-found"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"NOT_FOUND"},"message":{"type":"string","example":"Object not found"}}}}}}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#conflict"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"CONFLICT"},"message":{"type":"string","example":"Conflict"}}}}}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#internal-server-error"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"INTERNAL_SERVER_ERROR"},"message":{"type":"string","example":"Internal server error"}}}}}}}}}},"security":[{"CapmoAuth":[]}],"summary":"","tags":["Projects"]},"patch":{"description":"This can be used to update a specific project by its ID.","operationId":"updateProject","parameters":[{"name":"projectId","required":true,"in":"path","schema":{"type":"string"}},{"name":"Request-Id","in":"header","description":"The HTTP `Request-Id` request header is an optional and unofficial HTTP header, used to trace individual HTTP requests from the client to the server and back again. It allows the client and server to correlate each HTTP request. If not provided by the client, the server should generate a unique request ID and include it in the response.","schema":{}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateProjectDto"}}}},"responses":{"200":{"description":"The project has been successfully updated.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","example":"Success"},"data":{"$ref":"#/components/schemas/ReadProjectDto"}}}}}},"400":{"description":"Bad request, Invalid input","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#bad-request"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"BAD_REQUEST"},"message":{"type":"string","example":"Bad request"}}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#unauthorized"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"UNAUTHORIZED"},"message":{"type":"string","example":"Unauthorized"}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#forbidden"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"FORBIDDEN"},"message":{"type":"string","example":"Forbidden"}}}}}}}}},"404":{"description":"Object not found","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#not-found"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"NOT_FOUND"},"message":{"type":"string","example":"Object not found"}}}}}}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#conflict"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"CONFLICT"},"message":{"type":"string","example":"Conflict"}}}}}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#internal-server-error"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"INTERNAL_SERVER_ERROR"},"message":{"type":"string","example":"Internal server error"}}}}}}}}}},"security":[{"CapmoAuth":[]}],"summary":"","tags":["Projects"]},"delete":{"description":"This can be used to delete a specific project by its ID.","operationId":"deleteProject","parameters":[{"name":"projectId","required":true,"in":"path","schema":{"type":"string"}},{"name":"Request-Id","in":"header","description":"The HTTP `Request-Id` request header is an optional and unofficial HTTP header, used to trace individual HTTP requests from the client to the server and back again. It allows the client and server to correlate each HTTP request. If not provided by the client, the server should generate a unique request ID and include it in the response.","schema":{}}],"responses":{"200":{"description":"The project has been successfully deleted."},"400":{"description":"Bad request, Invalid input","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#bad-request"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"BAD_REQUEST"},"message":{"type":"string","example":"Bad request"}}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#unauthorized"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"UNAUTHORIZED"},"message":{"type":"string","example":"Unauthorized"}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#forbidden"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"FORBIDDEN"},"message":{"type":"string","example":"Forbidden"}}}}}}}}},"404":{"description":"Object not found","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#not-found"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"NOT_FOUND"},"message":{"type":"string","example":"Object not found"}}}}}}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#conflict"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"CONFLICT"},"message":{"type":"string","example":"Conflict"}}}}}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#internal-server-error"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"INTERNAL_SERVER_ERROR"},"message":{"type":"string","example":"Internal server error"}}}}}}}}}},"security":[{"CapmoAuth":[]}],"summary":"","tags":["Projects"]}},"/api/v1/projects/{projectId}/archived":{"put":{"description":"This can be used to archive a specific project by its ID. Archiving a project will also remove all pins associated with the project for the authenticated user.","operationId":"archiveProject","parameters":[{"name":"projectId","required":true,"in":"path","schema":{"type":"string"}},{"name":"Request-Id","in":"header","description":"The HTTP `Request-Id` request header is an optional and unofficial HTTP header, used to trace individual HTTP requests from the client to the server and back again. It allows the client and server to correlate each HTTP request. If not provided by the client, the server should generate a unique request ID and include it in the response.","schema":{}}],"responses":{"200":{"description":"The project has been successfully archived.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","example":"Success"},"data":{"$ref":"#/components/schemas/ReadProjectDto"}}}}}},"400":{"description":"Bad request, Invalid input","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#bad-request"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"BAD_REQUEST"},"message":{"type":"string","example":"Bad request"}}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#unauthorized"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"UNAUTHORIZED"},"message":{"type":"string","example":"Unauthorized"}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#forbidden"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"FORBIDDEN"},"message":{"type":"string","example":"Forbidden"}}}}}}}}},"404":{"description":"Object not found","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#not-found"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"NOT_FOUND"},"message":{"type":"string","example":"Object not found"}}}}}}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#conflict"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"CONFLICT"},"message":{"type":"string","example":"Conflict"}}}}}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#internal-server-error"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"INTERNAL_SERVER_ERROR"},"message":{"type":"string","example":"Internal server error"}}}}}}}}}},"security":[{"CapmoAuth":[]}],"summary":"","tags":["Projects"]},"delete":{"description":"This can be used to unarchive a specific project by its ID.","operationId":"unarchiveProject","parameters":[{"name":"projectId","required":true,"in":"path","schema":{"type":"string"}},{"name":"Request-Id","in":"header","description":"The HTTP `Request-Id` request header is an optional and unofficial HTTP header, used to trace individual HTTP requests from the client to the server and back again. It allows the client and server to correlate each HTTP request. If not provided by the client, the server should generate a unique request ID and include it in the response.","schema":{}}],"responses":{"200":{"description":"The project has been successfully unarchived.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","example":"Success"},"data":{"$ref":"#/components/schemas/ReadProjectDto"}}}}}},"400":{"description":"Bad request, Invalid input","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#bad-request"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"BAD_REQUEST"},"message":{"type":"string","example":"Bad request"}}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#unauthorized"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"UNAUTHORIZED"},"message":{"type":"string","example":"Unauthorized"}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#forbidden"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"FORBIDDEN"},"message":{"type":"string","example":"Forbidden"}}}}}}}}},"404":{"description":"Object not found","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#not-found"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"NOT_FOUND"},"message":{"type":"string","example":"Object not found"}}}}}}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#conflict"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"CONFLICT"},"message":{"type":"string","example":"Conflict"}}}}}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#internal-server-error"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"INTERNAL_SERVER_ERROR"},"message":{"type":"string","example":"Internal server error"}}}}}}}}}},"security":[{"CapmoAuth":[]}],"summary":"","tags":["Projects"]}},"/api/v1/project-templates":{"get":{"description":"This can be used to list all project templates in a paginated response.","operationId":"getProjectTemplates","parameters":[{"name":"order_by","required":false,"in":"query","description":"Field to order by. It can be any field of the entity.","schema":{"default":"server_created_at","example":"created_at","type":"string"}},{"name":"order_direction","required":false,"in":"query","description":"Order direction of the `order_by` field. It can be `asc` or `desc`.","schema":{"default":"asc","example":"asc","type":"string","enum":["asc","desc"]}},{"name":"after","required":false,"in":"query","description":"The last element from the previous page. This is a cursor. It will be returned in the output to be used in the next request. When it is not present, the first page is returned. When it is `null`, there are no more pages.","schema":{"type":"string"}},{"name":"limit","required":false,"in":"query","description":"How many items should be in the output.","schema":{"minimum":1,"maximum":1000,"default":200,"example":20,"type":"number"}},{"name":"Request-Id","in":"header","description":"The HTTP `Request-Id` request header is an optional and unofficial HTTP header, used to trace individual HTTP requests from the client to the server and back again. It allows the client and server to correlate each HTTP request. If not provided by the client, the server should generate a unique request ID and include it in the response.","schema":{}}],"responses":{"200":{"description":"The project templates have been successfully retrieved.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","example":"Success"},"data":{"allOf":[{"$ref":"#/components/schemas/PaginatedOutputDto"},{"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ReadProjectTemplateDto"}}}}]}}}}}},"400":{"description":"Bad request, Invalid input","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#bad-request"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"BAD_REQUEST"},"message":{"type":"string","example":"Bad request"}}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#unauthorized"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"UNAUTHORIZED"},"message":{"type":"string","example":"Unauthorized"}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#forbidden"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"FORBIDDEN"},"message":{"type":"string","example":"Forbidden"}}}}}}}}},"404":{"description":"Object not found","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#not-found"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"NOT_FOUND"},"message":{"type":"string","example":"Object not found"}}}}}}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#conflict"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"CONFLICT"},"message":{"type":"string","example":"Conflict"}}}}}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#internal-server-error"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"INTERNAL_SERVER_ERROR"},"message":{"type":"string","example":"Internal server error"}}}}}}}}}},"security":[{"CapmoAuth":[]}],"summary":"","tags":["Project Templates"]}},"/api/v1/project-templates/{projectTemplateId}":{"get":{"description":"This can be used to retrieve a specific project template by its ID.","operationId":"getProjectTemplate","parameters":[{"name":"projectTemplateId","required":true,"in":"path","schema":{"type":"string"}},{"name":"Request-Id","in":"header","description":"The HTTP `Request-Id` request header is an optional and unofficial HTTP header, used to trace individual HTTP requests from the client to the server and back again. It allows the client and server to correlate each HTTP request. If not provided by the client, the server should generate a unique request ID and include it in the response.","schema":{}}],"responses":{"200":{"description":"The project template has been successfully retrieved.","links":{"Create Project":{"description":"Create a project from a project template","operationId":"createProject","parameters":{"project_template_id":"$response.body.data#/id"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","example":"Success"},"data":{"$ref":"#/components/schemas/ReadProjectTemplateDto"}}}}}},"400":{"description":"Bad request, Invalid input","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#bad-request"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"BAD_REQUEST"},"message":{"type":"string","example":"Bad request"}}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#unauthorized"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"UNAUTHORIZED"},"message":{"type":"string","example":"Unauthorized"}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#forbidden"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"FORBIDDEN"},"message":{"type":"string","example":"Forbidden"}}}}}}}}},"404":{"description":"Object not found","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#not-found"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"NOT_FOUND"},"message":{"type":"string","example":"Object not found"}}}}}}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#conflict"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"CONFLICT"},"message":{"type":"string","example":"Conflict"}}}}}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#internal-server-error"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"INTERNAL_SERVER_ERROR"},"message":{"type":"string","example":"Internal server error"}}}}}}}}}},"security":[{"CapmoAuth":[]}],"summary":"","tags":["Project Templates"]}},"/api/v1/organisation/people":{"get":{"description":"This can be used to list all organisation contact book people in a paginated response.","operationId":"getOrganisationPeople","parameters":[{"name":"order_by","required":false,"in":"query","description":"Field to order by.","schema":{"default":"server_created_at","example":"server_updated_at","type":"string","enum":["server_created_at","server_updated_at","first_name","last_name","email","created_at","updated_at"]}},{"name":"order_direction","required":false,"in":"query","description":"Order direction of the `order_by` field. It can be `asc` or `desc`.","schema":{"default":"asc","example":"asc","type":"string","enum":["asc","desc"]}},{"name":"after","required":false,"in":"query","description":"The last element from the previous page. This is a cursor. It will be returned in the output to be used in the next request. When it is not present, the first page is returned. When it is `null`, there are no more pages.","schema":{"type":"string"}},{"name":"limit","required":false,"in":"query","description":"How many items should be in the output.","schema":{"minimum":1,"maximum":1000,"default":200,"example":20,"type":"number"}},{"name":"source_id","required":false,"in":"query","description":"[Filtering Parameter] The unique identifier of the source. This is a user-generated string, used to link the person to a resource in an external system.","schema":{"maxLength":255,"example":"123e4567-e89b-12d3-a456-426614174000","type":"string"}},{"name":"email","required":false,"in":"query","description":"[Filtering Parameter] The email address of the person. ","schema":{"maxLength":255,"example":"john.doe@example.com","type":"string"}},{"name":"Request-Id","in":"header","description":"The HTTP `Request-Id` request header is an optional and unofficial HTTP header, used to trace individual HTTP requests from the client to the server and back again. It allows the client and server to correlate each HTTP request. If not provided by the client, the server should generate a unique request ID and include it in the response.","schema":{}}],"responses":{"200":{"description":"The organisation contact book people have been successfully retrieved.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","example":"Success"},"data":{"allOf":[{"$ref":"#/components/schemas/PaginatedOutputDto"},{"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ReadOrganisationPersonDto"}}}}]}}}}}},"400":{"description":"Bad request, Invalid input","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#bad-request"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"BAD_REQUEST"},"message":{"type":"string","example":"Bad request"}}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#unauthorized"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"UNAUTHORIZED"},"message":{"type":"string","example":"Unauthorized"}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#forbidden"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"FORBIDDEN"},"message":{"type":"string","example":"Forbidden"}}}}}}}}},"404":{"description":"Object not found","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#not-found"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"NOT_FOUND"},"message":{"type":"string","example":"Object not found"}}}}}}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#conflict"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"CONFLICT"},"message":{"type":"string","example":"Conflict"}}}}}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#internal-server-error"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"INTERNAL_SERVER_ERROR"},"message":{"type":"string","example":"Internal server error"}}}}}}}}}},"security":[{"CapmoAuth":[]}],"summary":"","tags":["Organisation People"]},"post":{"description":"This can be used to add a new organisation contact book person.","operationId":"createOrganisationPerson","parameters":[{"name":"Request-Id","in":"header","description":"The HTTP `Request-Id` request header is an optional and unofficial HTTP header, used to trace individual HTTP requests from the client to the server and back again. It allows the client and server to correlate each HTTP request. If not provided by the client, the server should generate a unique request ID and include it in the response.","schema":{}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateOrganisationPersonDto"}}}},"responses":{"201":{"description":"The organisation contact book person has been successfully created.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","example":"Success"},"data":{"$ref":"#/components/schemas/ReadOrganisationPersonDto"}}}}}},"400":{"description":"Bad request, Invalid input","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#bad-request"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"BAD_REQUEST"},"message":{"type":"string","example":"Bad request"}}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#unauthorized"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"UNAUTHORIZED"},"message":{"type":"string","example":"Unauthorized"}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#forbidden"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"FORBIDDEN"},"message":{"type":"string","example":"Forbidden"}}}}}}}}},"404":{"description":"Object not found","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#not-found"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"NOT_FOUND"},"message":{"type":"string","example":"Object not found"}}}}}}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#conflict"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"CONFLICT"},"message":{"type":"string","example":"Conflict"}}}}}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#internal-server-error"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"INTERNAL_SERVER_ERROR"},"message":{"type":"string","example":"Internal server error"}}}}}}}}}},"security":[{"CapmoAuth":[]}],"summary":"","tags":["Organisation People"]}},"/api/v1/organisation/people/{personId}":{"get":{"description":"This can be used to retrieve a specific organisation person by its ID.","operationId":"getOrganisationPerson","parameters":[{"name":"personId","required":true,"in":"path","schema":{"type":"string"}},{"name":"Request-Id","in":"header","description":"The HTTP `Request-Id` request header is an optional and unofficial HTTP header, used to trace individual HTTP requests from the client to the server and back again. It allows the client and server to correlate each HTTP request. If not provided by the client, the server should generate a unique request ID and include it in the response.","schema":{}}],"responses":{"200":{"description":"The organisation person has been successfully retrieved.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","example":"Success"},"data":{"$ref":"#/components/schemas/ReadOrganisationPersonDto"}}}}}},"400":{"description":"Bad request, Invalid input","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#bad-request"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"BAD_REQUEST"},"message":{"type":"string","example":"Bad request"}}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#unauthorized"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"UNAUTHORIZED"},"message":{"type":"string","example":"Unauthorized"}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#forbidden"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"FORBIDDEN"},"message":{"type":"string","example":"Forbidden"}}}}}}}}},"404":{"description":"Object not found","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#not-found"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"NOT_FOUND"},"message":{"type":"string","example":"Object not found"}}}}}}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#conflict"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"CONFLICT"},"message":{"type":"string","example":"Conflict"}}}}}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#internal-server-error"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"INTERNAL_SERVER_ERROR"},"message":{"type":"string","example":"Internal server error"}}}}}}}}}},"security":[{"CapmoAuth":[]}],"summary":"","tags":["Organisation People"]},"patch":{"description":"This can be used to update a specific organisation contact book person by its ID.","operationId":"updateOrganisationPerson","parameters":[{"name":"personId","required":true,"in":"path","schema":{"type":"string"}},{"name":"Request-Id","in":"header","description":"The HTTP `Request-Id` request header is an optional and unofficial HTTP header, used to trace individual HTTP requests from the client to the server and back again. It allows the client and server to correlate each HTTP request. If not provided by the client, the server should generate a unique request ID and include it in the response.","schema":{}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateOrganisationPersonDto"}}}},"responses":{"200":{"description":"The organisation contact book person has been successfully updated.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","example":"Success"},"data":{"$ref":"#/components/schemas/ReadOrganisationPersonDto"}}}}}},"400":{"description":"Bad request, Invalid input","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#bad-request"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"BAD_REQUEST"},"message":{"type":"string","example":"Bad request"}}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#unauthorized"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"UNAUTHORIZED"},"message":{"type":"string","example":"Unauthorized"}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#forbidden"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"FORBIDDEN"},"message":{"type":"string","example":"Forbidden"}}}}}}}}},"404":{"description":"Object not found","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#not-found"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"NOT_FOUND"},"message":{"type":"string","example":"Object not found"}}}}}}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#conflict"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"CONFLICT"},"message":{"type":"string","example":"Conflict"}}}}}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#internal-server-error"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"INTERNAL_SERVER_ERROR"},"message":{"type":"string","example":"Internal server error"}}}}}}}}}},"security":[{"CapmoAuth":[]}],"summary":"","tags":["Organisation People"]},"delete":{"description":"This can be used to delete an organisation contact book person. If the person is a member of the organisation, their membership will be deleted as well.","operationId":"deleteOrganisationPerson","parameters":[{"name":"personId","required":true,"in":"path","schema":{"type":"string"}},{"name":"Request-Id","in":"header","description":"The HTTP `Request-Id` request header is an optional and unofficial HTTP header, used to trace individual HTTP requests from the client to the server and back again. It allows the client and server to correlate each HTTP request. If not provided by the client, the server should generate a unique request ID and include it in the response.","schema":{}}],"responses":{"200":{"description":"The organisation contact book person has been successfully deleted."},"400":{"description":"Bad request, Invalid input","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#bad-request"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"BAD_REQUEST"},"message":{"type":"string","example":"Bad request"}}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#unauthorized"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"UNAUTHORIZED"},"message":{"type":"string","example":"Unauthorized"}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#forbidden"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"FORBIDDEN"},"message":{"type":"string","example":"Forbidden"}}}}}}}}},"404":{"description":"Object not found","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#not-found"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"NOT_FOUND"},"message":{"type":"string","example":"Object not found"}}}}}}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#conflict"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"CONFLICT"},"message":{"type":"string","example":"Conflict"}}}}}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#internal-server-error"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"INTERNAL_SERVER_ERROR"},"message":{"type":"string","example":"Internal server error"}}}}}}}}}},"security":[{"CapmoAuth":[]}],"summary":"","tags":["Organisation People"]}},"/api/v1/organisation/companies":{"get":{"description":"This can be used to list all organisation contact book companies in a paginated response.","operationId":"getOrganisationCompanies","parameters":[{"name":"order_by","required":false,"in":"query","description":"Field to order by.","schema":{"default":"server_created_at","example":"server_updated_at","type":"string","enum":["server_created_at","server_updated_at","name","created_at","updated_at"]}},{"name":"order_direction","required":false,"in":"query","description":"Order direction of the `order_by` field. It can be `asc` or `desc`.","schema":{"default":"asc","example":"asc","type":"string","enum":["asc","desc"]}},{"name":"after","required":false,"in":"query","description":"The last element from the previous page. This is a cursor. It will be returned in the output to be used in the next request. When it is not present, the first page is returned. When it is `null`, there are no more pages.","schema":{"type":"string"}},{"name":"limit","required":false,"in":"query","description":"How many items should be in the output.","schema":{"minimum":1,"maximum":1000,"default":200,"example":20,"type":"number"}},{"name":"source_id","required":false,"in":"query","description":"[Filtering Parameter] The unique identifier of the source. This is a user-generated string, used to link the company to a resource in an external system.","schema":{"maxLength":255,"example":"123e4567-e89b-12d3-a456-426614174000","type":"string"}},{"name":"Request-Id","in":"header","description":"The HTTP `Request-Id` request header is an optional and unofficial HTTP header, used to trace individual HTTP requests from the client to the server and back again. It allows the client and server to correlate each HTTP request. If not provided by the client, the server should generate a unique request ID and include it in the response.","schema":{}}],"responses":{"200":{"description":"The organisation contact book companies have been successfully retrieved.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","example":"Success"},"data":{"allOf":[{"$ref":"#/components/schemas/PaginatedOutputDto"},{"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ReadOrganisationCompanyDto"}}}}]}}}}}},"400":{"description":"Bad request, Invalid input","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#bad-request"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"BAD_REQUEST"},"message":{"type":"string","example":"Bad request"}}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#unauthorized"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"UNAUTHORIZED"},"message":{"type":"string","example":"Unauthorized"}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#forbidden"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"FORBIDDEN"},"message":{"type":"string","example":"Forbidden"}}}}}}}}},"404":{"description":"Object not found","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#not-found"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"NOT_FOUND"},"message":{"type":"string","example":"Object not found"}}}}}}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#conflict"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"CONFLICT"},"message":{"type":"string","example":"Conflict"}}}}}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#internal-server-error"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"INTERNAL_SERVER_ERROR"},"message":{"type":"string","example":"Internal server error"}}}}}}}}}},"security":[{"CapmoAuth":[]}],"summary":"","tags":["Organisation Companies"]},"post":{"description":"This can be used to add a new organisation contact book company.","operationId":"createOrganisationCompany","parameters":[{"name":"Request-Id","in":"header","description":"The HTTP `Request-Id` request header is an optional and unofficial HTTP header, used to trace individual HTTP requests from the client to the server and back again. It allows the client and server to correlate each HTTP request. If not provided by the client, the server should generate a unique request ID and include it in the response.","schema":{}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateOrganisationCompanyDto"}}}},"responses":{"201":{"description":"The organisation contact book company has been successfully created.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","example":"Success"},"data":{"$ref":"#/components/schemas/ReadOrganisationCompanyDto"}}}}}},"400":{"description":"Bad request, Invalid input","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#bad-request"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"BAD_REQUEST"},"message":{"type":"string","example":"Bad request"}}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#unauthorized"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"UNAUTHORIZED"},"message":{"type":"string","example":"Unauthorized"}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#forbidden"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"FORBIDDEN"},"message":{"type":"string","example":"Forbidden"}}}}}}}}},"404":{"description":"Object not found","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#not-found"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"NOT_FOUND"},"message":{"type":"string","example":"Object not found"}}}}}}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#conflict"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"CONFLICT"},"message":{"type":"string","example":"Conflict"}}}}}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#internal-server-error"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"INTERNAL_SERVER_ERROR"},"message":{"type":"string","example":"Internal server error"}}}}}}}}}},"security":[{"CapmoAuth":[]}],"summary":"","tags":["Organisation Companies"]}},"/api/v1/organisation/companies/{companyId}":{"get":{"description":"This can be used to retrieve a specific organisation company by its ID.","operationId":"getOrganisationCompany","parameters":[{"name":"companyId","required":true,"in":"path","schema":{"type":"string"}},{"name":"Request-Id","in":"header","description":"The HTTP `Request-Id` request header is an optional and unofficial HTTP header, used to trace individual HTTP requests from the client to the server and back again. It allows the client and server to correlate each HTTP request. If not provided by the client, the server should generate a unique request ID and include it in the response.","schema":{}}],"responses":{"200":{"description":"The organisation company has been successfully retrieved.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","example":"Success"},"data":{"$ref":"#/components/schemas/ReadOrganisationCompanyDto"}}}}}},"400":{"description":"Bad request, Invalid input","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#bad-request"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"BAD_REQUEST"},"message":{"type":"string","example":"Bad request"}}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#unauthorized"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"UNAUTHORIZED"},"message":{"type":"string","example":"Unauthorized"}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#forbidden"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"FORBIDDEN"},"message":{"type":"string","example":"Forbidden"}}}}}}}}},"404":{"description":"Object not found","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#not-found"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"NOT_FOUND"},"message":{"type":"string","example":"Object not found"}}}}}}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#conflict"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"CONFLICT"},"message":{"type":"string","example":"Conflict"}}}}}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#internal-server-error"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"INTERNAL_SERVER_ERROR"},"message":{"type":"string","example":"Internal server error"}}}}}}}}}},"security":[{"CapmoAuth":[]}],"summary":"","tags":["Organisation Companies"]},"patch":{"description":"This can be used to update a specific organisation contact book company by its ID.","operationId":"updateOrganisationCompany","parameters":[{"name":"companyId","required":true,"in":"path","schema":{"type":"string"}},{"name":"Request-Id","in":"header","description":"The HTTP `Request-Id` request header is an optional and unofficial HTTP header, used to trace individual HTTP requests from the client to the server and back again. It allows the client and server to correlate each HTTP request. If not provided by the client, the server should generate a unique request ID and include it in the response.","schema":{}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateOrganisationCompanyDto"}}}},"responses":{"200":{"description":"The organisation contact book company has been successfully updated."},"400":{"description":"Bad request, Invalid input","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#bad-request"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"BAD_REQUEST"},"message":{"type":"string","example":"Bad request"}}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#unauthorized"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"UNAUTHORIZED"},"message":{"type":"string","example":"Unauthorized"}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#forbidden"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"FORBIDDEN"},"message":{"type":"string","example":"Forbidden"}}}}}}}}},"404":{"description":"Object not found","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#not-found"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"NOT_FOUND"},"message":{"type":"string","example":"Object not found"}}}}}}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#conflict"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"CONFLICT"},"message":{"type":"string","example":"Conflict"}}}}}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#internal-server-error"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"INTERNAL_SERVER_ERROR"},"message":{"type":"string","example":"Internal server error"}}}}}}}}}},"security":[{"CapmoAuth":[]}],"summary":"","tags":["Organisation Companies"]},"delete":{"description":"This can be used to delete an organisation contact book company.","operationId":"deleteOrganisationCompany","parameters":[{"name":"companyId","required":true,"in":"path","schema":{"type":"string"}},{"name":"Request-Id","in":"header","description":"The HTTP `Request-Id` request header is an optional and unofficial HTTP header, used to trace individual HTTP requests from the client to the server and back again. It allows the client and server to correlate each HTTP request. If not provided by the client, the server should generate a unique request ID and include it in the response.","schema":{}}],"responses":{"200":{"description":"The organisation contact book company has been successfully deleted."},"400":{"description":"Bad request, Invalid input","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#bad-request"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"BAD_REQUEST"},"message":{"type":"string","example":"Bad request"}}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#unauthorized"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"UNAUTHORIZED"},"message":{"type":"string","example":"Unauthorized"}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#forbidden"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"FORBIDDEN"},"message":{"type":"string","example":"Forbidden"}}}}}}}}},"404":{"description":"Object not found","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#not-found"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"NOT_FOUND"},"message":{"type":"string","example":"Object not found"}}}}}}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#conflict"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"CONFLICT"},"message":{"type":"string","example":"Conflict"}}}}}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#internal-server-error"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"INTERNAL_SERVER_ERROR"},"message":{"type":"string","example":"Internal server error"}}}}}}}}}},"security":[{"CapmoAuth":[]}],"summary":"","tags":["Organisation Companies"]}},"/api/v1/organisation/memberships":{"get":{"description":"This can be used to list all organisation memberships in a paginated response.","operationId":"getOrganisationMemberships","parameters":[{"name":"order_by","required":false,"in":"query","description":"Field to order by. It can be any field of the entity.","schema":{"default":"server_created_at","example":"created_at","type":"string"}},{"name":"order_direction","required":false,"in":"query","description":"Order direction of the `order_by` field. It can be `asc` or `desc`.","schema":{"default":"asc","example":"asc","type":"string","enum":["asc","desc"]}},{"name":"after","required":false,"in":"query","description":"The last element from the previous page. This is a cursor. It will be returned in the output to be used in the next request. When it is not present, the first page is returned. When it is `null`, there are no more pages.","schema":{"type":"string"}},{"name":"limit","required":false,"in":"query","description":"How many items should be in the output.","schema":{"minimum":1,"maximum":1000,"default":200,"example":20,"type":"number"}},{"name":"Request-Id","in":"header","description":"The HTTP `Request-Id` request header is an optional and unofficial HTTP header, used to trace individual HTTP requests from the client to the server and back again. It allows the client and server to correlate each HTTP request. If not provided by the client, the server should generate a unique request ID and include it in the response.","schema":{}}],"responses":{"200":{"description":"The organisation memberships have been successfully retrieved.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","example":"Success"},"data":{"allOf":[{"$ref":"#/components/schemas/PaginatedOutputDto"},{"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ReadOrganisationMembershipDto"}}}}]}}}}}},"400":{"description":"Bad request, Invalid input","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#bad-request"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"BAD_REQUEST"},"message":{"type":"string","example":"Bad request"}}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#unauthorized"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"UNAUTHORIZED"},"message":{"type":"string","example":"Unauthorized"}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#forbidden"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"FORBIDDEN"},"message":{"type":"string","example":"Forbidden"}}}}}}}}},"404":{"description":"Object not found","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#not-found"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"NOT_FOUND"},"message":{"type":"string","example":"Object not found"}}}}}}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#conflict"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"CONFLICT"},"message":{"type":"string","example":"Conflict"}}}}}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#internal-server-error"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"INTERNAL_SERVER_ERROR"},"message":{"type":"string","example":"Internal server error"}}}}}}}}}},"security":[{"CapmoAuth":[]}],"summary":"","tags":["Organisation Memberships"]},"post":{"description":"This can be used to invite an organisation contact book person to organisation. As a result, an organisation membership for them will be created.","operationId":"inviteOrganisationPerson","parameters":[{"name":"Request-Id","in":"header","description":"The HTTP `Request-Id` request header is an optional and unofficial HTTP header, used to trace individual HTTP requests from the client to the server and back again. It allows the client and server to correlate each HTTP request. If not provided by the client, the server should generate a unique request ID and include it in the response.","schema":{}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InviteOrganisationMemberDto"}}}},"responses":{"201":{"description":"The organisation membership for contact book person has been successfully created.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","example":"Success"},"data":{"$ref":"#/components/schemas/ReadOrganisationMembershipDto"}}}}}},"400":{"description":"Bad request, Invalid input","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#bad-request"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"BAD_REQUEST"},"message":{"type":"string","example":"Bad request"}}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#unauthorized"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"UNAUTHORIZED"},"message":{"type":"string","example":"Unauthorized"}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#forbidden"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"FORBIDDEN"},"message":{"type":"string","example":"Forbidden"}}}}}}}}},"404":{"description":"Object not found","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#not-found"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"NOT_FOUND"},"message":{"type":"string","example":"Object not found"}}}}}}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#conflict"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"CONFLICT"},"message":{"type":"string","example":"Conflict"}}}}}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#internal-server-error"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"INTERNAL_SERVER_ERROR"},"message":{"type":"string","example":"Internal server error"}}}}}}}}}},"security":[{"CapmoAuth":[]}],"summary":"","tags":["Organisation Memberships"]}},"/api/v1/organisation/memberships/{membershipId}":{"get":{"description":"This can be used to retrieve a specific organisation membership by its ID.","operationId":"getOrganisationMembership","parameters":[{"name":"membershipId","required":true,"in":"path","schema":{"type":"string"}},{"name":"Request-Id","in":"header","description":"The HTTP `Request-Id` request header is an optional and unofficial HTTP header, used to trace individual HTTP requests from the client to the server and back again. It allows the client and server to correlate each HTTP request. If not provided by the client, the server should generate a unique request ID and include it in the response.","schema":{}}],"responses":{"200":{"description":"The organisation membership has been successfully retrieved.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","example":"Success"},"data":{"$ref":"#/components/schemas/ReadOrganisationMembershipDto"}}}}}},"400":{"description":"Bad request, Invalid input","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#bad-request"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"BAD_REQUEST"},"message":{"type":"string","example":"Bad request"}}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#unauthorized"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"UNAUTHORIZED"},"message":{"type":"string","example":"Unauthorized"}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#forbidden"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"FORBIDDEN"},"message":{"type":"string","example":"Forbidden"}}}}}}}}},"404":{"description":"Object not found","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#not-found"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"NOT_FOUND"},"message":{"type":"string","example":"Object not found"}}}}}}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#conflict"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"CONFLICT"},"message":{"type":"string","example":"Conflict"}}}}}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#internal-server-error"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"INTERNAL_SERVER_ERROR"},"message":{"type":"string","example":"Internal server error"}}}}}}}}}},"security":[{"CapmoAuth":[]}],"summary":"","tags":["Organisation Memberships"]},"patch":{"description":"This can be used to update an organisation membership.","operationId":"updateOrganisationMembership","parameters":[{"name":"membershipId","required":true,"in":"path","schema":{"type":"string"}},{"name":"Request-Id","in":"header","description":"The HTTP `Request-Id` request header is an optional and unofficial HTTP header, used to trace individual HTTP requests from the client to the server and back again. It allows the client and server to correlate each HTTP request. If not provided by the client, the server should generate a unique request ID and include it in the response.","schema":{}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateOrganisationMembershipDto"}}}},"responses":{"200":{"description":"The organisation membership has been successfully updated.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","example":"Success"},"data":{"$ref":"#/components/schemas/ReadOrganisationMembershipDto"}}}}}},"400":{"description":"Bad request, Invalid input","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#bad-request"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"BAD_REQUEST"},"message":{"type":"string","example":"Bad request"}}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#unauthorized"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"UNAUTHORIZED"},"message":{"type":"string","example":"Unauthorized"}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#forbidden"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"FORBIDDEN"},"message":{"type":"string","example":"Forbidden"}}}}}}}}},"404":{"description":"Object not found","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#not-found"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"NOT_FOUND"},"message":{"type":"string","example":"Object not found"}}}}}}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#conflict"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"CONFLICT"},"message":{"type":"string","example":"Conflict"}}}}}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#internal-server-error"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"INTERNAL_SERVER_ERROR"},"message":{"type":"string","example":"Internal server error"}}}}}}}}}},"security":[{"CapmoAuth":[]}],"summary":"","tags":["Organisation Memberships"]},"delete":{"description":"This can be used to revoke an organisation membership.","operationId":"revokeOrganisationMembership","parameters":[{"name":"membershipId","required":true,"in":"path","schema":{"type":"string"}},{"name":"Request-Id","in":"header","description":"The HTTP `Request-Id` request header is an optional and unofficial HTTP header, used to trace individual HTTP requests from the client to the server and back again. It allows the client and server to correlate each HTTP request. If not provided by the client, the server should generate a unique request ID and include it in the response.","schema":{}}],"responses":{"200":{"description":"The organisation membership has been successfully revoked."},"400":{"description":"Bad request, Invalid input","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#bad-request"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"BAD_REQUEST"},"message":{"type":"string","example":"Bad request"}}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#unauthorized"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"UNAUTHORIZED"},"message":{"type":"string","example":"Unauthorized"}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#forbidden"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"FORBIDDEN"},"message":{"type":"string","example":"Forbidden"}}}}}}}}},"404":{"description":"Object not found","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#not-found"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"NOT_FOUND"},"message":{"type":"string","example":"Object not found"}}}}}}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#conflict"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"CONFLICT"},"message":{"type":"string","example":"Conflict"}}}}}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#internal-server-error"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"INTERNAL_SERVER_ERROR"},"message":{"type":"string","example":"Internal server error"}}}}}}}}}},"security":[{"CapmoAuth":[]}],"summary":"","tags":["Organisation Memberships"]}},"/api/v1/organisation/projects":{"get":{"description":"This can be used to list all projects owned by your organisation in a paginated response. Project templates are excluded.","operationId":"getOrganisationProjects","parameters":[{"name":"order_by","required":false,"in":"query","description":"Field to order by. It can be any field of the entity.","schema":{"default":"server_created_at","example":"created_at","type":"string"}},{"name":"order_direction","required":false,"in":"query","description":"Order direction of the `order_by` field. It can be `asc` or `desc`.","schema":{"default":"asc","example":"asc","type":"string","enum":["asc","desc"]}},{"name":"after","required":false,"in":"query","description":"The last element from the previous page. This is a cursor. It will be returned in the output to be used in the next request. When it is not present, the first page is returned. When it is `null`, there are no more pages.","schema":{"type":"string"}},{"name":"limit","required":false,"in":"query","description":"How many items should be in the output.","schema":{"minimum":1,"maximum":1000,"default":200,"example":20,"type":"number"}},{"name":"Request-Id","in":"header","description":"The HTTP `Request-Id` request header is an optional and unofficial HTTP header, used to trace individual HTTP requests from the client to the server and back again. It allows the client and server to correlate each HTTP request. If not provided by the client, the server should generate a unique request ID and include it in the response.","schema":{}}],"responses":{"200":{"description":"The organisation projects have been successfully retrieved.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","example":"Success"},"data":{"allOf":[{"$ref":"#/components/schemas/PaginatedOutputDto"},{"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ReadProjectDto"}}}}]}}}}}},"400":{"description":"Bad request, Invalid input","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#bad-request"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"BAD_REQUEST"},"message":{"type":"string","example":"Bad request"}}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#unauthorized"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"UNAUTHORIZED"},"message":{"type":"string","example":"Unauthorized"}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#forbidden"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"FORBIDDEN"},"message":{"type":"string","example":"Forbidden"}}}}}}}}},"404":{"description":"Object not found","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#not-found"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"NOT_FOUND"},"message":{"type":"string","example":"Object not found"}}}}}}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#conflict"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"CONFLICT"},"message":{"type":"string","example":"Conflict"}}}}}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#internal-server-error"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"INTERNAL_SERVER_ERROR"},"message":{"type":"string","example":"Internal server error"}}}}}}}}}},"security":[{"CapmoAuth":[]}],"summary":"","tags":["Organisation Projects"]}},"/api/v1/organisation/projects/{projectId}/membership":{"post":{"description":"This can be used to join an organisation project. The API-key user must be an organisation admin, and the project must be owned by the user's organisation. If the user previously left the project (soft-deleted membership), a new membership is created.","operationId":"joinOwnOrganisationProject","parameters":[{"name":"projectId","required":true,"in":"path","schema":{"type":"string"}},{"name":"Request-Id","in":"header","description":"The HTTP `Request-Id` request header is an optional and unofficial HTTP header, used to trace individual HTTP requests from the client to the server and back again. It allows the client and server to correlate each HTTP request. If not provided by the client, the server should generate a unique request ID and include it in the response.","schema":{}}],"responses":{"201":{"description":"The API-key user has successfully joined the organisation project."},"400":{"description":"Bad request, Invalid input","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#bad-request"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"BAD_REQUEST"},"message":{"type":"string","example":"Bad request"}}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#unauthorized"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"UNAUTHORIZED"},"message":{"type":"string","example":"Unauthorized"}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#forbidden"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"FORBIDDEN"},"message":{"type":"string","example":"Forbidden"}}}}}}}}},"404":{"description":"Object not found","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#not-found"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"NOT_FOUND"},"message":{"type":"string","example":"Object not found"}}}}}}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#conflict"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"CONFLICT"},"message":{"type":"string","example":"Conflict"}}}}}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#internal-server-error"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"INTERNAL_SERVER_ERROR"},"message":{"type":"string","example":"Internal server error"}}}}}}}}}},"security":[{"CapmoAuth":[]}],"summary":"","tags":["Organisation Projects"]},"delete":{"description":"This can be used to leave an organisation project. The API-key user must be an organisation admin, and the project must be owned by the user's organisation. The user's project membership and associated project contact are removed.","operationId":"leaveOwnOrganisationProject","parameters":[{"name":"projectId","required":true,"in":"path","schema":{"type":"string"}},{"name":"Request-Id","in":"header","description":"The HTTP `Request-Id` request header is an optional and unofficial HTTP header, used to trace individual HTTP requests from the client to the server and back again. It allows the client and server to correlate each HTTP request. If not provided by the client, the server should generate a unique request ID and include it in the response.","schema":{}}],"responses":{"200":{"description":"The API-key user has successfully left the organisation project."},"400":{"description":"Bad request, Invalid input","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#bad-request"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"BAD_REQUEST"},"message":{"type":"string","example":"Bad request"}}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#unauthorized"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"UNAUTHORIZED"},"message":{"type":"string","example":"Unauthorized"}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#forbidden"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"FORBIDDEN"},"message":{"type":"string","example":"Forbidden"}}}}}}}}},"404":{"description":"Object not found","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#not-found"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"NOT_FOUND"},"message":{"type":"string","example":"Object not found"}}}}}}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#conflict"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"CONFLICT"},"message":{"type":"string","example":"Conflict"}}}}}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#internal-server-error"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"INTERNAL_SERVER_ERROR"},"message":{"type":"string","example":"Internal server error"}}}}}}}}}},"security":[{"CapmoAuth":[]}],"summary":"","tags":["Organisation Projects"]}},"/api/v1/projects/{projectId}/people":{"get":{"description":"This can be used to list all project contact book people in a paginated response.","operationId":"getProjectPeople","parameters":[{"name":"projectId","required":true,"in":"path","schema":{"type":"string"}},{"name":"order_by","required":false,"in":"query","description":"Field to order by.","schema":{"default":"server_created_at","example":"server_updated_at","type":"string","enum":["server_created_at","server_updated_at","first_name","last_name","email","created_at","updated_at"]}},{"name":"order_direction","required":false,"in":"query","description":"Order direction of the `order_by` field. It can be `asc` or `desc`.","schema":{"default":"asc","example":"asc","type":"string","enum":["asc","desc"]}},{"name":"after","required":false,"in":"query","description":"The last element from the previous page. This is a cursor. It will be returned in the output to be used in the next request. When it is not present, the first page is returned. When it is `null`, there are no more pages.","schema":{"type":"string"}},{"name":"limit","required":false,"in":"query","description":"How many items should be in the output.","schema":{"minimum":1,"maximum":1000,"default":200,"example":20,"type":"number"}},{"name":"Request-Id","in":"header","description":"The HTTP `Request-Id` request header is an optional and unofficial HTTP header, used to trace individual HTTP requests from the client to the server and back again. It allows the client and server to correlate each HTTP request. If not provided by the client, the server should generate a unique request ID and include it in the response.","schema":{}}],"responses":{"200":{"description":"The project contact book people have been successfully retrieved.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","example":"Success"},"data":{"allOf":[{"$ref":"#/components/schemas/PaginatedOutputDto"},{"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ReadProjectPersonDto"}}}}]}}}}}},"400":{"description":"Bad request, Invalid input","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#bad-request"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"BAD_REQUEST"},"message":{"type":"string","example":"Bad request"}}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#unauthorized"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"UNAUTHORIZED"},"message":{"type":"string","example":"Unauthorized"}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#forbidden"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"FORBIDDEN"},"message":{"type":"string","example":"Forbidden"}}}}}}}}},"404":{"description":"Object not found","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#not-found"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"NOT_FOUND"},"message":{"type":"string","example":"Object not found"}}}}}}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#conflict"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"CONFLICT"},"message":{"type":"string","example":"Conflict"}}}}}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#internal-server-error"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"INTERNAL_SERVER_ERROR"},"message":{"type":"string","example":"Internal server error"}}}}}}}}}},"security":[{"CapmoAuth":[]}],"summary":"","tags":["Project People"]},"post":{"description":"This can be used to add a new project contact book person.","operationId":"createProjectPerson","parameters":[{"name":"projectId","required":true,"in":"path","schema":{"type":"string"}},{"name":"Request-Id","in":"header","description":"The HTTP `Request-Id` request header is an optional and unofficial HTTP header, used to trace individual HTTP requests from the client to the server and back again. It allows the client and server to correlate each HTTP request. If not provided by the client, the server should generate a unique request ID and include it in the response.","schema":{}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateProjectPersonDto"}}}},"responses":{"201":{"description":"The project contact book person has been successfully created.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","example":"Success"},"data":{"$ref":"#/components/schemas/ReadProjectPersonDto"}}}}}},"400":{"description":"Bad request, Invalid input","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#bad-request"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"BAD_REQUEST"},"message":{"type":"string","example":"Bad request"}}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#unauthorized"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"UNAUTHORIZED"},"message":{"type":"string","example":"Unauthorized"}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#forbidden"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"FORBIDDEN"},"message":{"type":"string","example":"Forbidden"}}}}}}}}},"404":{"description":"Object not found","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#not-found"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"NOT_FOUND"},"message":{"type":"string","example":"Object not found"}}}}}}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#conflict"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"CONFLICT"},"message":{"type":"string","example":"Conflict"}}}}}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#internal-server-error"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"INTERNAL_SERVER_ERROR"},"message":{"type":"string","example":"Internal server error"}}}}}}}}}},"security":[{"CapmoAuth":[]}],"summary":"","tags":["Project People"]}},"/api/v1/projects/{projectId}/people/{personId}":{"get":{"description":"This can be used to retrieve a specific project person by its ID.","operationId":"getProjectPerson","parameters":[{"name":"projectId","required":true,"in":"path","schema":{"type":"string"}},{"name":"personId","required":true,"in":"path","schema":{"type":"string"}},{"name":"Request-Id","in":"header","description":"The HTTP `Request-Id` request header is an optional and unofficial HTTP header, used to trace individual HTTP requests from the client to the server and back again. It allows the client and server to correlate each HTTP request. If not provided by the client, the server should generate a unique request ID and include it in the response.","schema":{}}],"responses":{"200":{"description":"The project person has been successfully retrieved.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","example":"Success"},"data":{"$ref":"#/components/schemas/ReadProjectPersonDto"}}}}}},"400":{"description":"Bad request, Invalid input","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#bad-request"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"BAD_REQUEST"},"message":{"type":"string","example":"Bad request"}}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#unauthorized"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"UNAUTHORIZED"},"message":{"type":"string","example":"Unauthorized"}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#forbidden"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"FORBIDDEN"},"message":{"type":"string","example":"Forbidden"}}}}}}}}},"404":{"description":"Object not found","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#not-found"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"NOT_FOUND"},"message":{"type":"string","example":"Object not found"}}}}}}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#conflict"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"CONFLICT"},"message":{"type":"string","example":"Conflict"}}}}}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#internal-server-error"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"INTERNAL_SERVER_ERROR"},"message":{"type":"string","example":"Internal server error"}}}}}}}}}},"security":[{"CapmoAuth":[]}],"summary":"","tags":["Project People"]},"patch":{"description":"This can be used to update a project contact book person.","operationId":"updateProjectPerson","parameters":[{"name":"projectId","required":true,"in":"path","schema":{"type":"string"}},{"name":"personId","required":true,"in":"path","schema":{"type":"string"}},{"name":"Request-Id","in":"header","description":"The HTTP `Request-Id` request header is an optional and unofficial HTTP header, used to trace individual HTTP requests from the client to the server and back again. It allows the client and server to correlate each HTTP request. If not provided by the client, the server should generate a unique request ID and include it in the response.","schema":{}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateProjectPersonDto"}}}},"responses":{"201":{"description":"The project contact book person has been successfully updated.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","example":"Success"},"data":{"$ref":"#/components/schemas/ReadProjectPersonDto"}}}}}},"400":{"description":"Bad request, Invalid input","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#bad-request"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"BAD_REQUEST"},"message":{"type":"string","example":"Bad request"}}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#unauthorized"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"UNAUTHORIZED"},"message":{"type":"string","example":"Unauthorized"}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#forbidden"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"FORBIDDEN"},"message":{"type":"string","example":"Forbidden"}}}}}}}}},"404":{"description":"Object not found","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#not-found"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"NOT_FOUND"},"message":{"type":"string","example":"Object not found"}}}}}}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#conflict"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"CONFLICT"},"message":{"type":"string","example":"Conflict"}}}}}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#internal-server-error"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"INTERNAL_SERVER_ERROR"},"message":{"type":"string","example":"Internal server error"}}}}}}}}}},"security":[{"CapmoAuth":[]}],"summary":"","tags":["Project People"]},"delete":{"description":"This can be used to delete a project contact book person. If the person is a member of the project, their membership will be deleted as well.","operationId":"deleteProjectPerson","parameters":[{"name":"projectId","required":true,"in":"path","schema":{"type":"string"}},{"name":"personId","required":true,"in":"path","schema":{"type":"string"}},{"name":"Request-Id","in":"header","description":"The HTTP `Request-Id` request header is an optional and unofficial HTTP header, used to trace individual HTTP requests from the client to the server and back again. It allows the client and server to correlate each HTTP request. If not provided by the client, the server should generate a unique request ID and include it in the response.","schema":{}}],"responses":{"200":{"description":"The project contact book person has been successfully deleted."},"400":{"description":"Bad request, Invalid input","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#bad-request"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"BAD_REQUEST"},"message":{"type":"string","example":"Bad request"}}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#unauthorized"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"UNAUTHORIZED"},"message":{"type":"string","example":"Unauthorized"}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#forbidden"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"FORBIDDEN"},"message":{"type":"string","example":"Forbidden"}}}}}}}}},"404":{"description":"Object not found","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#not-found"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"NOT_FOUND"},"message":{"type":"string","example":"Object not found"}}}}}}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#conflict"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"CONFLICT"},"message":{"type":"string","example":"Conflict"}}}}}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#internal-server-error"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"INTERNAL_SERVER_ERROR"},"message":{"type":"string","example":"Internal server error"}}}}}}}}}},"security":[{"CapmoAuth":[]}],"summary":"","tags":["Project People"]}},"/api/v1/projects/{projectId}/people-from-organisation":{"post":{"description":"This can be used to add an organisation contact book person to a project.","operationId":"createProjectPersonFromOrganisation","parameters":[{"name":"projectId","required":true,"in":"path","schema":{"type":"string"}},{"name":"Request-Id","in":"header","description":"The HTTP `Request-Id` request header is an optional and unofficial HTTP header, used to trace individual HTTP requests from the client to the server and back again. It allows the client and server to correlate each HTTP request. If not provided by the client, the server should generate a unique request ID and include it in the response.","schema":{}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatePersonFromOrganisationDto"}}}},"responses":{"201":{"description":"The organisation contact book person has been successfully added to the project.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","example":"Success"},"data":{"$ref":"#/components/schemas/ReadProjectPersonDto"}}}}}},"400":{"description":"Bad request, Invalid input","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#bad-request"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"BAD_REQUEST"},"message":{"type":"string","example":"Bad request"}}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#unauthorized"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"UNAUTHORIZED"},"message":{"type":"string","example":"Unauthorized"}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#forbidden"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"FORBIDDEN"},"message":{"type":"string","example":"Forbidden"}}}}}}}}},"404":{"description":"Object not found","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#not-found"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"NOT_FOUND"},"message":{"type":"string","example":"Object not found"}}}}}}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#conflict"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"CONFLICT"},"message":{"type":"string","example":"Conflict"}}}}}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#internal-server-error"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"INTERNAL_SERVER_ERROR"},"message":{"type":"string","example":"Internal server error"}}}}}}}}}},"security":[{"CapmoAuth":[]}],"summary":"","tags":["Project People"]}},"/api/v1/projects/{projectId}/companies":{"get":{"description":"This can be used to list all project contact book companies in a paginated response.","operationId":"getProjectCompanies","parameters":[{"name":"projectId","required":true,"in":"path","schema":{"type":"string"}},{"name":"order_by","required":false,"in":"query","description":"Field to order by.","schema":{"default":"server_created_at","example":"server_updated_at","type":"string","enum":["server_created_at","server_updated_at","name","created_at","updated_at"]}},{"name":"order_direction","required":false,"in":"query","description":"Order direction of the `order_by` field. It can be `asc` or `desc`.","schema":{"default":"asc","example":"asc","type":"string","enum":["asc","desc"]}},{"name":"after","required":false,"in":"query","description":"The last element from the previous page. This is a cursor. It will be returned in the output to be used in the next request. When it is not present, the first page is returned. When it is `null`, there are no more pages.","schema":{"type":"string"}},{"name":"limit","required":false,"in":"query","description":"How many items should be in the output.","schema":{"minimum":1,"maximum":1000,"default":200,"example":20,"type":"number"}},{"name":"Request-Id","in":"header","description":"The HTTP `Request-Id` request header is an optional and unofficial HTTP header, used to trace individual HTTP requests from the client to the server and back again. It allows the client and server to correlate each HTTP request. If not provided by the client, the server should generate a unique request ID and include it in the response.","schema":{}}],"responses":{"200":{"description":"The project contact book companies have been successfully retrieved.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","example":"Success"},"data":{"allOf":[{"$ref":"#/components/schemas/PaginatedOutputDto"},{"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ReadProjectCompanyDto"}}}}]}}}}}},"400":{"description":"Bad request, Invalid input","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#bad-request"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"BAD_REQUEST"},"message":{"type":"string","example":"Bad request"}}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#unauthorized"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"UNAUTHORIZED"},"message":{"type":"string","example":"Unauthorized"}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#forbidden"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"FORBIDDEN"},"message":{"type":"string","example":"Forbidden"}}}}}}}}},"404":{"description":"Object not found","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#not-found"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"NOT_FOUND"},"message":{"type":"string","example":"Object not found"}}}}}}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#conflict"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"CONFLICT"},"message":{"type":"string","example":"Conflict"}}}}}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#internal-server-error"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"INTERNAL_SERVER_ERROR"},"message":{"type":"string","example":"Internal server error"}}}}}}}}}},"security":[{"CapmoAuth":[]}],"summary":"","tags":["Project Companies"]},"post":{"description":"This can be used to add a new project contact book company.","operationId":"createProjectCompany","parameters":[{"name":"projectId","required":true,"in":"path","schema":{"type":"string"}},{"name":"Request-Id","in":"header","description":"The HTTP `Request-Id` request header is an optional and unofficial HTTP header, used to trace individual HTTP requests from the client to the server and back again. It allows the client and server to correlate each HTTP request. If not provided by the client, the server should generate a unique request ID and include it in the response.","schema":{}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateProjectCompanyDto"}}}},"responses":{"201":{"description":"The project contact book company has been successfully created.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","example":"Success"},"data":{"$ref":"#/components/schemas/ReadProjectCompanyDto"}}}}}},"400":{"description":"Bad request, Invalid input","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#bad-request"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"BAD_REQUEST"},"message":{"type":"string","example":"Bad request"}}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#unauthorized"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"UNAUTHORIZED"},"message":{"type":"string","example":"Unauthorized"}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#forbidden"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"FORBIDDEN"},"message":{"type":"string","example":"Forbidden"}}}}}}}}},"404":{"description":"Object not found","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#not-found"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"NOT_FOUND"},"message":{"type":"string","example":"Object not found"}}}}}}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#conflict"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"CONFLICT"},"message":{"type":"string","example":"Conflict"}}}}}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#internal-server-error"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"INTERNAL_SERVER_ERROR"},"message":{"type":"string","example":"Internal server error"}}}}}}}}}},"security":[{"CapmoAuth":[]}],"summary":"","tags":["Project Companies"]}},"/api/v1/projects/{projectId}/companies/{companyId}":{"get":{"description":"This can be used to retrieve a specific project company by its ID.","operationId":"getProjectCompany","parameters":[{"name":"projectId","required":true,"in":"path","schema":{"type":"string"}},{"name":"companyId","required":true,"in":"path","schema":{"type":"string"}},{"name":"Request-Id","in":"header","description":"The HTTP `Request-Id` request header is an optional and unofficial HTTP header, used to trace individual HTTP requests from the client to the server and back again. It allows the client and server to correlate each HTTP request. If not provided by the client, the server should generate a unique request ID and include it in the response.","schema":{}}],"responses":{"200":{"description":"The project company has been successfully retrieved.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","example":"Success"},"data":{"$ref":"#/components/schemas/ReadProjectCompanyDto"}}}}}},"400":{"description":"Bad request, Invalid input","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#bad-request"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"BAD_REQUEST"},"message":{"type":"string","example":"Bad request"}}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#unauthorized"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"UNAUTHORIZED"},"message":{"type":"string","example":"Unauthorized"}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#forbidden"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"FORBIDDEN"},"message":{"type":"string","example":"Forbidden"}}}}}}}}},"404":{"description":"Object not found","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#not-found"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"NOT_FOUND"},"message":{"type":"string","example":"Object not found"}}}}}}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#conflict"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"CONFLICT"},"message":{"type":"string","example":"Conflict"}}}}}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#internal-server-error"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"INTERNAL_SERVER_ERROR"},"message":{"type":"string","example":"Internal server error"}}}}}}}}}},"security":[{"CapmoAuth":[]}],"summary":"","tags":["Project Companies"]},"patch":{"description":"This can be used to update a project contact book company.","operationId":"updateProjectCompany","parameters":[{"name":"projectId","required":true,"in":"path","schema":{"type":"string"}},{"name":"companyId","required":true,"in":"path","schema":{"type":"string"}},{"name":"Request-Id","in":"header","description":"The HTTP `Request-Id` request header is an optional and unofficial HTTP header, used to trace individual HTTP requests from the client to the server and back again. It allows the client and server to correlate each HTTP request. If not provided by the client, the server should generate a unique request ID and include it in the response.","schema":{}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateProjectCompanyDto"}}}},"responses":{"201":{"description":"The project contact book company has been successfully updated.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","example":"Success"},"data":{"$ref":"#/components/schemas/ReadProjectCompanyDto"}}}}}},"400":{"description":"Bad request, Invalid input","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#bad-request"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"BAD_REQUEST"},"message":{"type":"string","example":"Bad request"}}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#unauthorized"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"UNAUTHORIZED"},"message":{"type":"string","example":"Unauthorized"}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#forbidden"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"FORBIDDEN"},"message":{"type":"string","example":"Forbidden"}}}}}}}}},"404":{"description":"Object not found","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#not-found"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"NOT_FOUND"},"message":{"type":"string","example":"Object not found"}}}}}}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#conflict"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"CONFLICT"},"message":{"type":"string","example":"Conflict"}}}}}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#internal-server-error"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"INTERNAL_SERVER_ERROR"},"message":{"type":"string","example":"Internal server error"}}}}}}}}}},"security":[{"CapmoAuth":[]}],"summary":"","tags":["Project Companies"]},"delete":{"description":"This can be used to delete a project contact book company, the contacts assigned to the company will remain.","operationId":"deleteCompany","parameters":[{"name":"projectId","required":true,"in":"path","schema":{"type":"string"}},{"name":"companyId","required":true,"in":"path","schema":{"type":"string"}},{"name":"Request-Id","in":"header","description":"The HTTP `Request-Id` request header is an optional and unofficial HTTP header, used to trace individual HTTP requests from the client to the server and back again. It allows the client and server to correlate each HTTP request. If not provided by the client, the server should generate a unique request ID and include it in the response.","schema":{}}],"responses":{"200":{"description":"The project contact book company has been successfully deleted."},"400":{"description":"Bad request, Invalid input","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#bad-request"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"BAD_REQUEST"},"message":{"type":"string","example":"Bad request"}}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#unauthorized"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"UNAUTHORIZED"},"message":{"type":"string","example":"Unauthorized"}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#forbidden"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"FORBIDDEN"},"message":{"type":"string","example":"Forbidden"}}}}}}}}},"404":{"description":"Object not found","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#not-found"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"NOT_FOUND"},"message":{"type":"string","example":"Object not found"}}}}}}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#conflict"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"CONFLICT"},"message":{"type":"string","example":"Conflict"}}}}}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#internal-server-error"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"INTERNAL_SERVER_ERROR"},"message":{"type":"string","example":"Internal server error"}}}}}}}}}},"security":[{"CapmoAuth":[]}],"summary":"","tags":["Project Companies"]}},"/api/v1/projects/{projectId}/companies-from-organisation":{"post":{"description":"This can be used to add an organisation contact book company to a project.","operationId":"createProjectCompanyFromOrganisation","parameters":[{"name":"projectId","required":true,"in":"path","schema":{"type":"string"}},{"name":"Request-Id","in":"header","description":"The HTTP `Request-Id` request header is an optional and unofficial HTTP header, used to trace individual HTTP requests from the client to the server and back again. It allows the client and server to correlate each HTTP request. If not provided by the client, the server should generate a unique request ID and include it in the response.","schema":{}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateCompanyFromOrganisationDto"}}}},"responses":{"201":{"description":"The organisation contact book company has been successfully added to the project.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","example":"Success"},"data":{"$ref":"#/components/schemas/ReadProjectCompanyDto"}}}}}},"400":{"description":"Bad request, Invalid input","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#bad-request"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"BAD_REQUEST"},"message":{"type":"string","example":"Bad request"}}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#unauthorized"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"UNAUTHORIZED"},"message":{"type":"string","example":"Unauthorized"}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#forbidden"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"FORBIDDEN"},"message":{"type":"string","example":"Forbidden"}}}}}}}}},"404":{"description":"Object not found","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#not-found"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"NOT_FOUND"},"message":{"type":"string","example":"Object not found"}}}}}}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#conflict"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"CONFLICT"},"message":{"type":"string","example":"Conflict"}}}}}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#internal-server-error"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"INTERNAL_SERVER_ERROR"},"message":{"type":"string","example":"Internal server error"}}}}}}}}}},"security":[{"CapmoAuth":[]}],"summary":"","tags":["Project Companies"]}},"/api/v1/projects/{projectId}/memberships":{"get":{"description":"This can be used to list all project memberships in a paginated response.","operationId":"getProjectMemberships","parameters":[{"name":"projectId","required":true,"in":"path","schema":{"type":"string"}},{"name":"order_by","required":false,"in":"query","description":"Field to order by. It can be any field of the entity.","schema":{"default":"server_created_at","example":"created_at","type":"string"}},{"name":"order_direction","required":false,"in":"query","description":"Order direction of the `order_by` field. It can be `asc` or `desc`.","schema":{"default":"asc","example":"asc","type":"string","enum":["asc","desc"]}},{"name":"after","required":false,"in":"query","description":"The last element from the previous page. This is a cursor. It will be returned in the output to be used in the next request. When it is not present, the first page is returned. When it is `null`, there are no more pages.","schema":{"type":"string"}},{"name":"limit","required":false,"in":"query","description":"How many items should be in the output.","schema":{"minimum":1,"maximum":1000,"default":200,"example":20,"type":"number"}},{"name":"Request-Id","in":"header","description":"The HTTP `Request-Id` request header is an optional and unofficial HTTP header, used to trace individual HTTP requests from the client to the server and back again. It allows the client and server to correlate each HTTP request. If not provided by the client, the server should generate a unique request ID and include it in the response.","schema":{}}],"responses":{"200":{"description":"The project memberships have been successfully retrieved.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","example":"Success"},"data":{"allOf":[{"$ref":"#/components/schemas/PaginatedOutputDto"},{"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ReadProjectMembershipDto"}}}}]}}}}}},"400":{"description":"Bad request, Invalid input","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#bad-request"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"BAD_REQUEST"},"message":{"type":"string","example":"Bad request"}}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#unauthorized"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"UNAUTHORIZED"},"message":{"type":"string","example":"Unauthorized"}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#forbidden"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"FORBIDDEN"},"message":{"type":"string","example":"Forbidden"}}}}}}}}},"404":{"description":"Object not found","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#not-found"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"NOT_FOUND"},"message":{"type":"string","example":"Object not found"}}}}}}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#conflict"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"CONFLICT"},"message":{"type":"string","example":"Conflict"}}}}}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#internal-server-error"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"INTERNAL_SERVER_ERROR"},"message":{"type":"string","example":"Internal server error"}}}}}}}}}},"security":[{"CapmoAuth":[]}],"summary":"","tags":["Project Memberships"]},"post":{"description":"This can be used to invite a project contact book person to a project identified by projectId. As a result, a project membership for them will be created.","operationId":"inviteProjectPerson","parameters":[{"name":"projectId","required":true,"in":"path","schema":{"type":"string"}},{"name":"Request-Id","in":"header","description":"The HTTP `Request-Id` request header is an optional and unofficial HTTP header, used to trace individual HTTP requests from the client to the server and back again. It allows the client and server to correlate each HTTP request. If not provided by the client, the server should generate a unique request ID and include it in the response.","schema":{}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InviteProjectMemberDto"}}}},"responses":{"201":{"description":"The project membership for contact book person has been successfully created.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","example":"Success"},"data":{"$ref":"#/components/schemas/ReadProjectMembershipDto"}}}}}},"400":{"description":"Bad request, Invalid input","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#bad-request"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"BAD_REQUEST"},"message":{"type":"string","example":"Bad request"}}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#unauthorized"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"UNAUTHORIZED"},"message":{"type":"string","example":"Unauthorized"}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#forbidden"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"FORBIDDEN"},"message":{"type":"string","example":"Forbidden"}}}}}}}}},"404":{"description":"Object not found","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#not-found"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"NOT_FOUND"},"message":{"type":"string","example":"Object not found"}}}}}}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#conflict"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"CONFLICT"},"message":{"type":"string","example":"Conflict"}}}}}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#internal-server-error"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"INTERNAL_SERVER_ERROR"},"message":{"type":"string","example":"Internal server error"}}}}}}}}}},"security":[{"CapmoAuth":[]}],"summary":"","tags":["Project Memberships"]}},"/api/v1/projects/{projectId}/memberships/{membershipId}":{"get":{"description":"This can be used to retrieve a specific project membership by membershipId from a project identified by projectId.","operationId":"getProjectMembership","parameters":[{"name":"projectId","required":true,"in":"path","schema":{"type":"string"}},{"name":"membershipId","required":true,"in":"path","schema":{"type":"string"}},{"name":"Request-Id","in":"header","description":"The HTTP `Request-Id` request header is an optional and unofficial HTTP header, used to trace individual HTTP requests from the client to the server and back again. It allows the client and server to correlate each HTTP request. If not provided by the client, the server should generate a unique request ID and include it in the response.","schema":{}}],"responses":{"200":{"description":"The project membership has been successfully retrieved.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","example":"Success"},"data":{"$ref":"#/components/schemas/ReadProjectMembershipDto"}}}}}},"400":{"description":"Bad request, Invalid input","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#bad-request"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"BAD_REQUEST"},"message":{"type":"string","example":"Bad request"}}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#unauthorized"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"UNAUTHORIZED"},"message":{"type":"string","example":"Unauthorized"}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#forbidden"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"FORBIDDEN"},"message":{"type":"string","example":"Forbidden"}}}}}}}}},"404":{"description":"Object not found","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#not-found"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"NOT_FOUND"},"message":{"type":"string","example":"Object not found"}}}}}}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#conflict"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"CONFLICT"},"message":{"type":"string","example":"Conflict"}}}}}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#internal-server-error"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"INTERNAL_SERVER_ERROR"},"message":{"type":"string","example":"Internal server error"}}}}}}}}}},"security":[{"CapmoAuth":[]}],"summary":"","tags":["Project Memberships"]},"delete":{"description":"This can be used to revoke a project membership.","operationId":"revokeProjectMembership","parameters":[{"name":"projectId","required":true,"in":"path","schema":{"type":"string"}},{"name":"membershipId","required":true,"in":"path","schema":{"type":"string"}},{"name":"Request-Id","in":"header","description":"The HTTP `Request-Id` request header is an optional and unofficial HTTP header, used to trace individual HTTP requests from the client to the server and back again. It allows the client and server to correlate each HTTP request. If not provided by the client, the server should generate a unique request ID and include it in the response.","schema":{}}],"responses":{"200":{"description":"The project membership has been successfully revoked."},"400":{"description":"Bad request, Invalid input","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#bad-request"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"BAD_REQUEST"},"message":{"type":"string","example":"Bad request"}}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#unauthorized"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"UNAUTHORIZED"},"message":{"type":"string","example":"Unauthorized"}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#forbidden"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"FORBIDDEN"},"message":{"type":"string","example":"Forbidden"}}}}}}}}},"404":{"description":"Object not found","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#not-found"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"NOT_FOUND"},"message":{"type":"string","example":"Object not found"}}}}}}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#conflict"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"CONFLICT"},"message":{"type":"string","example":"Conflict"}}}}}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#internal-server-error"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"INTERNAL_SERVER_ERROR"},"message":{"type":"string","example":"Internal server error"}}}}}}}}}},"security":[{"CapmoAuth":[]}],"summary":"","tags":["Project Memberships"]}},"/api/v1/projects/{projectId}/permission-sets":{"get":{"description":"This can be used to list all permission sets available within a project. Use the returned IDs as `permission_set_id` when inviting a project member.","operationId":"getProjectPermissionSets","parameters":[{"name":"projectId","required":true,"in":"path","schema":{"type":"string"}},{"name":"Request-Id","in":"header","description":"The HTTP `Request-Id` request header is an optional and unofficial HTTP header, used to trace individual HTTP requests from the client to the server and back again. It allows the client and server to correlate each HTTP request. If not provided by the client, the server should generate a unique request ID and include it in the response.","schema":{}}],"responses":{"200":{"description":"The project permission sets have been successfully retrieved.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","example":"Success"},"data":{"type":"array","items":{"$ref":"#/components/schemas/ReadProjectPermissionSetDto"}}}}}}},"400":{"description":"Bad request, Invalid input","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#bad-request"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"BAD_REQUEST"},"message":{"type":"string","example":"Bad request"}}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#unauthorized"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"UNAUTHORIZED"},"message":{"type":"string","example":"Unauthorized"}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#forbidden"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"FORBIDDEN"},"message":{"type":"string","example":"Forbidden"}}}}}}}}},"404":{"description":"Object not found","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#not-found"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"NOT_FOUND"},"message":{"type":"string","example":"Object not found"}}}}}}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#conflict"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"CONFLICT"},"message":{"type":"string","example":"Conflict"}}}}}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#internal-server-error"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"INTERNAL_SERVER_ERROR"},"message":{"type":"string","example":"Internal server error"}}}}}}}}}},"security":[{"CapmoAuth":[]}],"summary":"","tags":["Project Permission Sets"]}},"/api/v1/projects/{projectId}/tickets":{"get":{"description":"This can be used to list all project tickets in a paginated response.","operationId":"getProjectTicketsPaginated","parameters":[{"name":"projectId","required":true,"in":"path","schema":{"type":"string"}},{"name":"order_by","required":false,"in":"query","description":"Field to order by. It can be any field of the entity.","schema":{"default":"server_created_at","example":"created_at","type":"string"}},{"name":"order_direction","required":false,"in":"query","description":"Order direction of the `order_by` field. It can be `asc` or `desc`.","schema":{"default":"asc","example":"asc","type":"string","enum":["asc","desc"]}},{"name":"after","required":false,"in":"query","description":"The last element from the previous page. This is a cursor. It will be returned in the output to be used in the next request. When it is not present, the first page is returned. When it is `null`, there are no more pages.","schema":{"type":"string"}},{"name":"limit","required":false,"in":"query","description":"How many items should be in the output.","schema":{"minimum":1,"maximum":1000,"default":200,"example":20,"type":"number"}},{"name":"Request-Id","in":"header","description":"The HTTP `Request-Id` request header is an optional and unofficial HTTP header, used to trace individual HTTP requests from the client to the server and back again. It allows the client and server to correlate each HTTP request. If not provided by the client, the server should generate a unique request ID and include it in the response.","schema":{}}],"responses":{"200":{"description":"The project tickets have been successfully retrieved.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","example":"Success"},"data":{"allOf":[{"$ref":"#/components/schemas/PaginatedOutputDto"},{"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ReadProjectTicketDto"}}}}]}}}}}},"400":{"description":"Bad request, Invalid input","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#bad-request"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"BAD_REQUEST"},"message":{"type":"string","example":"Bad request"}}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#unauthorized"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"UNAUTHORIZED"},"message":{"type":"string","example":"Unauthorized"}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#forbidden"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"FORBIDDEN"},"message":{"type":"string","example":"Forbidden"}}}}}}}}},"404":{"description":"Object not found","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#not-found"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"NOT_FOUND"},"message":{"type":"string","example":"Object not found"}}}}}}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#conflict"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"CONFLICT"},"message":{"type":"string","example":"Conflict"}}}}}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#internal-server-error"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"INTERNAL_SERVER_ERROR"},"message":{"type":"string","example":"Internal server error"}}}}}}}}}},"security":[{"CapmoAuth":[]}],"summary":"","tags":["Project Tickets"]},"post":{"description":"This can be used to create a new project ticket.\n\n Please note:\n - Project ticket categories, tags, types, etc. have their own endpoints to be managed. They can be added on ticket creation if they already exist.","operationId":"createProjectTicket","parameters":[{"name":"projectId","required":true,"in":"path","schema":{"type":"string"}},{"name":"Request-Id","in":"header","description":"The HTTP `Request-Id` request header is an optional and unofficial HTTP header, used to trace individual HTTP requests from the client to the server and back again. It allows the client and server to correlate each HTTP request. If not provided by the client, the server should generate a unique request ID and include it in the response.","schema":{}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateProjectTicketDto"}}}},"responses":{"201":{"description":"The project ticket has been successfully created.","links":{"Get Project Ticket":{"description":"Get the created project ticket","operationId":"getProjectTicket","parameters":{"ticketId":"$response.body.data#/id"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","example":"Success"},"data":{"$ref":"#/components/schemas/ReadProjectTicketDto"}}}}}},"400":{"description":"Bad request, Invalid input","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#bad-request"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"BAD_REQUEST"},"message":{"type":"string","example":"Bad request"}}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#unauthorized"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"UNAUTHORIZED"},"message":{"type":"string","example":"Unauthorized"}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#forbidden"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"FORBIDDEN"},"message":{"type":"string","example":"Forbidden"}}}}}}}}},"404":{"description":"Object not found","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#not-found"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"NOT_FOUND"},"message":{"type":"string","example":"Object not found"}}}}}}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#conflict"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"CONFLICT"},"message":{"type":"string","example":"Conflict"}}}}}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#internal-server-error"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"INTERNAL_SERVER_ERROR"},"message":{"type":"string","example":"Internal server error"}}}}}}}}}},"security":[{"CapmoAuth":[]}],"summary":"","tags":["Project Tickets"]}},"/api/v1/projects/{projectId}/tickets/{ticketId}":{"get":{"description":"This can be used to get a specific project ticket by its id.","operationId":"getProjectTicket","parameters":[{"name":"projectId","required":true,"in":"path","schema":{"type":"string"}},{"name":"ticketId","required":true,"in":"path","schema":{"type":"string"}},{"name":"Request-Id","in":"header","description":"The HTTP `Request-Id` request header is an optional and unofficial HTTP header, used to trace individual HTTP requests from the client to the server and back again. It allows the client and server to correlate each HTTP request. If not provided by the client, the server should generate a unique request ID and include it in the response.","schema":{}}],"responses":{"200":{"description":"The project ticket has been successfully retrieved.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","example":"Success"},"data":{"$ref":"#/components/schemas/ReadProjectTicketDto"}}}}}},"400":{"description":"Bad request, Invalid input","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#bad-request"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"BAD_REQUEST"},"message":{"type":"string","example":"Bad request"}}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#unauthorized"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"UNAUTHORIZED"},"message":{"type":"string","example":"Unauthorized"}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#forbidden"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"FORBIDDEN"},"message":{"type":"string","example":"Forbidden"}}}}}}}}},"404":{"description":"Object not found","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#not-found"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"NOT_FOUND"},"message":{"type":"string","example":"Object not found"}}}}}}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#conflict"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"CONFLICT"},"message":{"type":"string","example":"Conflict"}}}}}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#internal-server-error"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"INTERNAL_SERVER_ERROR"},"message":{"type":"string","example":"Internal server error"}}}}}}}}}},"security":[{"CapmoAuth":[]}],"summary":"","tags":["Project Tickets"]},"patch":{"description":"This can be used to update a specific project ticket by its ID.","operationId":"updateProjectTicket","parameters":[{"name":"projectId","required":true,"in":"path","schema":{"type":"string"}},{"name":"ticketId","required":true,"in":"path","schema":{"type":"string"}},{"name":"Request-Id","in":"header","description":"The HTTP `Request-Id` request header is an optional and unofficial HTTP header, used to trace individual HTTP requests from the client to the server and back again. It allows the client and server to correlate each HTTP request. If not provided by the client, the server should generate a unique request ID and include it in the response.","schema":{}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateProjectTicketDto"}}}},"responses":{"200":{"description":"The project ticket has been successfully updated.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","example":"Success"},"data":{"$ref":"#/components/schemas/ReadProjectTicketDto"}}}}}},"400":{"description":"Bad request, Invalid input","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#bad-request"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"BAD_REQUEST"},"message":{"type":"string","example":"Bad request"}}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#unauthorized"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"UNAUTHORIZED"},"message":{"type":"string","example":"Unauthorized"}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#forbidden"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"FORBIDDEN"},"message":{"type":"string","example":"Forbidden"}}}}}}}}},"404":{"description":"Object not found","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#not-found"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"NOT_FOUND"},"message":{"type":"string","example":"Object not found"}}}}}}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#conflict"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"CONFLICT"},"message":{"type":"string","example":"Conflict"}}}}}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#internal-server-error"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"INTERNAL_SERVER_ERROR"},"message":{"type":"string","example":"Internal server error"}}}}}}}}}},"security":[{"CapmoAuth":[]}],"summary":"","tags":["Project Tickets"]},"delete":{"description":"This can be used to delete a specific project ticket by its ID.","operationId":"deleteProjectTicket","parameters":[{"name":"projectId","required":true,"in":"path","schema":{"type":"string"}},{"name":"ticketId","required":true,"in":"path","schema":{"type":"string"}},{"name":"Request-Id","in":"header","description":"The HTTP `Request-Id` request header is an optional and unofficial HTTP header, used to trace individual HTTP requests from the client to the server and back again. It allows the client and server to correlate each HTTP request. If not provided by the client, the server should generate a unique request ID and include it in the response.","schema":{}}],"responses":{"200":{"description":"The project ticket has been successfully deleted."},"400":{"description":"Bad request, Invalid input","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#bad-request"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"BAD_REQUEST"},"message":{"type":"string","example":"Bad request"}}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#unauthorized"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"UNAUTHORIZED"},"message":{"type":"string","example":"Unauthorized"}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#forbidden"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"FORBIDDEN"},"message":{"type":"string","example":"Forbidden"}}}}}}}}},"404":{"description":"Object not found","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#not-found"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"NOT_FOUND"},"message":{"type":"string","example":"Object not found"}}}}}}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#conflict"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"CONFLICT"},"message":{"type":"string","example":"Conflict"}}}}}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#internal-server-error"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"INTERNAL_SERVER_ERROR"},"message":{"type":"string","example":"Internal server error"}}}}}}}}}},"security":[{"CapmoAuth":[]}],"summary":"","tags":["Project Tickets"]}},"/api/v1/projects/{projectId}/ticket-categories":{"get":{"description":"This can be used to list all project ticket categories in a paginated response.","operationId":"getProjectTicketCategories","parameters":[{"name":"projectId","required":true,"in":"path","schema":{"type":"string"}},{"name":"order_by","required":false,"in":"query","description":"Field to order by. It can be any field of the entity.","schema":{"default":"server_created_at","example":"created_at","type":"string"}},{"name":"order_direction","required":false,"in":"query","description":"Order direction of the `order_by` field. It can be `asc` or `desc`.","schema":{"default":"asc","example":"asc","type":"string","enum":["asc","desc"]}},{"name":"after","required":false,"in":"query","description":"The last element from the previous page. This is a cursor. It will be returned in the output to be used in the next request. When it is not present, the first page is returned. When it is `null`, there are no more pages.","schema":{"type":"string"}},{"name":"limit","required":false,"in":"query","description":"How many items should be in the output.","schema":{"minimum":1,"maximum":1000,"default":200,"example":20,"type":"number"}},{"name":"Request-Id","in":"header","description":"The HTTP `Request-Id` request header is an optional and unofficial HTTP header, used to trace individual HTTP requests from the client to the server and back again. It allows the client and server to correlate each HTTP request. If not provided by the client, the server should generate a unique request ID and include it in the response.","schema":{}}],"responses":{"200":{"description":"The project ticket categories have been successfully retrieved.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","example":"Success"},"data":{"allOf":[{"$ref":"#/components/schemas/PaginatedOutputDto"},{"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ReadTicketCategoryDto"}}}}]}}}}}},"400":{"description":"Bad request, Invalid input","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#bad-request"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"BAD_REQUEST"},"message":{"type":"string","example":"Bad request"}}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#unauthorized"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"UNAUTHORIZED"},"message":{"type":"string","example":"Unauthorized"}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#forbidden"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"FORBIDDEN"},"message":{"type":"string","example":"Forbidden"}}}}}}}}},"404":{"description":"Object not found","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#not-found"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"NOT_FOUND"},"message":{"type":"string","example":"Object not found"}}}}}}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#conflict"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"CONFLICT"},"message":{"type":"string","example":"Conflict"}}}}}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#internal-server-error"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"INTERNAL_SERVER_ERROR"},"message":{"type":"string","example":"Internal server error"}}}}}}}}}},"security":[{"CapmoAuth":[]}],"summary":"","tags":["Project Ticket Categories"]}},"/api/v1/projects/{projectId}/ticket-types":{"get":{"description":"This can be used to list all project ticket types in a paginated response.","operationId":"getProjectTicketTypes","parameters":[{"name":"projectId","required":true,"in":"path","schema":{"type":"string"}},{"name":"order_by","required":false,"in":"query","description":"Field to order by. It can be any field of the entity.","schema":{"default":"server_created_at","example":"created_at","type":"string"}},{"name":"order_direction","required":false,"in":"query","description":"Order direction of the `order_by` field. It can be `asc` or `desc`.","schema":{"default":"asc","example":"asc","type":"string","enum":["asc","desc"]}},{"name":"after","required":false,"in":"query","description":"The last element from the previous page. This is a cursor. It will be returned in the output to be used in the next request. When it is not present, the first page is returned. When it is `null`, there are no more pages.","schema":{"type":"string"}},{"name":"limit","required":false,"in":"query","description":"How many items should be in the output.","schema":{"minimum":1,"maximum":1000,"default":200,"example":20,"type":"number"}},{"name":"Request-Id","in":"header","description":"The HTTP `Request-Id` request header is an optional and unofficial HTTP header, used to trace individual HTTP requests from the client to the server and back again. It allows the client and server to correlate each HTTP request. If not provided by the client, the server should generate a unique request ID and include it in the response.","schema":{}}],"responses":{"200":{"description":"The project ticket types have been successfully retrieved.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","example":"Success"},"data":{"allOf":[{"$ref":"#/components/schemas/PaginatedOutputDto"},{"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ReadTicketTypeDto"}}}}]}}}}}},"400":{"description":"Bad request, Invalid input","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#bad-request"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"BAD_REQUEST"},"message":{"type":"string","example":"Bad request"}}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#unauthorized"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"UNAUTHORIZED"},"message":{"type":"string","example":"Unauthorized"}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#forbidden"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"FORBIDDEN"},"message":{"type":"string","example":"Forbidden"}}}}}}}}},"404":{"description":"Object not found","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#not-found"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"NOT_FOUND"},"message":{"type":"string","example":"Object not found"}}}}}}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#conflict"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"CONFLICT"},"message":{"type":"string","example":"Conflict"}}}}}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#internal-server-error"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"INTERNAL_SERVER_ERROR"},"message":{"type":"string","example":"Internal server error"}}}}}}}}}},"security":[{"CapmoAuth":[]}],"summary":"","tags":["Project Ticket Types"]}},"/api/v1/projects/{projectId}/ticket-tags":{"get":{"description":"This can be used to list all project ticket tags in a paginated response.","operationId":"getProjectTicketTags","parameters":[{"name":"projectId","required":true,"in":"path","schema":{"type":"string"}},{"name":"order_by","required":false,"in":"query","description":"Field to order by. It can be any field of the entity.","schema":{"default":"server_created_at","example":"created_at","type":"string"}},{"name":"order_direction","required":false,"in":"query","description":"Order direction of the `order_by` field. It can be `asc` or `desc`.","schema":{"default":"asc","example":"asc","type":"string","enum":["asc","desc"]}},{"name":"after","required":false,"in":"query","description":"The last element from the previous page. This is a cursor. It will be returned in the output to be used in the next request. When it is not present, the first page is returned. When it is `null`, there are no more pages.","schema":{"type":"string"}},{"name":"limit","required":false,"in":"query","description":"How many items should be in the output.","schema":{"minimum":1,"maximum":1000,"default":200,"example":20,"type":"number"}},{"name":"Request-Id","in":"header","description":"The HTTP `Request-Id` request header is an optional and unofficial HTTP header, used to trace individual HTTP requests from the client to the server and back again. It allows the client and server to correlate each HTTP request. If not provided by the client, the server should generate a unique request ID and include it in the response.","schema":{}}],"responses":{"200":{"description":"The project ticket tags have been successfully retrieved.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","example":"Success"},"data":{"allOf":[{"$ref":"#/components/schemas/PaginatedOutputDto"},{"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ReadProjectTicketTagDto"}}}}]}}}}}},"400":{"description":"Bad request, Invalid input","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#bad-request"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"BAD_REQUEST"},"message":{"type":"string","example":"Bad request"}}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#unauthorized"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"UNAUTHORIZED"},"message":{"type":"string","example":"Unauthorized"}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#forbidden"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"FORBIDDEN"},"message":{"type":"string","example":"Forbidden"}}}}}}}}},"404":{"description":"Object not found","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#not-found"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"NOT_FOUND"},"message":{"type":"string","example":"Object not found"}}}}}}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#conflict"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"CONFLICT"},"message":{"type":"string","example":"Conflict"}}}}}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#internal-server-error"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"INTERNAL_SERVER_ERROR"},"message":{"type":"string","example":"Internal server error"}}}}}}}}}},"security":[{"CapmoAuth":[]}],"summary":"","tags":["Project Ticket Tags"]}},"/api/v1/projects/{projectId}/plan-folders":{"get":{"description":"This can be used to list all project plan folders in a paginated response.","operationId":"getPlanFolders","parameters":[{"name":"order_by","required":false,"in":"query","description":"Field to order by. It can be any field of the entity.","schema":{"default":"server_created_at","example":"created_at","type":"string"}},{"name":"order_direction","required":false,"in":"query","description":"Order direction of the `order_by` field. It can be `asc` or `desc`.","schema":{"default":"asc","example":"asc","type":"string","enum":["asc","desc"]}},{"name":"after","required":false,"in":"query","description":"The last element from the previous page. This is a cursor. It will be returned in the output to be used in the next request. When it is not present, the first page is returned. When it is `null`, there are no more pages.","schema":{"type":"string"}},{"name":"limit","required":false,"in":"query","description":"How many items should be in the output.","schema":{"minimum":1,"maximum":1000,"default":200,"example":20,"type":"number"}},{"name":"projectId","required":true,"in":"path","schema":{"type":"string"}},{"name":"Request-Id","in":"header","description":"The HTTP `Request-Id` request header is an optional and unofficial HTTP header, used to trace individual HTTP requests from the client to the server and back again. It allows the client and server to correlate each HTTP request. If not provided by the client, the server should generate a unique request ID and include it in the response.","schema":{}}],"responses":{"200":{"description":"The project plan folders have been successfully retrieved.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","example":"Success"},"data":{"allOf":[{"$ref":"#/components/schemas/PaginatedOutputDto"},{"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ReadPlanFolderDto"}}}}]}}}}}},"400":{"description":"Bad request, Invalid input","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#bad-request"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"BAD_REQUEST"},"message":{"type":"string","example":"Bad request"}}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#unauthorized"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"UNAUTHORIZED"},"message":{"type":"string","example":"Unauthorized"}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#forbidden"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"FORBIDDEN"},"message":{"type":"string","example":"Forbidden"}}}}}}}}},"404":{"description":"Object not found","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#not-found"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"NOT_FOUND"},"message":{"type":"string","example":"Object not found"}}}}}}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#conflict"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"CONFLICT"},"message":{"type":"string","example":"Conflict"}}}}}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#internal-server-error"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"INTERNAL_SERVER_ERROR"},"message":{"type":"string","example":"Internal server error"}}}}}}}}}},"security":[{"CapmoAuth":[]}],"summary":"","tags":["Project Plans"]},"post":{"description":"This can be used to create a new project plan folder.","operationId":"createPlanFolder","parameters":[{"name":"projectId","required":true,"in":"path","schema":{"type":"string"}},{"name":"Request-Id","in":"header","description":"The HTTP `Request-Id` request header is an optional and unofficial HTTP header, used to trace individual HTTP requests from the client to the server and back again. It allows the client and server to correlate each HTTP request. If not provided by the client, the server should generate a unique request ID and include it in the response.","schema":{}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatePlanFolderInputDto"}}}},"responses":{"201":{"description":"The project plan folder has been successfully created.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","example":"Success"},"data":{"$ref":"#/components/schemas/ReadPlanFolderDto"}}}}}},"400":{"description":"Bad request, Invalid input","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#bad-request"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"BAD_REQUEST"},"message":{"type":"string","example":"Bad request"}}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#unauthorized"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"UNAUTHORIZED"},"message":{"type":"string","example":"Unauthorized"}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#forbidden"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"FORBIDDEN"},"message":{"type":"string","example":"Forbidden"}}}}}}}}},"404":{"description":"Object not found","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#not-found"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"NOT_FOUND"},"message":{"type":"string","example":"Object not found"}}}}}}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#conflict"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"CONFLICT"},"message":{"type":"string","example":"Conflict"}}}}}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#internal-server-error"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"INTERNAL_SERVER_ERROR"},"message":{"type":"string","example":"Internal server error"}}}}}}}}}},"security":[{"CapmoAuth":[]}],"summary":"","tags":["Project Plans"]}},"/api/v1/projects/{projectId}/plan-folders/{folderId}":{"patch":{"description":"This can be used to rename a project plan folder.","operationId":"updatePlanFolder","parameters":[{"name":"projectId","required":true,"in":"path","schema":{"type":"string"}},{"name":"folderId","required":true,"in":"path","schema":{"type":"string"}},{"name":"Request-Id","in":"header","description":"The HTTP `Request-Id` request header is an optional and unofficial HTTP header, used to trace individual HTTP requests from the client to the server and back again. It allows the client and server to correlate each HTTP request. If not provided by the client, the server should generate a unique request ID and include it in the response.","schema":{}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdatePlanFolderDto"}}}},"responses":{"201":{"description":"The project plan folder has been successfully renamed.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","example":"Success"},"data":{"$ref":"#/components/schemas/ReadPlanFolderDto"}}}}}},"400":{"description":"Bad request, Invalid input","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#bad-request"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"BAD_REQUEST"},"message":{"type":"string","example":"Bad request"}}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#unauthorized"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"UNAUTHORIZED"},"message":{"type":"string","example":"Unauthorized"}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#forbidden"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"FORBIDDEN"},"message":{"type":"string","example":"Forbidden"}}}}}}}}},"404":{"description":"Object not found","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#not-found"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"NOT_FOUND"},"message":{"type":"string","example":"Object not found"}}}}}}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#conflict"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"CONFLICT"},"message":{"type":"string","example":"Conflict"}}}}}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#internal-server-error"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"INTERNAL_SERVER_ERROR"},"message":{"type":"string","example":"Internal server error"}}}}}}}}}},"security":[{"CapmoAuth":[]}],"summary":"","tags":["Project Plans"]},"delete":{"description":"This can be used to delete a specific project plan folder by its ID.","operationId":"deletePlanFolder","parameters":[{"name":"projectId","required":true,"in":"path","schema":{"type":"string"}},{"name":"folderId","required":true,"in":"path","schema":{"type":"string"}},{"name":"Request-Id","in":"header","description":"The HTTP `Request-Id` request header is an optional and unofficial HTTP header, used to trace individual HTTP requests from the client to the server and back again. It allows the client and server to correlate each HTTP request. If not provided by the client, the server should generate a unique request ID and include it in the response.","schema":{}}],"responses":{"200":{"description":"The project plan folder has been successfully deleted."},"400":{"description":"Bad request, Invalid input","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#bad-request"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"BAD_REQUEST"},"message":{"type":"string","example":"Bad request"}}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#unauthorized"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"UNAUTHORIZED"},"message":{"type":"string","example":"Unauthorized"}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#forbidden"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"FORBIDDEN"},"message":{"type":"string","example":"Forbidden"}}}}}}}}},"404":{"description":"Object not found","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#not-found"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"NOT_FOUND"},"message":{"type":"string","example":"Object not found"}}}}}}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#conflict"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"CONFLICT"},"message":{"type":"string","example":"Conflict"}}}}}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#internal-server-error"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"INTERNAL_SERVER_ERROR"},"message":{"type":"string","example":"Internal server error"}}}}}}}}}},"security":[{"CapmoAuth":[]}],"summary":"","tags":["Project Plans"]}},"/api/v1/projects/{projectId}/plans":{"post":{"description":"This can be used to create a new project plan.","operationId":"createProjectPlan","parameters":[{"name":"projectId","required":true,"in":"path","schema":{"type":"string"}},{"name":"Request-Id","in":"header","description":"The HTTP `Request-Id` request header is an optional and unofficial HTTP header, used to trace individual HTTP requests from the client to the server and back again. It allows the client and server to correlate each HTTP request. If not provided by the client, the server should generate a unique request ID and include it in the response.","schema":{}}],"requestBody":{"required":true,"description":"Plan creation data, using either an existing document or a newly uploaded file.","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/CreatePlanFromFileDto"},{"$ref":"#/components/schemas/CreatePlanFromDocumentDto"}]}}}},"responses":{"200":{"description":"The project plan has been successfully created.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","example":"Success"},"data":{"$ref":"#/components/schemas/ReadPlanDto"}}}}}},"400":{"description":"Bad request, Invalid input","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#bad-request"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"BAD_REQUEST"},"message":{"type":"string","example":"Bad request"}}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#unauthorized"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"UNAUTHORIZED"},"message":{"type":"string","example":"Unauthorized"}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#forbidden"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"FORBIDDEN"},"message":{"type":"string","example":"Forbidden"}}}}}}}}},"404":{"description":"Object not found","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#not-found"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"NOT_FOUND"},"message":{"type":"string","example":"Object not found"}}}}}}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#conflict"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"CONFLICT"},"message":{"type":"string","example":"Conflict"}}}}}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#internal-server-error"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"INTERNAL_SERVER_ERROR"},"message":{"type":"string","example":"Internal server error"}}}}}}}}}},"security":[{"CapmoAuth":[]}],"summary":"","tags":["Project Plans"]},"get":{"description":"This can be used to list all project plans in a paginated response.","operationId":"getProjectPlansList","parameters":[{"name":"projectId","required":true,"in":"path","schema":{"type":"string"}},{"name":"order_by","required":false,"in":"query","description":"Field to order by. It can be any field of the entity.","schema":{"default":"server_created_at","example":"created_at","type":"string"}},{"name":"order_direction","required":false,"in":"query","description":"Order direction of the `order_by` field. It can be `asc` or `desc`.","schema":{"default":"asc","example":"asc","type":"string","enum":["asc","desc"]}},{"name":"after","required":false,"in":"query","description":"The last element from the previous page. This is a cursor. It will be returned in the output to be used in the next request. When it is not present, the first page is returned. When it is `null`, there are no more pages.","schema":{"type":"string"}},{"name":"limit","required":false,"in":"query","description":"How many items should be in the output.","schema":{"minimum":1,"maximum":1000,"default":200,"example":20,"type":"number"}},{"name":"Request-Id","in":"header","description":"The HTTP `Request-Id` request header is an optional and unofficial HTTP header, used to trace individual HTTP requests from the client to the server and back again. It allows the client and server to correlate each HTTP request. If not provided by the client, the server should generate a unique request ID and include it in the response.","schema":{}}],"responses":{"200":{"description":"The project plans have been successfully retrieved.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","example":"Success"},"data":{"allOf":[{"$ref":"#/components/schemas/PaginatedOutputDto"},{"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ReadPlanDto"}}}}]}}}}}},"400":{"description":"Bad request, Invalid input","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#bad-request"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"BAD_REQUEST"},"message":{"type":"string","example":"Bad request"}}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#unauthorized"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"UNAUTHORIZED"},"message":{"type":"string","example":"Unauthorized"}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#forbidden"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"FORBIDDEN"},"message":{"type":"string","example":"Forbidden"}}}}}}}}},"404":{"description":"Object not found","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#not-found"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"NOT_FOUND"},"message":{"type":"string","example":"Object not found"}}}}}}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#conflict"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"CONFLICT"},"message":{"type":"string","example":"Conflict"}}}}}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#internal-server-error"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"INTERNAL_SERVER_ERROR"},"message":{"type":"string","example":"Internal server error"}}}}}}}}}},"security":[{"CapmoAuth":[]}],"summary":"","tags":["Project Plans"]}},"/api/v1/projects/{projectId}/plans/{planId}":{"get":{"description":"This can be used to get a single project plan.","operationId":"getProjectPlan","parameters":[{"name":"projectId","required":true,"in":"path","schema":{"type":"string"}},{"name":"planId","required":true,"in":"path","schema":{"type":"string"}},{"name":"Request-Id","in":"header","description":"The HTTP `Request-Id` request header is an optional and unofficial HTTP header, used to trace individual HTTP requests from the client to the server and back again. It allows the client and server to correlate each HTTP request. If not provided by the client, the server should generate a unique request ID and include it in the response.","schema":{}}],"responses":{"200":{"description":"The project plan has been successfully retrieved.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","example":"Success"},"data":{"$ref":"#/components/schemas/ReadPlanWithSignedUrlDto"}}}}}},"400":{"description":"Bad request, Invalid input","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#bad-request"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"BAD_REQUEST"},"message":{"type":"string","example":"Bad request"}}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#unauthorized"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"UNAUTHORIZED"},"message":{"type":"string","example":"Unauthorized"}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#forbidden"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"FORBIDDEN"},"message":{"type":"string","example":"Forbidden"}}}}}}}}},"404":{"description":"Object not found","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#not-found"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"NOT_FOUND"},"message":{"type":"string","example":"Object not found"}}}}}}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#conflict"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"CONFLICT"},"message":{"type":"string","example":"Conflict"}}}}}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#internal-server-error"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"INTERNAL_SERVER_ERROR"},"message":{"type":"string","example":"Internal server error"}}}}}}}}}},"security":[{"CapmoAuth":[]}],"summary":"","tags":["Project Plans"]},"delete":{"description":"This can be used to delete a specific project plan by its ID.","operationId":"deletePlan","parameters":[{"name":"projectId","required":true,"in":"path","schema":{"type":"string"}},{"name":"planId","required":true,"in":"path","schema":{"type":"string"}},{"name":"Request-Id","in":"header","description":"The HTTP `Request-Id` request header is an optional and unofficial HTTP header, used to trace individual HTTP requests from the client to the server and back again. It allows the client and server to correlate each HTTP request. If not provided by the client, the server should generate a unique request ID and include it in the response.","schema":{}}],"responses":{"200":{"description":"The project plan has been successfully deleted."},"400":{"description":"Bad request, Invalid input","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#bad-request"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"BAD_REQUEST"},"message":{"type":"string","example":"Bad request"}}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#unauthorized"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"UNAUTHORIZED"},"message":{"type":"string","example":"Unauthorized"}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#forbidden"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"FORBIDDEN"},"message":{"type":"string","example":"Forbidden"}}}}}}}}},"404":{"description":"Object not found","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#not-found"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"NOT_FOUND"},"message":{"type":"string","example":"Object not found"}}}}}}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#conflict"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"CONFLICT"},"message":{"type":"string","example":"Conflict"}}}}}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#internal-server-error"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"INTERNAL_SERVER_ERROR"},"message":{"type":"string","example":"Internal server error"}}}}}}}}}},"security":[{"CapmoAuth":[]}],"summary":"","tags":["Project Plans"]},"patch":{"description":"This can be used to update a specific project plan by its ID.","operationId":"updateProjectPlan","parameters":[{"name":"projectId","required":true,"in":"path","schema":{"type":"string"}},{"name":"planId","required":true,"in":"path","schema":{"type":"string"}},{"name":"Request-Id","in":"header","description":"The HTTP `Request-Id` request header is an optional and unofficial HTTP header, used to trace individual HTTP requests from the client to the server and back again. It allows the client and server to correlate each HTTP request. If not provided by the client, the server should generate a unique request ID and include it in the response.","schema":{}}],"responses":{"200":{"description":"The project plan has been successfully updated.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","example":"Success"},"data":{"$ref":"#/components/schemas/ReadPlanDto"}}}}}},"400":{"description":"Bad request, Invalid input","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#bad-request"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"BAD_REQUEST"},"message":{"type":"string","example":"Bad request"}}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#unauthorized"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"UNAUTHORIZED"},"message":{"type":"string","example":"Unauthorized"}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#forbidden"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"FORBIDDEN"},"message":{"type":"string","example":"Forbidden"}}}}}}}}},"404":{"description":"Object not found","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#not-found"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"NOT_FOUND"},"message":{"type":"string","example":"Object not found"}}}}}}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#conflict"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"CONFLICT"},"message":{"type":"string","example":"Conflict"}}}}}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#internal-server-error"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"INTERNAL_SERVER_ERROR"},"message":{"type":"string","example":"Internal server error"}}}}}}}}}},"security":[{"CapmoAuth":[]}],"summary":"","tags":["Project Plans"]}},"/api/v1/projects/{projectId}/document-files":{"post":{"description":"This can be used to create a new project document. This must be called after obtaining an upload URL.","operationId":"createProjectDocument","parameters":[{"name":"projectId","required":true,"in":"path","schema":{"type":"string"}},{"name":"Request-Id","in":"header","description":"The HTTP `Request-Id` request header is an optional and unofficial HTTP header, used to trace individual HTTP requests from the client to the server and back again. It allows the client and server to correlate each HTTP request. If not provided by the client, the server should generate a unique request ID and include it in the response.","schema":{}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FileCreateInputDto"}}}},"responses":{"200":{"description":"The project document has been successfully created.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","example":"Success"},"data":{"$ref":"#/components/schemas/ReadDocumentWithSignedUrlDto"}}}}}},"400":{"description":"Bad request, Invalid input","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#bad-request"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"BAD_REQUEST"},"message":{"type":"string","example":"Bad request"}}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#unauthorized"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"UNAUTHORIZED"},"message":{"type":"string","example":"Unauthorized"}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#forbidden"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"FORBIDDEN"},"message":{"type":"string","example":"Forbidden"}}}}}}}}},"404":{"description":"Object not found","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#not-found"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"NOT_FOUND"},"message":{"type":"string","example":"Object not found"}}}}}}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#conflict"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"CONFLICT"},"message":{"type":"string","example":"Conflict"}}}}}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#internal-server-error"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"INTERNAL_SERVER_ERROR"},"message":{"type":"string","example":"Internal server error"}}}}}}}}}},"security":[{"CapmoAuth":[]}],"summary":"","tags":["Project Documents"]},"get":{"description":"This can be used to list all project documents in a paginated response.","operationId":"getProjectDocumentsPaginated","parameters":[{"name":"projectId","required":true,"in":"path","schema":{"type":"string"}},{"name":"order_by","required":false,"in":"query","description":"Field to order by. It can be any field of the entity.","schema":{"default":"server_created_at","example":"created_at","type":"string"}},{"name":"order_direction","required":false,"in":"query","description":"Order direction of the `order_by` field. It can be `asc` or `desc`.","schema":{"default":"asc","example":"asc","type":"string","enum":["asc","desc"]}},{"name":"after","required":false,"in":"query","description":"The last element from the previous page. This is a cursor. It will be returned in the output to be used in the next request. When it is not present, the first page is returned. When it is `null`, there are no more pages.","schema":{"type":"string"}},{"name":"limit","required":false,"in":"query","description":"How many items should be in the output.","schema":{"minimum":1,"maximum":1000,"default":200,"example":20,"type":"number"}},{"name":"Request-Id","in":"header","description":"The HTTP `Request-Id` request header is an optional and unofficial HTTP header, used to trace individual HTTP requests from the client to the server and back again. It allows the client and server to correlate each HTTP request. If not provided by the client, the server should generate a unique request ID and include it in the response.","schema":{}}],"responses":{"200":{"description":"The project documents have been successfully retrieved.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","example":"Success"},"data":{"allOf":[{"$ref":"#/components/schemas/PaginatedOutputDto"},{"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ReadDocumentDto"}}}}]}}}}}},"400":{"description":"Bad request, Invalid input","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#bad-request"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"BAD_REQUEST"},"message":{"type":"string","example":"Bad request"}}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#unauthorized"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"UNAUTHORIZED"},"message":{"type":"string","example":"Unauthorized"}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#forbidden"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"FORBIDDEN"},"message":{"type":"string","example":"Forbidden"}}}}}}}}},"404":{"description":"Object not found","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#not-found"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"NOT_FOUND"},"message":{"type":"string","example":"Object not found"}}}}}}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#conflict"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"CONFLICT"},"message":{"type":"string","example":"Conflict"}}}}}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#internal-server-error"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"INTERNAL_SERVER_ERROR"},"message":{"type":"string","example":"Internal server error"}}}}}}}}}},"security":[{"CapmoAuth":[]}],"summary":"","tags":["Project Documents"]}},"/api/v1/projects/{projectId}/document-files/{fileId}":{"get":{"description":"This can be used to get a single project document.","operationId":"getProjectDocument","parameters":[{"name":"projectId","required":true,"in":"path","schema":{"type":"string"}},{"name":"fileId","required":true,"in":"path","schema":{"type":"string"}},{"name":"Request-Id","in":"header","description":"The HTTP `Request-Id` request header is an optional and unofficial HTTP header, used to trace individual HTTP requests from the client to the server and back again. It allows the client and server to correlate each HTTP request. If not provided by the client, the server should generate a unique request ID and include it in the response.","schema":{}}],"responses":{"200":{"description":"The project document has been successfully retrieved.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","example":"Success"},"data":{"$ref":"#/components/schemas/ReadDocumentWithSignedUrlDto"}}}}}},"400":{"description":"Bad request, Invalid input","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#bad-request"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"BAD_REQUEST"},"message":{"type":"string","example":"Bad request"}}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#unauthorized"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"UNAUTHORIZED"},"message":{"type":"string","example":"Unauthorized"}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#forbidden"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"FORBIDDEN"},"message":{"type":"string","example":"Forbidden"}}}}}}}}},"404":{"description":"Object not found","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#not-found"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"NOT_FOUND"},"message":{"type":"string","example":"Object not found"}}}}}}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#conflict"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"CONFLICT"},"message":{"type":"string","example":"Conflict"}}}}}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#internal-server-error"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"INTERNAL_SERVER_ERROR"},"message":{"type":"string","example":"Internal server error"}}}}}}}}}},"security":[{"CapmoAuth":[]}],"summary":"","tags":["Project Documents"]},"patch":{"description":"This can be used to rename a specific project document by its ID.","operationId":"renameDocument","parameters":[{"name":"projectId","required":true,"in":"path","schema":{"type":"string"}},{"name":"fileId","required":true,"in":"path","schema":{"type":"string"}},{"name":"Request-Id","in":"header","description":"The HTTP `Request-Id` request header is an optional and unofficial HTTP header, used to trace individual HTTP requests from the client to the server and back again. It allows the client and server to correlate each HTTP request. If not provided by the client, the server should generate a unique request ID and include it in the response.","schema":{}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RenameDocumentDto"}}}},"responses":{"200":{"description":"The document has been successfully renamed.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","example":"Success"},"data":{"$ref":"#/components/schemas/ReadDocumentDto"}}}}}},"400":{"description":"Bad request, Invalid input","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#bad-request"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"BAD_REQUEST"},"message":{"type":"string","example":"Bad request"}}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#unauthorized"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"UNAUTHORIZED"},"message":{"type":"string","example":"Unauthorized"}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#forbidden"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"FORBIDDEN"},"message":{"type":"string","example":"Forbidden"}}}}}}}}},"404":{"description":"Object not found","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#not-found"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"NOT_FOUND"},"message":{"type":"string","example":"Object not found"}}}}}}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#conflict"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"CONFLICT"},"message":{"type":"string","example":"Conflict"}}}}}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#internal-server-error"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"INTERNAL_SERVER_ERROR"},"message":{"type":"string","example":"Internal server error"}}}}}}}}}},"security":[{"CapmoAuth":[]}],"summary":"","tags":["Project Documents"]},"delete":{"description":"This can be used to delete a project document.","operationId":"deleteProjectDocument","parameters":[{"name":"projectId","required":true,"in":"path","schema":{"type":"string"}},{"name":"fileId","required":true,"in":"path","schema":{"type":"string"}},{"name":"Request-Id","in":"header","description":"The HTTP `Request-Id` request header is an optional and unofficial HTTP header, used to trace individual HTTP requests from the client to the server and back again. It allows the client and server to correlate each HTTP request. If not provided by the client, the server should generate a unique request ID and include it in the response.","schema":{}}],"responses":{"200":{"description":"The project document has been successfully deleted."},"400":{"description":"Bad request, Invalid input","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#bad-request"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"BAD_REQUEST"},"message":{"type":"string","example":"Bad request"}}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#unauthorized"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"UNAUTHORIZED"},"message":{"type":"string","example":"Unauthorized"}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#forbidden"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"FORBIDDEN"},"message":{"type":"string","example":"Forbidden"}}}}}}}}},"404":{"description":"Object not found","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#not-found"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"NOT_FOUND"},"message":{"type":"string","example":"Object not found"}}}}}}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#conflict"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"CONFLICT"},"message":{"type":"string","example":"Conflict"}}}}}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#internal-server-error"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"INTERNAL_SERVER_ERROR"},"message":{"type":"string","example":"Internal server error"}}}}}}}}}},"security":[{"CapmoAuth":[]}],"summary":"","tags":["Project Documents"]}},"/api/v1/projects/{projectId}/document-folders":{"get":{"description":"This can be used to list all project document folders in a paginated response.","operationId":"getProjectDocumentFolders","parameters":[{"name":"projectId","required":true,"in":"path","schema":{"type":"string"}},{"name":"order_direction","required":false,"in":"query","description":"Order direction of the `order_by` field. It can be `asc` or `desc`.","schema":{"default":"asc","example":"asc","type":"string","enum":["asc","desc"]}},{"name":"after","required":false,"in":"query","description":"The last element from the previous page. This is a cursor. It will be returned in the output to be used in the next request. When it is not present, the first page is returned. When it is `null`, there are no more pages.","schema":{"type":"string"}},{"name":"limit","required":false,"in":"query","description":"How many items should be in the output.","schema":{"minimum":1,"maximum":1000,"default":200,"example":20,"type":"number"}},{"name":"parent_folder_id","required":false,"in":"query","description":"The unique identifier of the document folder's parent folder ID.","schema":{"example":"123e4567-e89b-12d3-a456-426614174000","type":"string"}},{"name":"include_sub_folders","required":false,"in":"query","description":"Whether the response should include all sub-folders or not.","schema":{"example":true,"type":"boolean"}},{"name":"order_by","required":false,"in":"query","description":"The field to order the document folders by.","schema":{"default":"created_at","example":"name","type":"string"}},{"name":"query","required":false,"in":"query","description":"Can be used to search for a document folder by a partial match on its name.","schema":{"example":"fotos","type":"string"}},{"name":"folder_ids","required":false,"in":"query","description":"Can be used to filter the results to a list of document folders IDs.","schema":{"example":["123e4567-e89b-12d3-a456-426614174000","123e4567-e89b-12d3-a456-426614174001","123e4567-e89b-12d3-a456-426614174002"],"type":"array","items":{"type":"string"}}},{"name":"Request-Id","in":"header","description":"The HTTP `Request-Id` request header is an optional and unofficial HTTP header, used to trace individual HTTP requests from the client to the server and back again. It allows the client and server to correlate each HTTP request. If not provided by the client, the server should generate a unique request ID and include it in the response.","schema":{}}],"responses":{"200":{"description":"The project document folders have been successfully retrieved.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","example":"Success"},"data":{"allOf":[{"$ref":"#/components/schemas/PaginatedOutputDto"},{"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ReadDocumentFolderDto"}}}}]}}}}}},"400":{"description":"Bad request, Invalid input","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#bad-request"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"BAD_REQUEST"},"message":{"type":"string","example":"Bad request"}}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#unauthorized"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"UNAUTHORIZED"},"message":{"type":"string","example":"Unauthorized"}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#forbidden"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"FORBIDDEN"},"message":{"type":"string","example":"Forbidden"}}}}}}}}},"404":{"description":"Object not found","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#not-found"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"NOT_FOUND"},"message":{"type":"string","example":"Object not found"}}}}}}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#conflict"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"CONFLICT"},"message":{"type":"string","example":"Conflict"}}}}}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#internal-server-error"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"INTERNAL_SERVER_ERROR"},"message":{"type":"string","example":"Internal server error"}}}}}}}}}},"security":[{"CapmoAuth":[]}],"summary":"","tags":["Project Documents"]},"post":{"description":"This can be used to create a new project document folder.","operationId":"createProjectDocumentFolder","parameters":[{"name":"projectId","required":true,"in":"path","schema":{"type":"string"}},{"name":"Request-Id","in":"header","description":"The HTTP `Request-Id` request header is an optional and unofficial HTTP header, used to trace individual HTTP requests from the client to the server and back again. It allows the client and server to correlate each HTTP request. If not provided by the client, the server should generate a unique request ID and include it in the response.","schema":{}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateDocumentFolderDto"}}}},"responses":{"201":{"description":"The project document folder has been successfully created.","links":{"Get Project Document Folder":{"description":"Get the created project document folder","operationId":"getProjectDocumentFolder","parameters":{"projectId":"$response.body.data#/id"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","example":"Success"},"data":{"$ref":"#/components/schemas/ReadDocumentFolderDto"}}}}}},"400":{"description":"Bad request, Invalid input","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#bad-request"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"BAD_REQUEST"},"message":{"type":"string","example":"Bad request"}}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#unauthorized"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"UNAUTHORIZED"},"message":{"type":"string","example":"Unauthorized"}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#forbidden"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"FORBIDDEN"},"message":{"type":"string","example":"Forbidden"}}}}}}}}},"404":{"description":"Object not found","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#not-found"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"NOT_FOUND"},"message":{"type":"string","example":"Object not found"}}}}}}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#conflict"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"CONFLICT"},"message":{"type":"string","example":"Conflict"}}}}}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#internal-server-error"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"INTERNAL_SERVER_ERROR"},"message":{"type":"string","example":"Internal server error"}}}}}}}}}},"security":[{"CapmoAuth":[]}],"summary":"","tags":["Project Documents"]}},"/api/v1/projects/{projectId}/document-folders/{folderId}":{"get":{"description":"This can be used to retrieve a specific project document folder by its ID.","operationId":"getProjectDocumentFolder","parameters":[{"name":"projectId","required":true,"in":"path","schema":{"type":"string"}},{"name":"folderId","required":true,"in":"path","schema":{"type":"string"}},{"name":"Request-Id","in":"header","description":"The HTTP `Request-Id` request header is an optional and unofficial HTTP header, used to trace individual HTTP requests from the client to the server and back again. It allows the client and server to correlate each HTTP request. If not provided by the client, the server should generate a unique request ID and include it in the response.","schema":{}}],"responses":{"200":{"description":"The project document folder has been successfully retrieved.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","example":"Success"},"data":{"$ref":"#/components/schemas/ReadDocumentFolderDto"}}}}}},"400":{"description":"Bad request, Invalid input","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#bad-request"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"BAD_REQUEST"},"message":{"type":"string","example":"Bad request"}}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#unauthorized"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"UNAUTHORIZED"},"message":{"type":"string","example":"Unauthorized"}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#forbidden"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"FORBIDDEN"},"message":{"type":"string","example":"Forbidden"}}}}}}}}},"404":{"description":"Object not found","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#not-found"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"NOT_FOUND"},"message":{"type":"string","example":"Object not found"}}}}}}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#conflict"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"CONFLICT"},"message":{"type":"string","example":"Conflict"}}}}}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#internal-server-error"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"INTERNAL_SERVER_ERROR"},"message":{"type":"string","example":"Internal server error"}}}}}}}}}},"security":[{"CapmoAuth":[]}],"summary":"","tags":["Project Documents"]},"patch":{"description":"This can be used to rename a project document folder.","operationId":"renameProjectDocumentFolder","parameters":[{"name":"projectId","required":true,"in":"path","schema":{"type":"string"}},{"name":"folderId","required":true,"in":"path","schema":{"type":"string"}},{"name":"Request-Id","in":"header","description":"The HTTP `Request-Id` request header is an optional and unofficial HTTP header, used to trace individual HTTP requests from the client to the server and back again. It allows the client and server to correlate each HTTP request. If not provided by the client, the server should generate a unique request ID and include it in the response.","schema":{}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RenameDocumentFolderDto"}}}},"responses":{"400":{"description":"Bad request, Invalid input","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#bad-request"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"BAD_REQUEST"},"message":{"type":"string","example":"Bad request"}}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#unauthorized"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"UNAUTHORIZED"},"message":{"type":"string","example":"Unauthorized"}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#forbidden"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"FORBIDDEN"},"message":{"type":"string","example":"Forbidden"}}}}}}}}},"404":{"description":"Object not found","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#not-found"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"NOT_FOUND"},"message":{"type":"string","example":"Object not found"}}}}}}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#conflict"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"CONFLICT"},"message":{"type":"string","example":"Conflict"}}}}}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#internal-server-error"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"INTERNAL_SERVER_ERROR"},"message":{"type":"string","example":"Internal server error"}}}}}}}}}},"security":[{"CapmoAuth":[]}],"summary":"","tags":["Project Documents"]},"delete":{"description":"This can be used to delete a project document folder.","operationId":"deleteProjectDocumentFolder","parameters":[{"name":"projectId","required":true,"in":"path","schema":{"type":"string"}},{"name":"folderId","required":true,"in":"path","schema":{"type":"string"}},{"name":"Request-Id","in":"header","description":"The HTTP `Request-Id` request header is an optional and unofficial HTTP header, used to trace individual HTTP requests from the client to the server and back again. It allows the client and server to correlate each HTTP request. If not provided by the client, the server should generate a unique request ID and include it in the response.","schema":{}}],"responses":{"400":{"description":"Bad request, Invalid input","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#bad-request"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"BAD_REQUEST"},"message":{"type":"string","example":"Bad request"}}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#unauthorized"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"UNAUTHORIZED"},"message":{"type":"string","example":"Unauthorized"}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#forbidden"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"FORBIDDEN"},"message":{"type":"string","example":"Forbidden"}}}}}}}}},"404":{"description":"Object not found","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#not-found"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"NOT_FOUND"},"message":{"type":"string","example":"Object not found"}}}}}}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#conflict"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"CONFLICT"},"message":{"type":"string","example":"Conflict"}}}}}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#internal-server-error"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"INTERNAL_SERVER_ERROR"},"message":{"type":"string","example":"Internal server error"}}}}}}}}}},"security":[{"CapmoAuth":[]}],"summary":"","tags":["Project Documents"]}},"/api/v1/projects/{projectId}/tickets/{ticketId}/comments":{"get":{"description":"This can be used to list all project tickets comments in a paginated response.\n\n Please note:\n - The pagination system works slightly differently for the project tickets' comments.\n - Because of the way our system is designed, we cannot offer the exact same pagination system as for the other entities.\n - In this case, we cannot offer the total number of items in the collection, only the next page token (referred to as `after`).\n - `limit` is only used in conjunction with `after` to fetch the next page of results and it defaults to `25`.\n - Ordering is also not supported, at the moment.","operationId":"getProjectTicketCommentsPaginated","parameters":[{"name":"projectId","required":true,"in":"path","schema":{"type":"string"}},{"name":"ticketId","required":true,"in":"path","schema":{"type":"string"}},{"name":"after","required":false,"in":"query","description":"The last element from the previous page. This is a cursor. It will be returned in the output to be used in the next request. When it is not present, the first page is returned. When it is `null`, there are no more pages.","schema":{"type":"string"}},{"name":"limit","required":false,"in":"query","description":"How many items should be in the output.","schema":{"minimum":1,"maximum":1000,"default":25,"example":20,"type":"number"}},{"name":"Request-Id","in":"header","description":"The HTTP `Request-Id` request header is an optional and unofficial HTTP header, used to trace individual HTTP requests from the client to the server and back again. It allows the client and server to correlate each HTTP request. If not provided by the client, the server should generate a unique request ID and include it in the response.","schema":{}}],"responses":{"200":{"description":"The project tickets comments have been successfully retrieved.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","example":"Success"},"data":{"allOf":[{"$ref":"#/components/schemas/ReadPaginatedProjectTicketCommentsDto"},{"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ReadProjectTicketCommentDto"}}}}]}}}}}},"400":{"description":"Bad request, Invalid input","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#bad-request"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"BAD_REQUEST"},"message":{"type":"string","example":"Bad request"}}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#unauthorized"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"UNAUTHORIZED"},"message":{"type":"string","example":"Unauthorized"}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#forbidden"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"FORBIDDEN"},"message":{"type":"string","example":"Forbidden"}}}}}}}}},"404":{"description":"Object not found","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#not-found"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"NOT_FOUND"},"message":{"type":"string","example":"Object not found"}}}}}}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#conflict"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"CONFLICT"},"message":{"type":"string","example":"Conflict"}}}}}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#internal-server-error"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"INTERNAL_SERVER_ERROR"},"message":{"type":"string","example":"Internal server error"}}}}}}}}}},"security":[{"CapmoAuth":[]}],"summary":"","tags":["Project Ticket Comments"]}},"/api/v1/projects/{projectId}/tickets/{ticketId}/attachments":{"get":{"description":"This can be used to list all project ticket attachments in a paginated response.","operationId":"getProjectTicketAttachments","parameters":[{"name":"projectId","required":true,"in":"path","schema":{"type":"string"}},{"name":"ticketId","required":true,"in":"path","schema":{"type":"string"}},{"name":"order_by","required":false,"in":"query","description":"Field to order by. It can be any field of the entity.","schema":{"default":"server_created_at","example":"created_at","type":"string"}},{"name":"order_direction","required":false,"in":"query","description":"Order direction of the `order_by` field. It can be `asc` or `desc`.","schema":{"default":"asc","example":"asc","type":"string","enum":["asc","desc"]}},{"name":"after","required":false,"in":"query","description":"The last element from the previous page. This is a cursor. It will be returned in the output to be used in the next request. When it is not present, the first page is returned. When it is `null`, there are no more pages.","schema":{"type":"string"}},{"name":"limit","required":false,"in":"query","description":"How many items should be in the output.","schema":{"minimum":1,"maximum":1000,"default":200,"example":20,"type":"number"}},{"name":"Request-Id","in":"header","description":"The HTTP `Request-Id` request header is an optional and unofficial HTTP header, used to trace individual HTTP requests from the client to the server and back again. It allows the client and server to correlate each HTTP request. If not provided by the client, the server should generate a unique request ID and include it in the response.","schema":{}}],"responses":{"200":{"description":"The project ticket attachments have been successfully retrieved.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","example":"Success"},"data":{"allOf":[{"$ref":"#/components/schemas/PaginatedOutputDto"},{"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ReadTicketAttachmentDto"}}}}]}}}}}},"400":{"description":"Bad request, Invalid input","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#bad-request"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"BAD_REQUEST"},"message":{"type":"string","example":"Bad request"}}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#unauthorized"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"UNAUTHORIZED"},"message":{"type":"string","example":"Unauthorized"}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#forbidden"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"FORBIDDEN"},"message":{"type":"string","example":"Forbidden"}}}}}}}}},"404":{"description":"Object not found","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#not-found"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"NOT_FOUND"},"message":{"type":"string","example":"Object not found"}}}}}}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#conflict"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"CONFLICT"},"message":{"type":"string","example":"Conflict"}}}}}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#internal-server-error"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"INTERNAL_SERVER_ERROR"},"message":{"type":"string","example":"Internal server error"}}}}}}}}}},"security":[{"CapmoAuth":[]}],"summary":"","tags":["Project Ticket Attachments"]},"post":{"description":"This can be used to create a project ticket attachment.","operationId":"createProjectTicketAttachment","parameters":[{"name":"projectId","required":true,"in":"path","schema":{"type":"string"}},{"name":"ticketId","required":true,"in":"path","schema":{"type":"string"}},{"name":"Request-Id","in":"header","description":"The HTTP `Request-Id` request header is an optional and unofficial HTTP header, used to trace individual HTTP requests from the client to the server and back again. It allows the client and server to correlate each HTTP request. If not provided by the client, the server should generate a unique request ID and include it in the response.","schema":{}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateAttachmentInputDto"}}}},"responses":{"200":{"description":"The project ticket attachment has been successfully created.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","example":"Success"},"data":{"$ref":"#/components/schemas/ReadTicketAttachmentDto"}}}}}},"400":{"description":"Bad request, Invalid input","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#bad-request"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"BAD_REQUEST"},"message":{"type":"string","example":"Bad request"}}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#unauthorized"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"UNAUTHORIZED"},"message":{"type":"string","example":"Unauthorized"}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#forbidden"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"FORBIDDEN"},"message":{"type":"string","example":"Forbidden"}}}}}}}}},"404":{"description":"Object not found","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#not-found"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"NOT_FOUND"},"message":{"type":"string","example":"Object not found"}}}}}}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#conflict"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"CONFLICT"},"message":{"type":"string","example":"Conflict"}}}}}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#internal-server-error"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"INTERNAL_SERVER_ERROR"},"message":{"type":"string","example":"Internal server error"}}}}}}}}}},"security":[{"CapmoAuth":[]}],"summary":"","tags":["Project Ticket Attachments"]}},"/api/v1/projects/{projectId}/tickets/{ticketId}/attachments/{attachmentId}":{"get":{"description":"This can be used to get a specific project ticket attachment by its ID.","operationId":"getProjectTicketAttachment","parameters":[{"name":"projectId","required":true,"in":"path","schema":{"type":"string"}},{"name":"ticketId","required":true,"in":"path","schema":{"type":"string"}},{"name":"attachmentId","required":true,"in":"path","schema":{"type":"string"}},{"name":"Request-Id","in":"header","description":"The HTTP `Request-Id` request header is an optional and unofficial HTTP header, used to trace individual HTTP requests from the client to the server and back again. It allows the client and server to correlate each HTTP request. If not provided by the client, the server should generate a unique request ID and include it in the response.","schema":{}}],"responses":{"200":{"description":"The project ticket attachment has been successfully retrieved.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","example":"Success"},"data":{"$ref":"#/components/schemas/ReadTicketAttachmentDto"}}}}}},"400":{"description":"Bad request, Invalid input","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#bad-request"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"BAD_REQUEST"},"message":{"type":"string","example":"Bad request"}}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#unauthorized"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"UNAUTHORIZED"},"message":{"type":"string","example":"Unauthorized"}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#forbidden"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"FORBIDDEN"},"message":{"type":"string","example":"Forbidden"}}}}}}}}},"404":{"description":"Object not found","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#not-found"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"NOT_FOUND"},"message":{"type":"string","example":"Object not found"}}}}}}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#conflict"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"CONFLICT"},"message":{"type":"string","example":"Conflict"}}}}}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#internal-server-error"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"INTERNAL_SERVER_ERROR"},"message":{"type":"string","example":"Internal server error"}}}}}}}}}},"security":[{"CapmoAuth":[]}],"summary":"","tags":["Project Ticket Attachments"]},"delete":{"description":"This can be used to delete a specific project ticket attachment by its ID.","operationId":"deleteProjectTicketAttachment","parameters":[{"name":"projectId","required":true,"in":"path","schema":{"type":"string"}},{"name":"ticketId","required":true,"in":"path","schema":{"type":"string"}},{"name":"attachmentId","required":true,"in":"path","schema":{"type":"string"}},{"name":"Request-Id","in":"header","description":"The HTTP `Request-Id` request header is an optional and unofficial HTTP header, used to trace individual HTTP requests from the client to the server and back again. It allows the client and server to correlate each HTTP request. If not provided by the client, the server should generate a unique request ID and include it in the response.","schema":{}}],"responses":{"200":{"description":"The project ticket attachment has been successfully deleted."},"400":{"description":"Bad request, Invalid input","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#bad-request"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"BAD_REQUEST"},"message":{"type":"string","example":"Bad request"}}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#unauthorized"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"UNAUTHORIZED"},"message":{"type":"string","example":"Unauthorized"}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#forbidden"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"FORBIDDEN"},"message":{"type":"string","example":"Forbidden"}}}}}}}}},"404":{"description":"Object not found","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#not-found"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"NOT_FOUND"},"message":{"type":"string","example":"Object not found"}}}}}}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#conflict"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"CONFLICT"},"message":{"type":"string","example":"Conflict"}}}}}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#internal-server-error"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"INTERNAL_SERVER_ERROR"},"message":{"type":"string","example":"Internal server error"}}}}}}}}}},"security":[{"CapmoAuth":[]}],"summary":"","tags":["Project Ticket Attachments"]}},"/api/v1/projects/{projectId}/room-listings":{"get":{"description":"This can be used to list all room listings in a project in a paginated response.","operationId":"getProjectRoomListings","parameters":[{"name":"projectId","required":true,"in":"path","schema":{"type":"string"}},{"name":"order_by","required":false,"in":"query","description":"Field to order by. It can be any field of the entity.","schema":{"default":"server_created_at","example":"created_at","type":"string"}},{"name":"order_direction","required":false,"in":"query","description":"Order direction of the `order_by` field. It can be `asc` or `desc`.","schema":{"default":"asc","example":"asc","type":"string","enum":["asc","desc"]}},{"name":"after","required":false,"in":"query","description":"The last element from the previous page. This is a cursor. It will be returned in the output to be used in the next request. When it is not present, the first page is returned. When it is `null`, there are no more pages.","schema":{"type":"string"}},{"name":"limit","required":false,"in":"query","description":"How many items should be in the output.","schema":{"minimum":1,"maximum":1000,"default":200,"example":20,"type":"number"}},{"name":"Request-Id","in":"header","description":"The HTTP `Request-Id` request header is an optional and unofficial HTTP header, used to trace individual HTTP requests from the client to the server and back again. It allows the client and server to correlate each HTTP request. If not provided by the client, the server should generate a unique request ID and include it in the response.","schema":{}}],"responses":{"200":{"description":"The project room listings have been successfully retrieved.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","example":"Success"},"data":{"allOf":[{"$ref":"#/components/schemas/PaginatedOutputDto"},{"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ReadRoomListingDto"}}}}]}}}}}},"400":{"description":"Bad request, Invalid input","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#bad-request"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"BAD_REQUEST"},"message":{"type":"string","example":"Bad request"}}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#unauthorized"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"UNAUTHORIZED"},"message":{"type":"string","example":"Unauthorized"}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#forbidden"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"FORBIDDEN"},"message":{"type":"string","example":"Forbidden"}}}}}}}}},"404":{"description":"Object not found","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#not-found"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"NOT_FOUND"},"message":{"type":"string","example":"Object not found"}}}}}}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#conflict"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"CONFLICT"},"message":{"type":"string","example":"Conflict"}}}}}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#internal-server-error"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"INTERNAL_SERVER_ERROR"},"message":{"type":"string","example":"Internal server error"}}}}}}}}}},"security":[{"CapmoAuth":[]}],"summary":"","tags":["Project Room Listings"]}},"/api/v1/projects/{projectId}/site-journals":{"get":{"description":"Gets all the site journals in a paginated response.","operationId":"getSiteJournalsPaginated","parameters":[{"name":"order_by","required":false,"in":"query","description":"Field to order by.","schema":{"default":"server_created_at","example":"server_updated_at","type":"string","enum":["server_created_at","server_updated_at","date"]}},{"name":"order_direction","required":false,"in":"query","description":"Order direction of the `order_by` field. It can be `asc` or `desc`.","schema":{"default":"asc","example":"asc","type":"string","enum":["asc","desc"]}},{"name":"after","required":false,"in":"query","description":"The last element from the previous page. This is a cursor. It will be returned in the output to be used in the next request. When it is not present, the first page is returned. When it is `null`, there are no more pages.","schema":{"type":"string"}},{"name":"limit","required":false,"in":"query","description":"How many items should be in the output.","schema":{"minimum":1,"maximum":1000,"default":200,"example":20,"type":"number"}},{"name":"projectId","required":true,"in":"path","schema":{"type":"string"}},{"name":"Request-Id","in":"header","description":"The HTTP `Request-Id` request header is an optional and unofficial HTTP header, used to trace individual HTTP requests from the client to the server and back again. It allows the client and server to correlate each HTTP request. If not provided by the client, the server should generate a unique request ID and include it in the response.","schema":{}}],"responses":{"200":{"description":"The site journals have been successfully retrieved.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","example":"Success"},"data":{"allOf":[{"$ref":"#/components/schemas/PaginatedOutputDto"},{"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ReadSiteJournalDto"}}}}]}}}}}},"400":{"description":"Bad request, Invalid input","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#bad-request"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"BAD_REQUEST"},"message":{"type":"string","example":"Bad request"}}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#unauthorized"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"UNAUTHORIZED"},"message":{"type":"string","example":"Unauthorized"}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#forbidden"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"FORBIDDEN"},"message":{"type":"string","example":"Forbidden"}}}}}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#internal-server-error"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"INTERNAL_SERVER_ERROR"},"message":{"type":"string","example":"Internal server error"}}}}}}}}}},"security":[{"CapmoAuth":[]}],"summary":"","tags":["Project Site Journals"]},"post":{"description":"Creates a new project site journal.","operationId":"createSiteJournal","parameters":[{"name":"projectId","required":true,"in":"path","description":"The unique identifier of the project.","schema":{"example":"123e4567-e89b-12d3-a456-426614174000","type":"string"}},{"name":"Request-Id","in":"header","description":"The HTTP `Request-Id` request header is an optional and unofficial HTTP header, used to trace individual HTTP requests from the client to the server and back again. It allows the client and server to correlate each HTTP request. If not provided by the client, the server should generate a unique request ID and include it in the response.","schema":{}}],"requestBody":{"required":true,"description":"The data required to create a project site journal.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateSiteJournalDto"}}}},"responses":{"201":{"description":"Site journal successfully created.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","example":"Success"},"data":{"$ref":"#/components/schemas/ReadSiteJournalDto"}}}}}},"400":{"description":"Bad request, Invalid input","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#bad-request"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"BAD_REQUEST"},"message":{"type":"string","example":"Bad request"}}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#unauthorized"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"UNAUTHORIZED"},"message":{"type":"string","example":"Unauthorized"}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#forbidden"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"FORBIDDEN"},"message":{"type":"string","example":"Forbidden"}}}}}}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#conflict"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"CONFLICT"},"message":{"type":"string","example":"Conflict"}}}}}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#internal-server-error"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"INTERNAL_SERVER_ERROR"},"message":{"type":"string","example":"Internal server error"}}}}}}}}}},"security":[{"CapmoAuth":[]}],"summary":"","tags":["Project Site Journals"]}},"/api/v1/projects/{projectId}/site-journals/{siteJournalId}":{"get":{"description":"Retrieves a single project site journal by ID.","operationId":"getSiteJournal","parameters":[{"name":"projectId","required":true,"in":"path","description":"The unique identifier of the project.","schema":{"example":"123e4567-e89b-12d3-a456-426614174000","type":"string"}},{"name":"siteJournalId","required":true,"in":"path","description":"The unique identifier of the site journal.","schema":{"example":"123e4567-e89b-12d3-a456-426614174000","type":"string"}},{"name":"Request-Id","in":"header","description":"The HTTP `Request-Id` request header is an optional and unofficial HTTP header, used to trace individual HTTP requests from the client to the server and back again. It allows the client and server to correlate each HTTP request. If not provided by the client, the server should generate a unique request ID and include it in the response.","schema":{}}],"responses":{"200":{"description":"The project site journal has been successfully retrieved.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","example":"Success"},"data":{"$ref":"#/components/schemas/ReadSiteJournalDto"}}}}}},"400":{"description":"Bad request, Invalid input","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#bad-request"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"BAD_REQUEST"},"message":{"type":"string","example":"Bad request"}}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#unauthorized"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"UNAUTHORIZED"},"message":{"type":"string","example":"Unauthorized"}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#forbidden"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"FORBIDDEN"},"message":{"type":"string","example":"Forbidden"}}}}}}}}},"404":{"description":"Object not found","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#not-found"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"NOT_FOUND"},"message":{"type":"string","example":"Object not found"}}}}}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#internal-server-error"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"INTERNAL_SERVER_ERROR"},"message":{"type":"string","example":"Internal server error"}}}}}}}}}},"security":[{"CapmoAuth":[]}],"summary":"","tags":["Project Site Journals"]},"patch":{"description":"Updates a project site journal. When the properties to be updated are objects, they are completely replaced. This means that attendances, visits or weather observation will always be replaced in case of an update.","operationId":"updateSiteJournal","parameters":[{"name":"projectId","required":true,"in":"path","description":"The unique identifier of the project.","schema":{"example":"123e4567-e89b-12d3-a456-426614174000","type":"string"}},{"name":"siteJournalId","required":true,"in":"path","description":"The unique identifier of the site journal.","schema":{"example":"123e4567-e89b-12d3-a456-426614174000","type":"string"}},{"name":"Request-Id","in":"header","description":"The HTTP `Request-Id` request header is an optional and unofficial HTTP header, used to trace individual HTTP requests from the client to the server and back again. It allows the client and server to correlate each HTTP request. If not provided by the client, the server should generate a unique request ID and include it in the response.","schema":{}}],"requestBody":{"required":true,"description":"The data required to update a project site journal.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateSiteJournalDto"}}}},"responses":{"200":{"description":"The project site journal has been successfully updated.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","example":"Success"},"data":{"$ref":"#/components/schemas/ReadSiteJournalDto"}}}}}},"400":{"description":"Bad request, Invalid input","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#bad-request"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"BAD_REQUEST"},"message":{"type":"string","example":"Bad request"}}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#unauthorized"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"UNAUTHORIZED"},"message":{"type":"string","example":"Unauthorized"}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#forbidden"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"FORBIDDEN"},"message":{"type":"string","example":"Forbidden"}}}}}}}}},"404":{"description":"Object not found","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#not-found"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"NOT_FOUND"},"message":{"type":"string","example":"Object not found"}}}}}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#internal-server-error"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"INTERNAL_SERVER_ERROR"},"message":{"type":"string","example":"Internal server error"}}}}}}}}}},"security":[{"CapmoAuth":[]}],"summary":"","tags":["Project Site Journals"]},"delete":{"description":"This endpoint deletes a project site journal and all its associated entries (company attendances, visits, weather observations).","operationId":"deleteSiteJournal","parameters":[{"name":"projectId","required":true,"in":"path","description":"The unique identifier of the project.","schema":{"example":"123e4567-e89b-12d3-a456-426614174000","type":"string"}},{"name":"siteJournalId","required":true,"in":"path","description":"The unique identifier of the site journal.","schema":{"example":"123e4567-e89b-12d3-a456-426614174000","type":"string"}},{"name":"Request-Id","in":"header","description":"The HTTP `Request-Id` request header is an optional and unofficial HTTP header, used to trace individual HTTP requests from the client to the server and back again. It allows the client and server to correlate each HTTP request. If not provided by the client, the server should generate a unique request ID and include it in the response.","schema":{}}],"responses":{"200":{"description":"The project site journal has been successfully deleted."},"400":{"description":"Bad request, Invalid input","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#bad-request"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"BAD_REQUEST"},"message":{"type":"string","example":"Bad request"}}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#unauthorized"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"UNAUTHORIZED"},"message":{"type":"string","example":"Unauthorized"}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#forbidden"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"FORBIDDEN"},"message":{"type":"string","example":"Forbidden"}}}}}}}}},"404":{"description":"Object not found","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#not-found"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"NOT_FOUND"},"message":{"type":"string","example":"Object not found"}}}}}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#internal-server-error"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"INTERNAL_SERVER_ERROR"},"message":{"type":"string","example":"Internal server error"}}}}}}}}}},"security":[{"CapmoAuth":[]}],"summary":"","tags":["Project Site Journals"]}},"/api/v1/projects/{projectId}/change-orders":{"get":{"description":"This can be used to list all project change orders in a paginated response.","operationId":"getChangeOrdersPaginated","parameters":[{"name":"projectId","required":true,"in":"path","schema":{"type":"string"}},{"name":"order_by","required":false,"in":"query","description":"Field to order by. It can be any field of the entity.","schema":{"default":"server_created_at","example":"created_at","type":"string"}},{"name":"order_direction","required":false,"in":"query","description":"Order direction of the `order_by` field. It can be `asc` or `desc`.","schema":{"default":"asc","example":"asc","type":"string","enum":["asc","desc"]}},{"name":"after","required":false,"in":"query","description":"The last element from the previous page. This is a cursor. It will be returned in the output to be used in the next request. When it is not present, the first page is returned. When it is `null`, there are no more pages.","schema":{"type":"string"}},{"name":"limit","required":false,"in":"query","description":"How many items should be in the output.","schema":{"minimum":1,"maximum":1000,"default":200,"example":20,"type":"number"}},{"name":"Request-Id","in":"header","description":"The HTTP `Request-Id` request header is an optional and unofficial HTTP header, used to trace individual HTTP requests from the client to the server and back again. It allows the client and server to correlate each HTTP request. If not provided by the client, the server should generate a unique request ID and include it in the response.","schema":{}}],"responses":{"200":{"description":"The project change orders have been successfully retrieved.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","example":"Success"},"data":{"allOf":[{"$ref":"#/components/schemas/PaginatedOutputDto"},{"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ReadChangeOrderDto"}}}}]}}}}}},"400":{"description":"Bad request, Invalid input","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#bad-request"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"BAD_REQUEST"},"message":{"type":"string","example":"Bad request"}}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#unauthorized"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"UNAUTHORIZED"},"message":{"type":"string","example":"Unauthorized"}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#forbidden"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"FORBIDDEN"},"message":{"type":"string","example":"Forbidden"}}}}}}}}},"404":{"description":"Object not found","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#not-found"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"NOT_FOUND"},"message":{"type":"string","example":"Object not found"}}}}}}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#conflict"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"CONFLICT"},"message":{"type":"string","example":"Conflict"}}}}}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#internal-server-error"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"INTERNAL_SERVER_ERROR"},"message":{"type":"string","example":"Internal server error"}}}}}}}}}},"security":[{"CapmoAuth":[]}],"summary":"","tags":["Project Change Orders"]},"post":{"description":"This can be used to create a new project change order.","operationId":"createChangeOrder","parameters":[{"name":"projectId","required":true,"in":"path","schema":{"type":"string"}},{"name":"Request-Id","in":"header","description":"The HTTP `Request-Id` request header is an optional and unofficial HTTP header, used to trace individual HTTP requests from the client to the server and back again. It allows the client and server to correlate each HTTP request. If not provided by the client, the server should generate a unique request ID and include it in the response.","schema":{}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateChangeOrderDto"}}}},"responses":{"201":{"description":"The project change order has been successfully created.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","example":"Success"},"data":{"$ref":"#/components/schemas/ReadChangeOrderDto"}}}}}},"400":{"description":"Bad request, Invalid input","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#bad-request"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"BAD_REQUEST"},"message":{"type":"string","example":"Bad request"}}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#unauthorized"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"UNAUTHORIZED"},"message":{"type":"string","example":"Unauthorized"}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#forbidden"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"FORBIDDEN"},"message":{"type":"string","example":"Forbidden"}}}}}}}}},"404":{"description":"Object not found","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#not-found"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"NOT_FOUND"},"message":{"type":"string","example":"Object not found"}}}}}}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#conflict"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"CONFLICT"},"message":{"type":"string","example":"Conflict"}}}}}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#internal-server-error"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"INTERNAL_SERVER_ERROR"},"message":{"type":"string","example":"Internal server error"}}}}}}}}}},"security":[{"CapmoAuth":[]}],"summary":"","tags":["Project Change Orders"]}},"/api/v1/projects/{projectId}/change-orders/steps":{"get":{"description":"This can be used to list all available workflow steps for change orders in a project.","operationId":"getChangeOrderSteps","parameters":[{"name":"projectId","required":true,"in":"path","schema":{"type":"string"}},{"name":"Request-Id","in":"header","description":"The HTTP `Request-Id` request header is an optional and unofficial HTTP header, used to trace individual HTTP requests from the client to the server and back again. It allows the client and server to correlate each HTTP request. If not provided by the client, the server should generate a unique request ID and include it in the response.","schema":{}}],"responses":{"200":{"description":"The change order steps have been successfully retrieved.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","example":"Success"},"data":{"$ref":"#/components/schemas/ReadChangeOrderStepDto"}}}}}},"400":{"description":"Bad request, Invalid input","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#bad-request"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"BAD_REQUEST"},"message":{"type":"string","example":"Bad request"}}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#unauthorized"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"UNAUTHORIZED"},"message":{"type":"string","example":"Unauthorized"}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#forbidden"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"FORBIDDEN"},"message":{"type":"string","example":"Forbidden"}}}}}}}}},"404":{"description":"Object not found","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#not-found"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"NOT_FOUND"},"message":{"type":"string","example":"Object not found"}}}}}}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#conflict"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"CONFLICT"},"message":{"type":"string","example":"Conflict"}}}}}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#internal-server-error"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"INTERNAL_SERVER_ERROR"},"message":{"type":"string","example":"Internal server error"}}}}}}}}}},"security":[{"CapmoAuth":[]}],"summary":"","tags":["Project Change Orders"]}},"/api/v1/projects/{projectId}/change-orders/{changeOrderId}":{"get":{"description":"This can be used to get a specific project change order by its ID.","operationId":"getChangeOrder","parameters":[{"name":"projectId","required":true,"in":"path","schema":{"type":"string"}},{"name":"changeOrderId","required":true,"in":"path","schema":{"type":"string"}},{"name":"Request-Id","in":"header","description":"The HTTP `Request-Id` request header is an optional and unofficial HTTP header, used to trace individual HTTP requests from the client to the server and back again. It allows the client and server to correlate each HTTP request. If not provided by the client, the server should generate a unique request ID and include it in the response.","schema":{}}],"responses":{"200":{"description":"The project change order has been successfully retrieved.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","example":"Success"},"data":{"$ref":"#/components/schemas/ReadChangeOrderDto"}}}}}},"400":{"description":"Bad request, Invalid input","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#bad-request"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"BAD_REQUEST"},"message":{"type":"string","example":"Bad request"}}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#unauthorized"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"UNAUTHORIZED"},"message":{"type":"string","example":"Unauthorized"}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#forbidden"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"FORBIDDEN"},"message":{"type":"string","example":"Forbidden"}}}}}}}}},"404":{"description":"Object not found","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#not-found"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"NOT_FOUND"},"message":{"type":"string","example":"Object not found"}}}}}}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#conflict"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"CONFLICT"},"message":{"type":"string","example":"Conflict"}}}}}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#internal-server-error"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"INTERNAL_SERVER_ERROR"},"message":{"type":"string","example":"Internal server error"}}}}}}}}}},"security":[{"CapmoAuth":[]}],"summary":"","tags":["Project Change Orders"]},"patch":{"description":"This can be used to update a specific project change order by its ID.","operationId":"updateChangeOrder","parameters":[{"name":"projectId","required":true,"in":"path","schema":{"type":"string"}},{"name":"changeOrderId","required":true,"in":"path","schema":{"type":"string"}},{"name":"Request-Id","in":"header","description":"The HTTP `Request-Id` request header is an optional and unofficial HTTP header, used to trace individual HTTP requests from the client to the server and back again. It allows the client and server to correlate each HTTP request. If not provided by the client, the server should generate a unique request ID and include it in the response.","schema":{}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateChangeOrderDto"}}}},"responses":{"200":{"description":"The project change order has been successfully updated.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","example":"Success"},"data":{"$ref":"#/components/schemas/ReadChangeOrderDto"}}}}}},"400":{"description":"Bad request, Invalid input","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#bad-request"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"BAD_REQUEST"},"message":{"type":"string","example":"Bad request"}}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#unauthorized"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"UNAUTHORIZED"},"message":{"type":"string","example":"Unauthorized"}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#forbidden"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"FORBIDDEN"},"message":{"type":"string","example":"Forbidden"}}}}}}}}},"404":{"description":"Object not found","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#not-found"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"NOT_FOUND"},"message":{"type":"string","example":"Object not found"}}}}}}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#conflict"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"CONFLICT"},"message":{"type":"string","example":"Conflict"}}}}}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#internal-server-error"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"INTERNAL_SERVER_ERROR"},"message":{"type":"string","example":"Internal server error"}}}}}}}}}},"security":[{"CapmoAuth":[]}],"summary":"","tags":["Project Change Orders"]},"delete":{"description":"This can be used to delete a specific project change order by its ID.","operationId":"deleteChangeOrder","parameters":[{"name":"projectId","required":true,"in":"path","schema":{"type":"string"}},{"name":"changeOrderId","required":true,"in":"path","schema":{"type":"string"}},{"name":"Request-Id","in":"header","description":"The HTTP `Request-Id` request header is an optional and unofficial HTTP header, used to trace individual HTTP requests from the client to the server and back again. It allows the client and server to correlate each HTTP request. If not provided by the client, the server should generate a unique request ID and include it in the response.","schema":{}}],"responses":{"200":{"description":"The project change order has been successfully deleted."},"400":{"description":"Bad request, Invalid input","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#bad-request"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"BAD_REQUEST"},"message":{"type":"string","example":"Bad request"}}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#unauthorized"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"UNAUTHORIZED"},"message":{"type":"string","example":"Unauthorized"}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#forbidden"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"FORBIDDEN"},"message":{"type":"string","example":"Forbidden"}}}}}}}}},"404":{"description":"Object not found","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#not-found"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"NOT_FOUND"},"message":{"type":"string","example":"Object not found"}}}}}}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#conflict"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"CONFLICT"},"message":{"type":"string","example":"Conflict"}}}}}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#internal-server-error"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"INTERNAL_SERVER_ERROR"},"message":{"type":"string","example":"Internal server error"}}}}}}}}}},"security":[{"CapmoAuth":[]}],"summary":"","tags":["Project Change Orders"]}},"/api/v1/sharepoint/sites/{siteId}/drives/{driveId}/items":{"get":{"description":"Returns files and folders for a SharePoint site/drive pair.\n\nThe drive must belong to the given site; mismatched site/drive IDs return 404.\n\nUse this to browse folders when selecting what to sync for a project.","operationId":"getSharePointDriveItems","parameters":[{"name":"siteId","required":true,"in":"path","schema":{"type":"string"}},{"name":"driveId","required":true,"in":"path","schema":{"type":"string"}},{"name":"folder_id","required":false,"in":"query","description":"When set, lists items inside this folder. Omit to list drive root items.","schema":{"example":"01Y3XGEQVO25RYYD2FB5DIAW47BOJYDJPY","type":"string"}},{"name":"Request-Id","in":"header","description":"The HTTP `Request-Id` request header is an optional and unofficial HTTP header, used to trace individual HTTP requests from the client to the server and back again. It allows the client and server to correlate each HTTP request. If not provided by the client, the server should generate a unique request ID and include it in the response.","schema":{}}],"responses":{"200":{"description":"SharePoint drive items were found.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","example":"Success"},"data":{"type":"array","items":{"$ref":"#/components/schemas/ReadSharePointDriveItemDto"}}}}}}},"400":{"description":"Bad request, Invalid input","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#bad-request"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"BAD_REQUEST"},"message":{"type":"string","example":"Bad request"}}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#unauthorized"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"UNAUTHORIZED"},"message":{"type":"string","example":"Unauthorized"}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#forbidden"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"FORBIDDEN"},"message":{"type":"string","example":"Forbidden"}}}}}}}}},"404":{"description":"Object not found","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#not-found"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"NOT_FOUND"},"message":{"type":"string","example":"Object not found"}}}}}}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#conflict"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"CONFLICT"},"message":{"type":"string","example":"Conflict"}}}}}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#internal-server-error"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"INTERNAL_SERVER_ERROR"},"message":{"type":"string","example":"Internal server error"}}}}}}}}}},"security":[{"CapmoAuth":[]}],"summary":"","tags":["SharePoint Integration"]}},"/api/v1/projects/{projectId}/integration-sync-configuration":{"get":{"description":"Returns the SharePoint document sync configuration for a project.\n\nReturns 404 when no configuration exists.","operationId":"getSharePointIntegrationSyncConfiguration","parameters":[{"name":"projectId","required":true,"in":"path","schema":{"type":"string"}},{"name":"Request-Id","in":"header","description":"The HTTP `Request-Id` request header is an optional and unofficial HTTP header, used to trace individual HTTP requests from the client to the server and back again. It allows the client and server to correlate each HTTP request. If not provided by the client, the server should generate a unique request ID and include it in the response.","schema":{}}],"responses":{"200":{"description":"SharePoint integration sync configuration was found.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","example":"Success"},"data":{"$ref":"#/components/schemas/ReadSharePointIntegrationSyncConfigurationDto"}}}}}},"400":{"description":"Bad request, Invalid input","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#bad-request"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"BAD_REQUEST"},"message":{"type":"string","example":"Bad request"}}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#unauthorized"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"UNAUTHORIZED"},"message":{"type":"string","example":"Unauthorized"}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#forbidden"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"FORBIDDEN"},"message":{"type":"string","example":"Forbidden"}}}}}}}}},"404":{"description":"Object not found","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#not-found"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"NOT_FOUND"},"message":{"type":"string","example":"Object not found"}}}}}}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#conflict"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"CONFLICT"},"message":{"type":"string","example":"Conflict"}}}}}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#internal-server-error"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"INTERNAL_SERVER_ERROR"},"message":{"type":"string","example":"Internal server error"}}}}}}}}}},"security":[{"CapmoAuth":[]}],"summary":"","tags":["SharePoint Integration"]},"post":{"description":"Creates SharePoint document sync configuration for a project.\n\nThe provider is inferred server-side. Selected folders are validated and an initial sync is enqueued on success.","operationId":"createSharePointIntegrationSyncConfiguration","parameters":[{"name":"projectId","required":true,"in":"path","schema":{"type":"string"}},{"name":"Request-Id","in":"header","description":"The HTTP `Request-Id` request header is an optional and unofficial HTTP header, used to trace individual HTTP requests from the client to the server and back again. It allows the client and server to correlate each HTTP request. If not provided by the client, the server should generate a unique request ID and include it in the response.","schema":{}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateSharePointIntegrationSyncConfigurationDto"}}}},"responses":{"201":{"description":"SharePoint integration sync configuration was created.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","example":"Success"},"data":{"$ref":"#/components/schemas/ReadSharePointIntegrationSyncConfigurationDto"}}}}}},"400":{"description":"Bad request, Invalid input","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#bad-request"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"BAD_REQUEST"},"message":{"type":"string","example":"Bad request"}}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#unauthorized"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"UNAUTHORIZED"},"message":{"type":"string","example":"Unauthorized"}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#forbidden"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"FORBIDDEN"},"message":{"type":"string","example":"Forbidden"}}}}}}}}},"404":{"description":"Object not found","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#not-found"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"NOT_FOUND"},"message":{"type":"string","example":"Object not found"}}}}}}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#conflict"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"CONFLICT"},"message":{"type":"string","example":"Conflict"}}}}}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#internal-server-error"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"INTERNAL_SERVER_ERROR"},"message":{"type":"string","example":"Internal server error"}}}}}}}}}},"security":[{"CapmoAuth":[]}],"summary":"","tags":["SharePoint Integration"]},"patch":{"description":"Updates SharePoint document sync folders for a project.\n\nSite and drive cannot be changed. Added or removed folders trigger sync reconciliation.","operationId":"updateSharePointIntegrationSyncConfiguration","parameters":[{"name":"projectId","required":true,"in":"path","schema":{"type":"string"}},{"name":"Request-Id","in":"header","description":"The HTTP `Request-Id` request header is an optional and unofficial HTTP header, used to trace individual HTTP requests from the client to the server and back again. It allows the client and server to correlate each HTTP request. If not provided by the client, the server should generate a unique request ID and include it in the response.","schema":{}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateSharePointIntegrationSyncConfigurationDto"}}}},"responses":{"200":{"description":"SharePoint integration sync configuration was updated.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","example":"Success"},"data":{"$ref":"#/components/schemas/ReadSharePointIntegrationSyncConfigurationDto"}}}}}},"400":{"description":"Bad request, Invalid input","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#bad-request"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"BAD_REQUEST"},"message":{"type":"string","example":"Bad request"}}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#unauthorized"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"UNAUTHORIZED"},"message":{"type":"string","example":"Unauthorized"}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#forbidden"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"FORBIDDEN"},"message":{"type":"string","example":"Forbidden"}}}}}}}}},"404":{"description":"Object not found","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#not-found"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"NOT_FOUND"},"message":{"type":"string","example":"Object not found"}}}}}}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#conflict"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"CONFLICT"},"message":{"type":"string","example":"Conflict"}}}}}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#internal-server-error"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"INTERNAL_SERVER_ERROR"},"message":{"type":"string","example":"Internal server error"}}}}}}}}}},"security":[{"CapmoAuth":[]}],"summary":"","tags":["SharePoint Integration"]},"delete":{"description":"Deletes SharePoint document sync configuration for a project.\n\nRemoves the associated CDE integration folder and disables sync operations.","operationId":"deleteSharePointIntegrationSyncConfiguration","parameters":[{"name":"projectId","required":true,"in":"path","schema":{"type":"string"}},{"name":"Request-Id","in":"header","description":"The HTTP `Request-Id` request header is an optional and unofficial HTTP header, used to trace individual HTTP requests from the client to the server and back again. It allows the client and server to correlate each HTTP request. If not provided by the client, the server should generate a unique request ID and include it in the response.","schema":{}}],"responses":{"200":{"description":"SharePoint integration sync configuration was deleted."},"400":{"description":"Bad request, Invalid input","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#bad-request"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"BAD_REQUEST"},"message":{"type":"string","example":"Bad request"}}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#unauthorized"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"UNAUTHORIZED"},"message":{"type":"string","example":"Unauthorized"}}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#forbidden"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"FORBIDDEN"},"message":{"type":"string","example":"Forbidden"}}}}}}}}},"404":{"description":"Object not found","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#not-found"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"NOT_FOUND"},"message":{"type":"string","example":"Object not found"}}}}}}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#conflict"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"CONFLICT"},"message":{"type":"string","example":"Conflict"}}}}}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","example":"https://capmoapi.readme.io/reference/errors#internal-server-error"},"message":{"type":"string","example":"An error occurred"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"INTERNAL_SERVER_ERROR"},"message":{"type":"string","example":"Internal server error"}}}}}}}}}},"security":[{"CapmoAuth":[]}],"summary":"","tags":["SharePoint Integration"]}}},"info":{"title":"Capmo REST API","description":"External REST API Documentation for Capmo","version":"1.0","contact":{}},"tags":[{"name":"Organisation People","description":""},{"name":"Organisation Companies","description":""},{"name":"Organisation Memberships","description":""},{"name":"Organisation Projects","description":""},{"name":"Project Templates","description":""},{"name":"Projects","description":""},{"name":"Project People","description":""},{"name":"Project Companies","description":""},{"name":"Project Memberships","description":""},{"name":"Project Permission Sets","description":""},{"name":"Project Documents","description":""},{"name":"Project Plans","description":""},{"name":"Project Tickets","description":""},{"name":"Project Ticket Categories","description":""},{"name":"Project Ticket Types","description":""},{"name":"Project Ticket Tags","description":""},{"name":"Project Ticket Comments","description":""},{"name":"Project Ticket Attachments","description":""},{"name":"Project Room Listings","description":""},{"name":"Project Site Journals","description":""},{"name":"Project Change Orders","description":""},{"name":"SharePoint Integration","description":""},{"name":"Uploads","description":""},{"name":"Other","description":""}],"servers":[{"url":"https://api.capmo.de","description":"Production"}],"components":{"securitySchemes":{"CapmoAuth":{"type":"apiKey","in":"header","name":"Authorization","description":"For authentication, use the custom prefix followed by a space and then your API key. Example: \"Capmo YOUR_API_KEY\"."}},"schemas":{"PaginatedOutputDto":{"type":"object","properties":{"after":{"type":"string","example":null},"count":{"type":"number","example":1},"total":{"type":"number","example":1}},"required":["after","count","total"]},"ReadDocumentFileUploadDto":{"type":"object","properties":{"upload_url":{"type":"string","example":"https://example.com/upload-url","description":"The upload URL for the file."},"data_path":{"type":"string","example":"tmp/d53e8d26-ed1e-11ee-82f7-df9b7663c64f/0a963a56-d21f-40e7-bf1f-36c0f5b1cafb","description":"The unique identifier of the file."},"expires":{"type":"number","example":3600,"description":"The expiration time in seconds of the upload URL."},"fields":{"type":"object","description":"Additional fields required for the upload.","example":{"Content-Type":"application/pdf","bucket":"<bucket-name>","X-Amz-Algorithm":"AWS4-HMAC-SHA256","X-Amz-Credential":"<string>","X-Amz-Date":"20240429T034549Z","X-Amz-Security-Token":"<string>","key":"tmp/9357781c-05da-11ef-9539-7b47b1fda975/eae0751a-9e89-4ff3-98a9-d4cb31f2a792","Policy":"<string>","X-Amz-Signature":"<string>"}}},"required":["upload_url","data_path","expires","fields"]},"ReadPlanFileUploadDto":{"type":"object","properties":{"upload_url":{"type":"string","example":"https://example.com/upload-url","description":"The upload URL for the file."},"data_path":{"type":"string","example":"tmp/d53e8d26-ed1e-11ee-82f7-df9b7663c64f/0a963a56-d21f-40e7-bf1f-36c0f5b1cafb","description":"The unique identifier of the file."},"expires":{"type":"number","example":3600,"description":"The expiration time in seconds of the upload URL."},"fields":{"type":"object","description":"Additional fields required for the upload.","example":{"Content-Type":"application/pdf","bucket":"<bucket-name>","X-Amz-Algorithm":"AWS4-HMAC-SHA256","X-Amz-Credential":"<string>","X-Amz-Date":"20240429T034549Z","X-Amz-Security-Token":"<string>","key":"tmp/9357781c-05da-11ef-9539-7b47b1fda975/eae0751a-9e89-4ff3-98a9-d4cb31f2a792","Policy":"<string>","X-Amz-Signature":"<string>"}}},"required":["upload_url","data_path","expires","fields"]},"ReadTicketAttachmentUploadDto":{"type":"object","properties":{"upload_url":{"type":"string","example":"https://example.com/upload-url","description":"The upload URL for the file."},"data_path":{"type":"string","example":"tmp/d53e8d26-ed1e-11ee-82f7-df9b7663c64f/0a963a56-d21f-40e7-bf1f-36c0f5b1cafb","description":"The unique identifier of the file."},"expires":{"type":"number","example":3600,"description":"The expiration time in seconds of the upload URL."},"fields":{"type":"object","description":"Additional fields required for the upload.","example":{"Content-Type":"application/pdf","bucket":"<bucket-name>","X-Amz-Algorithm":"AWS4-HMAC-SHA256","X-Amz-Credential":"<string>","X-Amz-Date":"20240429T034549Z","X-Amz-Security-Token":"<string>","key":"tmp/9357781c-05da-11ef-9539-7b47b1fda975/eae0751a-9e89-4ff3-98a9-d4cb31f2a792","Policy":"<string>","X-Amz-Signature":"<string>"}}},"required":["upload_url","data_path","expires","fields"]},"WriteDocumentFileUploadDto":{"type":"object","properties":{"mime_type":{"type":"string","nullable":true,"description":"The mime type of the file.","example":"application/pdf"}},"required":["mime_type"]},"WritePlanFileUploadDto":{"type":"object","properties":{"name":{"type":"string","example":"A-2-EG2.pdf","description":"The name of the file, including the file extension."}},"required":["name"]},"WriteTicketAttachmentUploadDto":{"type":"object","properties":{"name":{"type":"string","example":"A-2-EG2.pdf","description":"The name of the file, including the file extension."}},"required":["name"]},"ProjectStatus":{"type":"string","enum":["PROJECT_PREPARATION","PLANNING","EXECUTION_PREPARATION","EXECUTION","PROJECT_COMPLETION","COMPLETED","DEFECTS_LIABILITY"],"description":"The phase of the project."},"ProjectContactType":{"type":"string","enum":["FreeText","ContactBookPerson","ContactBookCompany"],"description":"The type of the project owner reference."},"ProjectType":{"type":"string","enum":["NEW_CONSTRUCTION","ALTERATION","REFURBISHMENT"],"description":"The type of construction project."},"BuildingType":{"type":"string","enum":["RESIDENTIAL_BUILDINGS","OFFICE_BUILDINGS","COMMERCIAL_RETAIL","INDUSTRIAL_MANUFACTURING","LOGISTICS_WAREHOUSING","HOTELS_HOSPITALITY","HEALTHCARE_NURSING","EDUCATION","PUBLIC_BUILDINGS","MIXED_USE","OTHER_SPECIAL_STRUCTURES"],"description":"The type of building being constructed."},"ReadProjectDto":{"type":"object","properties":{"source_id":{"type":"string","description":"The unique identifier of the source. This is a user-generated string. You can use this to link the person to a resource in an external system.","example":"123e4567-e89b-12d3-a456-426614174000"},"created_by":{"type":"string","nullable":true,"example":"123e4567-e89b-12d3-a456-426614174000","description":"The unique identifier of the creator of the entity."},"updated_by":{"type":"string","example":"123e4567-e89b-12d3-a456-426614174000","nullable":true,"description":"The unique identifier of the last user who updated the entity."},"created_at":{"type":"string","format":"date-time","example":"2021-07-01T00:00:00.000Z","description":"The date when the entity was created (on the client)."},"updated_at":{"type":"string","format":"date-time","example":"2021-07-01T00:00:00.000Z","description":"The date when the entity was last updated (on the client)."},"deleted_at":{"type":"string","nullable":true,"format":"date-time","example":"2021-07-01T00:00:00.000Z","description":"The date when the entity was deleted (on the client)."},"server_created_at":{"type":"string","format":"date-time","example":"2021-07-01T00:00:00.000Z","description":"The date when the entity was created (on the server)."},"server_updated_at":{"type":"string","format":"date-time","example":"2021-07-01T00:00:00.000Z","description":"The date when the entity was last updated (on the server)."},"server_deleted_at":{"type":"string","nullable":true,"format":"date-time","example":"2021-07-01T00:00:00.000Z","description":"The date when the entity was deleted (on the server)."},"id":{"type":"string","example":"123e4567-e89b-12d3-a456-426614174000","description":"The unique identifier of the project."},"name":{"type":"string","example":"Berlin Data Center Campus (BER1)","description":"The name of the project."},"owner":{"type":"string","nullable":true,"example":"Vantage Data Centers","description":"The owner of the project."},"address":{"type":"string","example":"Brandenburg Park, Uferring 5, Ludwigsfelde, Germany","description":"The address of the project."},"owner_organisation_id":{"type":"string","example":"123e4567-e89b-12d3-a456-426614174000","description":"The unique identifier of the owner organisation."},"latitude":{"type":"number","nullable":true,"example":52.3220832,"description":"The latitude of the project."},"longitude":{"type":"number","nullable":true,"example":13.2922907,"description":"The longitude of the project."},"is_archived":{"type":"boolean","example":false,"description":"The archived status of the project."},"project_key":{"type":"string","example":"BER1","description":"The project key. This is a short string that identifies the project. It must be at least 1 character(s) long, and at most 12 characters long and may only consist of numbers and letters"},"project_status":{"example":"PROJECT_PREPARATION","nullable":true,"description":"The phase of the project.","allOf":[{"$ref":"#/components/schemas/ProjectStatus"}]},"project_volume":{"type":"integer","nullable":true,"example":500000000,"description":"The volume of the project (in Euros)."},"approved_additions_sum":{"type":"integer","nullable":true,"example":50000,"description":"Sum of approved Change Orders (in Euros)."},"owner_type":{"nullable":true,"example":"FreeText","description":"The type of the project owner reference.","allOf":[{"$ref":"#/components/schemas/ProjectContactType"}]},"owner_person_id":{"type":"string","format":"uuid","nullable":true,"example":"123e4567-e89b-12d3-a456-426614174000","description":"The ID of the person from the organisation contact book linked as owner."},"owner_company_id":{"type":"string","format":"uuid","nullable":true,"example":"123e4567-e89b-12d3-a456-426614174000","description":"The ID of the company from the organisation contact book linked as owner."},"client":{"type":"string","nullable":true,"example":"Munich Construction GmbH","description":"The client of the project."},"client_type":{"nullable":true,"example":"FreeText","description":"The type of the project client reference.","allOf":[{"$ref":"#/components/schemas/ProjectContactType"}]},"client_person_id":{"type":"string","format":"uuid","nullable":true,"example":"123e4567-e89b-12d3-a456-426614174000","description":"The ID of the person from the organisation contact book linked as client."},"client_company_id":{"type":"string","format":"uuid","nullable":true,"example":"123e4567-e89b-12d3-a456-426614174000","description":"The ID of the company from the organisation contact book linked as client."},"main_responsible":{"type":"string","nullable":true,"example":"Max Mustermann","description":"The main responsible person of the project."},"responsible_contact_id":{"type":"string","format":"uuid","nullable":true,"example":"123e4567-e89b-12d3-a456-426614174000","description":"The ID of the person from the project contact book assigned as main responsible."},"project_type":{"nullable":true,"example":"NEW_CONSTRUCTION","description":"The type of construction project.","allOf":[{"$ref":"#/components/schemas/ProjectType"}]},"building_type":{"nullable":true,"example":"RESIDENTIAL_BUILDINGS","description":"The type of building being constructed.","allOf":[{"$ref":"#/components/schemas/BuildingType"}]},"start_date":{"type":"string","format":"date-time","example":"2021-07-01T00:00:00.000Z","description":"The start date of the project."},"end_date":{"type":"string","nullable":true,"format":"date-time","example":"2021-07-01T00:00:00.000Z","description":"The planned end date of the project."}},"required":["created_by","updated_by","created_at","updated_at","deleted_at","server_created_at","server_updated_at","server_deleted_at","id","name","owner","address","owner_organisation_id","latitude","longitude","is_archived","project_key","project_status","project_volume","approved_additions_sum","owner_type","owner_person_id","owner_company_id","client","client_type","client_person_id","client_company_id","main_responsible","responsible_contact_id","project_type","building_type","start_date","end_date"]},"CreateProjectDto":{"type":"object","properties":{"source_id":{"type":"string","description":"The unique identifier of the source. This is a user-generated string. You can use this to link the person to a resource in an external system.","example":"123e4567-e89b-12d3-a456-426614174000"},"name":{"type":"string","description":"The name of the project. Must be 128 characters or less.","maxLength":128,"example":"Berlin Data Center Campus (BER1)"},"owner":{"type":"string","description":"The owner of the project. Must be 255 characters or less.","maxLength":255,"example":"Vantage Data Centers"},"address":{"type":"string","description":"The address of the project. Must be between 6 and 128 characters long.","minLength":6,"maxLength":128,"example":"Brandenburg Park, Uferring 5, Ludwigsfelde, Germany"},"latitude":{"type":"number","description":"The latitude of the project. This is used to compute for instance the weather conditions on the project site.","example":52.3220832},"longitude":{"type":"number","description":"The longitude of the project. This is used to compute the weather conditions.","example":13.2922907},"project_key":{"type":"string","description":"The project key. This is a short string that identifies the project. It must be at least 1 character(s) long, and at most 12 characters long & may only consist of numbers and letters.","minLength":1,"maxLength":12,"pattern":"^[a-zA-Z0-9]+$","example":"BER1"},"project_volume":{"type":"integer","description":"The volume of the project (in Euros). Must be a positive integer.","minimum":1,"example":500000000},"project_status":{"example":"PROJECT_PREPARATION","nullable":true,"description":"The phase of the project.","allOf":[{"$ref":"#/components/schemas/ProjectStatus"}]},"start_date":{"type":"string","description":"The start date of the project (in ISO8601 format). Must be between 2010-01-01 and 2039-12-31.","format":"date-time","example":"2021-07-01T00:00:00.000Z"},"end_date":{"type":"string","nullable":true,"description":"The planned end date of the project (in ISO8601 format). Must be between 2010-01-01 and 2039-12-31.","format":"date-time","example":"2021-07-01T00:00:00.000Z"},"owner_person_id":{"type":"string","format":"uuid","nullable":true,"example":"123e4567-e89b-12d3-a456-426614174000","description":"Links the project owner to a person from the organisation contact book. Mutually exclusive with `owner_company_id`. Takes precedence over `owner` (free text) when provided."},"owner_company_id":{"type":"string","format":"uuid","nullable":true,"example":"123e4567-e89b-12d3-a456-426614174000","description":"Links the project owner to a company from the organisation contact book. Mutually exclusive with `owner_person_id`. Takes precedence over `owner` (free text) when provided."},"client":{"type":"string","nullable":true,"maxLength":255,"example":"Munich Construction GmbH","description":"The client of the project (free text). Must be 255 characters or less."},"client_person_id":{"type":"string","format":"uuid","nullable":true,"example":"123e4567-e89b-12d3-a456-426614174000","description":"Links the project client to a person from the organisation contact book. Mutually exclusive with `client_company_id`. Takes precedence over `client` (free text) when provided."},"client_company_id":{"type":"string","format":"uuid","nullable":true,"example":"123e4567-e89b-12d3-a456-426614174000","description":"Links the project client to a company from the organisation contact book. Mutually exclusive with `client_person_id`. Takes precedence over `client` (free text) when provided."},"project_type":{"nullable":true,"example":"NEW_CONSTRUCTION","description":"The type of construction project.","allOf":[{"$ref":"#/components/schemas/ProjectType"}]},"building_type":{"nullable":true,"example":"RESIDENTIAL_BUILDINGS","description":"The type of building being constructed.","allOf":[{"$ref":"#/components/schemas/BuildingType"}]},"project_template_id":{"type":"string","description":"The unique identifier of the project template. This is used to create a project from a project template. If not provided, the project will be created from scratch. This is mandatory if there is an organisation-level requirement to create projects from project templates only.","example":"224b4499-1c67-4315-9749-3d928d25ce2d"}},"required":["name","address","project_volume"]},"UpdateProjectDto":{"type":"object","properties":{"source_id":{"type":"string","description":"The unique identifier of the source. This is a user-generated string. You can use this to link the person to a resource in an external system.","example":"123e4567-e89b-12d3-a456-426614174000"},"name":{"type":"string","description":"The name of the project. Must be 128 characters or less.","maxLength":128,"example":"Berlin Data Center Campus (BER1)"},"owner":{"type":"string","description":"The owner of the project. Must be 255 characters or less.","maxLength":255,"example":"Vantage Data Centers"},"address":{"type":"string","description":"The address of the project. Must be between 6 and 128 characters long.","minLength":6,"maxLength":128,"example":"Brandenburg Park, Uferring 5, Ludwigsfelde, Germany"},"latitude":{"type":"number","description":"The latitude of the project. This is used to compute for instance the weather conditions on the project site.","example":52.3220832},"longitude":{"type":"number","description":"The longitude of the project. This is used to compute the weather conditions.","example":13.2922907},"project_key":{"type":"string","description":"The project key. This is a short string that identifies the project. It must be at least 1 character(s) long, and at most 12 characters long & may only consist of numbers and letters.","minLength":1,"maxLength":12,"pattern":"^[a-zA-Z0-9]+$","example":"BER1"},"project_volume":{"type":"integer","description":"The volume of the project (in Euros). Must be a positive integer.","minimum":1,"example":500000000},"project_status":{"example":"PROJECT_PREPARATION","nullable":true,"description":"The phase of the project.","allOf":[{"$ref":"#/components/schemas/ProjectStatus"}]},"start_date":{"type":"string","description":"The start date of the project (in ISO8601 format). Must be between 2010-01-01 and 2039-12-31.","format":"date-time","example":"2021-07-01T00:00:00.000Z"},"end_date":{"type":"string","nullable":true,"description":"The planned end date of the project (in ISO8601 format). Must be between 2010-01-01 and 2039-12-31.","format":"date-time","example":"2021-07-01T00:00:00.000Z"},"owner_person_id":{"type":"string","format":"uuid","nullable":true,"example":"123e4567-e89b-12d3-a456-426614174000","description":"Links the project owner to a person from the organisation contact book. Mutually exclusive with `owner_company_id`. Takes precedence over `owner` (free text) when provided."},"owner_company_id":{"type":"string","format":"uuid","nullable":true,"example":"123e4567-e89b-12d3-a456-426614174000","description":"Links the project owner to a company from the organisation contact book. Mutually exclusive with `owner_person_id`. Takes precedence over `owner` (free text) when provided."},"client":{"type":"string","nullable":true,"maxLength":255,"example":"Munich Construction GmbH","description":"The client of the project (free text). Must be 255 characters or less."},"client_person_id":{"type":"string","format":"uuid","nullable":true,"example":"123e4567-e89b-12d3-a456-426614174000","description":"Links the project client to a person from the organisation contact book. Mutually exclusive with `client_company_id`. Takes precedence over `client` (free text) when provided."},"client_company_id":{"type":"string","format":"uuid","nullable":true,"example":"123e4567-e89b-12d3-a456-426614174000","description":"Links the project client to a company from the organisation contact book. Mutually exclusive with `client_person_id`. Takes precedence over `client` (free text) when provided."},"project_type":{"nullable":true,"example":"NEW_CONSTRUCTION","description":"The type of construction project.","allOf":[{"$ref":"#/components/schemas/ProjectType"}]},"building_type":{"nullable":true,"example":"RESIDENTIAL_BUILDINGS","description":"The type of building being constructed.","allOf":[{"$ref":"#/components/schemas/BuildingType"}]},"responsible_contact_id":{"type":"string","format":"uuid","nullable":true,"example":"123e4567-e89b-12d3-a456-426614174000","description":"The ID of the person from the project contact book responsible for the project. Must be a project member with active membership."},"approved_additions_sum":{"type":"integer","nullable":true,"minimum":1,"example":50000,"description":"Sum of approved additions (in Euros). Must be a positive integer."}}},"ReadProjectTemplateDto":{"type":"object","properties":{"source_id":{"type":"string","description":"The unique identifier of the source. This is a user-generated string. You can use this to link the person to a resource in an external system.","example":"123e4567-e89b-12d3-a456-426614174000"},"created_by":{"type":"string","nullable":true,"example":"123e4567-e89b-12d3-a456-426614174000","description":"The unique identifier of the creator of the entity."},"updated_by":{"type":"string","example":"123e4567-e89b-12d3-a456-426614174000","nullable":true,"description":"The unique identifier of the last user who updated the entity."},"created_at":{"type":"string","format":"date-time","example":"2021-07-01T00:00:00.000Z","description":"The date when the entity was created (on the client)."},"updated_at":{"type":"string","format":"date-time","example":"2021-07-01T00:00:00.000Z","description":"The date when the entity was last updated (on the client)."},"deleted_at":{"type":"string","nullable":true,"format":"date-time","example":"2021-07-01T00:00:00.000Z","description":"The date when the entity was deleted (on the client)."},"server_created_at":{"type":"string","format":"date-time","example":"2021-07-01T00:00:00.000Z","description":"The date when the entity was created (on the server)."},"server_updated_at":{"type":"string","format":"date-time","example":"2021-07-01T00:00:00.000Z","description":"The date when the entity was last updated (on the server)."},"server_deleted_at":{"type":"string","nullable":true,"format":"date-time","example":"2021-07-01T00:00:00.000Z","description":"The date when the entity was deleted (on the server)."},"id":{"type":"string","example":"123e4567-e89b-12d3-a456-426614174000","description":"The unique identifier of the project."},"name":{"type":"string","example":"Berlin Data Center Campus (BER1)","description":"The name of the project."},"owner":{"type":"string","nullable":true,"example":"Vantage Data Centers","description":"The owner of the project."},"address":{"type":"string","example":"Brandenburg Park, Uferring 5, Ludwigsfelde, Germany","description":"The address of the project."},"owner_organisation_id":{"type":"string","example":"123e4567-e89b-12d3-a456-426614174000","description":"The unique identifier of the owner organisation."},"latitude":{"type":"number","nullable":true,"example":52.3220832,"description":"The latitude of the project."},"longitude":{"type":"number","nullable":true,"example":13.2922907,"description":"The longitude of the project."},"is_archived":{"type":"boolean","example":false,"description":"The archived status of the project."},"project_key":{"type":"string","example":"BER1","description":"The project key. This is a short string that identifies the project. It must be at least 1 character(s) long, and at most 12 characters long and may only consist of numbers and letters"},"project_status":{"example":"PROJECT_PREPARATION","nullable":true,"description":"The phase of the project.","allOf":[{"$ref":"#/components/schemas/ProjectStatus"}]},"project_volume":{"type":"integer","nullable":true,"example":500000000,"description":"The volume of the project (in Euros)."},"owner_type":{"nullable":true,"example":"FreeText","description":"The type of the project owner reference.","allOf":[{"$ref":"#/components/schemas/ProjectContactType"}]},"owner_person_id":{"type":"string","format":"uuid","nullable":true,"example":"123e4567-e89b-12d3-a456-426614174000","description":"The ID of the person from the organisation contact book linked as owner."},"owner_company_id":{"type":"string","format":"uuid","nullable":true,"example":"123e4567-e89b-12d3-a456-426614174000","description":"The ID of the company from the organisation contact book linked as owner."},"client":{"type":"string","nullable":true,"example":"Munich Construction GmbH","description":"The client of the project."},"client_type":{"nullable":true,"example":"FreeText","description":"The type of the project client reference.","allOf":[{"$ref":"#/components/schemas/ProjectContactType"}]},"client_person_id":{"type":"string","format":"uuid","nullable":true,"example":"123e4567-e89b-12d3-a456-426614174000","description":"The ID of the person from the organisation contact book linked as client."},"client_company_id":{"type":"string","format":"uuid","nullable":true,"example":"123e4567-e89b-12d3-a456-426614174000","description":"The ID of the company from the organisation contact book linked as client."},"project_type":{"nullable":true,"example":"NEW_CONSTRUCTION","description":"The type of construction project.","allOf":[{"$ref":"#/components/schemas/ProjectType"}]},"building_type":{"nullable":true,"example":"RESIDENTIAL_BUILDINGS","description":"The type of building being constructed.","allOf":[{"$ref":"#/components/schemas/BuildingType"}]},"start_date":{"type":"string","format":"date-time","example":"2021-07-01T00:00:00.000Z","description":"The start date of the project."},"end_date":{"type":"string","nullable":true,"format":"date-time","example":"2021-07-01T00:00:00.000Z","description":"The planned end date of the project."}},"required":["created_by","updated_by","created_at","updated_at","deleted_at","server_created_at","server_updated_at","server_deleted_at","id","name","owner","address","owner_organisation_id","latitude","longitude","is_archived","project_key","project_status","project_volume","owner_type","owner_person_id","owner_company_id","client","client_type","client_person_id","client_company_id","project_type","building_type","start_date","end_date"]},"ReadOrganisationPersonDto":{"type":"object","properties":{"source_id":{"type":"string","description":"The unique identifier of the source. This is a user-generated string. You can use this to link the person to a resource in an external system.","example":"123e4567-e89b-12d3-a456-426614174000"},"created_by":{"type":"string","nullable":true,"example":"123e4567-e89b-12d3-a456-426614174000","description":"The unique identifier of the creator of the entity."},"updated_by":{"type":"string","example":"123e4567-e89b-12d3-a456-426614174000","nullable":true,"description":"The unique identifier of the last user who updated the entity."},"created_at":{"type":"string","format":"date-time","example":"2021-07-01T00:00:00.000Z","description":"The date when the entity was created (on the client)."},"updated_at":{"type":"string","format":"date-time","example":"2021-07-01T00:00:00.000Z","description":"The date when the entity was last updated (on the client)."},"deleted_at":{"type":"string","nullable":true,"format":"date-time","example":"2021-07-01T00:00:00.000Z","description":"The date when the entity was deleted (on the client)."},"server_created_at":{"type":"string","format":"date-time","example":"2021-07-01T00:00:00.000Z","description":"The date when the entity was created (on the server)."},"server_updated_at":{"type":"string","format":"date-time","example":"2021-07-01T00:00:00.000Z","description":"The date when the entity was last updated (on the server)."},"server_deleted_at":{"type":"string","nullable":true,"format":"date-time","example":"2021-07-01T00:00:00.000Z","description":"The date when the entity was deleted (on the server)."},"id":{"type":"string","example":"123e4567-e89b-12d3-a456-426614174000","description":"The unique identifier of the person."},"first_name":{"type":"string","example":"John","description":"The first name of the person."},"last_name":{"type":"string","example":"Doe","description":"The last name of the person."},"email":{"type":"string","example":"john.doe@example.com","description":"The email address of the person."},"position":{"type":"string","nullable":true,"example":"accountant","description":"The position of the person."},"phone_number":{"type":"string","nullable":true,"example":"+491764445566","description":"The phone number of the person. It consists of between 1 and 15 digits and an optional leading \"+\" character."},"company_id":{"type":"string","nullable":true,"example":"123e4567-e89b-12d3-a456-426614174000","description":"The company ID assigned to the person."},"membership_id":{"type":"string","nullable":true,"example":"123e4567-e89b-12d3-a456-426614174000","description":"The organisation membership ID of to the person. If given, the person is a member of the organisation."}},"required":["created_by","updated_by","created_at","updated_at","deleted_at","server_created_at","server_updated_at","server_deleted_at","id","first_name","last_name","email","position","phone_number","company_id","membership_id"]},"CreateOrganisationPersonDto":{"type":"object","properties":{"source_id":{"type":"string","description":"The unique identifier of the source. This is a user-generated string. You can use this to link the person to a resource in an external system.","example":"123e4567-e89b-12d3-a456-426614174000"},"first_name":{"type":"string","description":"The first name of the person.","example":"John","maxLength":255},"last_name":{"type":"string","description":"The last name of the person.","example":"Doe","maxLength":255},"email":{"type":"string","description":"The email address of the person.","example":"john.doe@example.com","maxLength":255},"position":{"type":"string","description":"The position of the person.","example":"accountant","maxLength":255},"phone_number":{"type":"string","description":"The phone number of the person. It must consist of between 1 and 15 digits and an optional leading \"+\" character.","example":"+491764445566"},"company_id":{"type":"string","description":"The company ID assigned to the person.","example":"123e4567-e89b-12d3-a456-426614174000"}},"required":["first_name","last_name","email"]},"UpdateOrganisationPersonDto":{"type":"object","properties":{"source_id":{"type":"string","description":"The unique identifier of the source. This is a user-generated string. You can use this to link the person to a resource in an external system.","example":"123e4567-e89b-12d3-a456-426614174000"},"first_name":{"type":"string","description":"The first name of the person.","example":"John","maxLength":255},"last_name":{"type":"string","description":"The last name of the person.","example":"Doe","maxLength":255},"email":{"type":"string","description":"The email address of the person.","example":"john.doe@example.com","maxLength":255},"position":{"type":"string","description":"The position of the person.","example":"accountant","maxLength":255},"phone_number":{"type":"string","description":"The phone number of the person. It must consist of between 1 and 15 digits and an optional leading \"+\" character.","example":"+491764445566"},"company_id":{"type":"string","description":"The company ID assigned to the person.","example":"123e4567-e89b-12d3-a456-426614174000"}}},"ReadOrganisationCompanyDto":{"type":"object","properties":{"source_id":{"type":"string","description":"The unique identifier of the source. This is a user-generated string. You can use this to link the person to a resource in an external system.","example":"123e4567-e89b-12d3-a456-426614174000"},"created_by":{"type":"string","nullable":true,"example":"123e4567-e89b-12d3-a456-426614174000","description":"The unique identifier of the creator of the entity."},"updated_by":{"type":"string","example":"123e4567-e89b-12d3-a456-426614174000","nullable":true,"description":"The unique identifier of the last user who updated the entity."},"created_at":{"type":"string","format":"date-time","example":"2021-07-01T00:00:00.000Z","description":"The date when the entity was created (on the client)."},"updated_at":{"type":"string","format":"date-time","example":"2021-07-01T00:00:00.000Z","description":"The date when the entity was last updated (on the client)."},"deleted_at":{"type":"string","nullable":true,"format":"date-time","example":"2021-07-01T00:00:00.000Z","description":"The date when the entity was deleted (on the client)."},"server_created_at":{"type":"string","format":"date-time","example":"2021-07-01T00:00:00.000Z","description":"The date when the entity was created (on the server)."},"server_updated_at":{"type":"string","format":"date-time","example":"2021-07-01T00:00:00.000Z","description":"The date when the entity was last updated (on the server)."},"server_deleted_at":{"type":"string","nullable":true,"format":"date-time","example":"2021-07-01T00:00:00.000Z","description":"The date when the entity was deleted (on the server)."},"id":{"type":"string","example":"123e4567-e89b-12d3-a456-426614174000","description":"The unique identifier of the company."},"name":{"type":"string","example":"Capmo","description":"The name of the company."},"address_street":{"type":"string","nullable":true,"example":"Ridlerstraße 39","description":"The address (street) of the company."},"address_zip_code":{"type":"string","nullable":true,"example":"80339","description":"The address (zip code) of the company."},"address_city":{"type":"string","nullable":true,"example":"Munich","description":"The address (city) of the company."},"address_country":{"type":"string","nullable":true,"example":"DE","description":"The address (country) of the company. It is an ISO 3166-1 alpha-2 country code."},"tax_id":{"type":"string","nullable":true,"example":"123456","description":"The tax ID of the company."},"phone_number":{"type":"string","nullable":true,"example":"+491764445566","description":"The phone number of the company. It consists of between 1 and 15 digits and an optional leading \"+\" character."},"people_ids":{"type":"array","items":{"type":"string"},"example":["123e4567-e89b-12d3-a456-426614174000","123e4567-e89b-12d3-a456-426614174001","123e4567-e89b-12d3-a456-426614174002"],"description":"The people IDs assigned to the company."}},"required":["created_by","updated_by","created_at","updated_at","deleted_at","server_created_at","server_updated_at","server_deleted_at","id","name","address_street","address_zip_code","address_city","address_country","tax_id","phone_number","people_ids"]},"CreateOrganisationCompanyDto":{"type":"object","properties":{"source_id":{"type":"string","description":"The unique identifier of the source. This is a user-generated string. You can use this to link the person to a resource in an external system.","example":"123e4567-e89b-12d3-a456-426614174000"},"name":{"type":"string","description":"The name of the company.","example":"Capmo","maxLength":255},"address_street":{"type":"string","description":"The address (street) of the company.","example":"Ridlerstraße 39","maxLength":255},"address_zip_code":{"type":"string","description":"The address (zip code) of the company.","example":"80339","maxLength":255},"address_city":{"type":"string","description":"The address (city) of the company.","example":"Munich","maxLength":255},"address_country":{"type":"string","description":"The address (country) of the company. It is an ISO 3166-1 alpha-2 country code.","example":"DE","maxLength":255},"tax_id":{"type":"string","description":"The tax ID of the company.","example":"123456","maxLength":255},"phone_number":{"type":"string","description":"The phone number of the company. It must consist of between 1 and 15 digits and an optional leading \"+\" character","example":"+491764445566"},"person_id":{"type":"string","description":"The person ID assigned to the company.","example":"123e4567-e89b-12d3-a456-426614174000"}},"required":["name"]},"UpdateOrganisationCompanyDto":{"type":"object","properties":{"source_id":{"type":"string","description":"The unique identifier of the source. This is a user-generated string. You can use this to link the person to a resource in an external system.","example":"123e4567-e89b-12d3-a456-426614174000"},"name":{"type":"string","description":"The name of the company.","example":"Capmo","maxLength":255},"address_street":{"type":"string","description":"The address (street) of the company.","example":"Ridlerstraße 39","maxLength":255},"address_zip_code":{"type":"string","description":"The address (zip code) of the company.","example":"80339","maxLength":255},"address_city":{"type":"string","description":"The address (city) of the company.","example":"Munich","maxLength":255},"address_country":{"type":"string","description":"The address (country) of the company. It is an ISO 3166-1 alpha-2 country code.","example":"DE","maxLength":255},"tax_id":{"type":"string","description":"The tax ID of the company.","example":"123456","maxLength":255},"phone_number":{"type":"string","description":"The phone number of the company. It must consist of between 1 and 15 digits and an optional leading \"+\" character","example":"+491764445566"}}},"OrganisationMembershipType":{"type":"string","enum":["ADMIN","USER"],"description":"The role assigned to the user in the organisation."},"RequestStatus":{"type":"string","enum":["ACCEPTED","REJECTED","PENDING"],"description":"The status of the membership request."},"ReadOrganisationMembershipDto":{"type":"object","properties":{"created_by":{"type":"string","nullable":true,"example":"123e4567-e89b-12d3-a456-426614174000","description":"The unique identifier of the creator of the entity."},"updated_by":{"type":"string","example":"123e4567-e89b-12d3-a456-426614174000","nullable":true,"description":"The unique identifier of the last user who updated the entity."},"created_at":{"type":"string","format":"date-time","example":"2021-07-01T00:00:00.000Z","description":"The date when the entity was created (on the client)."},"updated_at":{"type":"string","format":"date-time","example":"2021-07-01T00:00:00.000Z","description":"The date when the entity was last updated (on the client)."},"deleted_at":{"type":"string","nullable":true,"format":"date-time","example":"2021-07-01T00:00:00.000Z","description":"The date when the entity was deleted (on the client)."},"server_created_at":{"type":"string","format":"date-time","example":"2021-07-01T00:00:00.000Z","description":"The date when the entity was created (on the server)."},"server_updated_at":{"type":"string","format":"date-time","example":"2021-07-01T00:00:00.000Z","description":"The date when the entity was last updated (on the server)."},"server_deleted_at":{"type":"string","nullable":true,"format":"date-time","example":"2021-07-01T00:00:00.000Z","description":"The date when the entity was deleted (on the server)."},"id":{"type":"string","example":"123e4567-e89b-12d3-a456-426614174000","description":"The unique identifier of the membership."},"user_id":{"type":"string","example":"123e4567-e89b-12d3-a456-426614174000","description":"The unique identifier of the user assigned to the membership."},"user_signed_up":{"type":"boolean","example":true,"description":"The flag indicating whether the user has signed up for the platform."},"role":{"example":"ADMIN","description":"The role assigned to the user in the organisation.","allOf":[{"$ref":"#/components/schemas/OrganisationMembershipType"}]},"request_status":{"nullable":true,"example":"ACCEPTED","description":"The status of the membership request.","allOf":[{"$ref":"#/components/schemas/RequestStatus"}]},"person_id":{"type":"string","example":"123e4567-e89b-12d3-a456-426614174000","description":"The unique identifier of the contact person assigned to the membership."}},"required":["created_by","updated_by","created_at","updated_at","deleted_at","server_created_at","server_updated_at","server_deleted_at","id","user_id","user_signed_up","role","request_status","person_id"]},"InviteOrganisationMemberDto":{"type":"object","properties":{"person_id":{"type":"string","description":"The ID of the person to invite to the organisation.","example":"123e4567-e89b-12d3-a456-426614174000"},"role":{"description":"The role assigned to the user in the organisation.","example":"ADMIN","allOf":[{"$ref":"#/components/schemas/OrganisationMembershipType"}]}},"required":["person_id","role"]},"UpdateOrganisationMembershipDto":{"type":"object","properties":{"role":{"description":"The role assigned to the user in the organisation.","example":"ADMIN","allOf":[{"$ref":"#/components/schemas/OrganisationMembershipType"}]}},"required":["role"]},"ReadProjectPersonDto":{"type":"object","properties":{"source_id":{"type":"string","description":"The unique identifier of the source. This is a user-generated string. You can use this to link the person to a resource in an external system.","example":"123e4567-e89b-12d3-a456-426614174000"},"created_by":{"type":"string","nullable":true,"example":"123e4567-e89b-12d3-a456-426614174000","description":"The unique identifier of the creator of the entity."},"updated_by":{"type":"string","example":"123e4567-e89b-12d3-a456-426614174000","nullable":true,"description":"The unique identifier of the last user who updated the entity."},"created_at":{"type":"string","format":"date-time","example":"2021-07-01T00:00:00.000Z","description":"The date when the entity was created (on the client)."},"updated_at":{"type":"string","format":"date-time","example":"2021-07-01T00:00:00.000Z","description":"The date when the entity was last updated (on the client)."},"deleted_at":{"type":"string","nullable":true,"format":"date-time","example":"2021-07-01T00:00:00.000Z","description":"The date when the entity was deleted (on the client)."},"server_created_at":{"type":"string","format":"date-time","example":"2021-07-01T00:00:00.000Z","description":"The date when the entity was created (on the server)."},"server_updated_at":{"type":"string","format":"date-time","example":"2021-07-01T00:00:00.000Z","description":"The date when the entity was last updated (on the server)."},"server_deleted_at":{"type":"string","nullable":true,"format":"date-time","example":"2021-07-01T00:00:00.000Z","description":"The date when the entity was deleted (on the server)."},"id":{"type":"string","example":"123e4567-e89b-12d3-a456-426614174000","description":"The unique identifier of the person."},"first_name":{"type":"string","example":"John","description":"The first name of the person."},"last_name":{"type":"string","example":"Doe","description":"The last name of the person."},"email":{"type":"string","example":"john.doe@example.com","description":"The email address of the person."},"position":{"type":"string","nullable":true,"example":"accountant","description":"The position of the person."},"phone_number":{"type":"string","nullable":true,"example":"+491764445566","description":"The phone number of the person. It consists of between 1 and 15 digits and an optional leading \"+\" character."},"company_id":{"type":"string","nullable":true,"example":"123e4567-e89b-12d3-a456-426614174000","description":"The company ID assigned to the person."},"created_from_id":{"type":"string","nullable":true,"example":"123e4567-e89b-12d3-a456-426614174000","description":"The unique identifier of the organisation person that has been used to create the project person. If null, the person has been created manually on the project level."},"membership_id":{"type":"string","nullable":true,"example":"123e4567-e89b-12d3-a456-426614174000","description":"The project membership ID of to the person. If given, the person is a member of the project."}},"required":["created_by","updated_by","created_at","updated_at","deleted_at","server_created_at","server_updated_at","server_deleted_at","id","first_name","last_name","email","position","phone_number","company_id","created_from_id","membership_id"]},"CreateProjectPersonDto":{"type":"object","properties":{"source_id":{"type":"string","description":"The unique identifier of the source. This is a user-generated string. You can use this to link the person to a resource in an external system.","example":"123e4567-e89b-12d3-a456-426614174000"},"first_name":{"type":"string","description":"The first name of the person.","example":"John","maxLength":255},"last_name":{"type":"string","description":"The last name of the person.","example":"Doe","maxLength":255},"email":{"type":"string","description":"The email address of the person.","example":"john.doe@example.com","maxLength":255},"position":{"type":"string","description":"The position of the person.","example":"accountant","maxLength":255},"phone_number":{"type":"string","description":"The phone number of the person. It must consist of between 1 and 15 digits and an optional leading \"+\" character.","example":"+491764445566"},"company_id":{"type":"string","description":"The company ID assigned to the person.","example":"123e4567-e89b-12d3-a456-426614174000"}},"required":["first_name","last_name","email"]},"UpdateProjectPersonDto":{"type":"object","properties":{"source_id":{"type":"string","description":"The unique identifier of the source. This is a user-generated string. You can use this to link the person to a resource in an external system.","example":"123e4567-e89b-12d3-a456-426614174000"},"first_name":{"type":"string","description":"The first name of the person.","example":"John","maxLength":255},"last_name":{"type":"string","description":"The last name of the person.","example":"Doe","maxLength":255},"email":{"type":"string","description":"The email address of the person.","example":"john.doe@example.com","maxLength":255},"position":{"type":"string","description":"The position of the person.","example":"accountant","maxLength":255},"phone_number":{"type":"string","description":"The phone number of the person. It must consist of between 1 and 15 digits and an optional leading \"+\" character.","example":"+491764445566"},"company_id":{"type":"string","description":"The company ID assigned to the person.","example":"123e4567-e89b-12d3-a456-426614174000"}}},"CreatePersonFromOrganisationDto":{"type":"object","properties":{"person_id":{"type":"string","example":"123e4567-e89b-12d3-a456-426614174000","description":"The unique identifier of the organisation contact book person that should be added to the project."}},"required":["person_id"]},"ReadProjectCompanyDto":{"type":"object","properties":{"source_id":{"type":"string","description":"The unique identifier of the source. This is a user-generated string. You can use this to link the person to a resource in an external system.","example":"123e4567-e89b-12d3-a456-426614174000"},"created_by":{"type":"string","nullable":true,"example":"123e4567-e89b-12d3-a456-426614174000","description":"The unique identifier of the creator of the entity."},"updated_by":{"type":"string","example":"123e4567-e89b-12d3-a456-426614174000","nullable":true,"description":"The unique identifier of the last user who updated the entity."},"created_at":{"type":"string","format":"date-time","example":"2021-07-01T00:00:00.000Z","description":"The date when the entity was created (on the client)."},"updated_at":{"type":"string","format":"date-time","example":"2021-07-01T00:00:00.000Z","description":"The date when the entity was last updated (on the client)."},"deleted_at":{"type":"string","nullable":true,"format":"date-time","example":"2021-07-01T00:00:00.000Z","description":"The date when the entity was deleted (on the client)."},"server_created_at":{"type":"string","format":"date-time","example":"2021-07-01T00:00:00.000Z","description":"The date when the entity was created (on the server)."},"server_updated_at":{"type":"string","format":"date-time","example":"2021-07-01T00:00:00.000Z","description":"The date when the entity was last updated (on the server)."},"server_deleted_at":{"type":"string","nullable":true,"format":"date-time","example":"2021-07-01T00:00:00.000Z","description":"The date when the entity was deleted (on the server)."},"id":{"type":"string","example":"123e4567-e89b-12d3-a456-426614174000","description":"The unique identifier of the company."},"name":{"type":"string","example":"Capmo","description":"The name of the company."},"address_street":{"type":"string","nullable":true,"example":"Ridlerstraße 39","description":"The address (street) of the company."},"address_zip_code":{"type":"string","nullable":true,"example":"80339","description":"The address (zip code) of the company."},"address_city":{"type":"string","nullable":true,"example":"Munich","description":"The address (city) of the company."},"address_country":{"type":"string","nullable":true,"example":"DE","description":"The address (country) of the company. It is an ISO 3166-1 alpha-2 country code."},"tax_id":{"type":"string","nullable":true,"example":"123456","description":"The tax ID of the company."},"phone_number":{"type":"string","nullable":true,"example":"+491764445566","description":"The phone number of the company. It consists of between 1 and 15 digits and an optional leading \"+\" character."},"people_ids":{"type":"array","items":{"type":"string"},"example":["123e4567-e89b-12d3-a456-426614174000","123e4567-e89b-12d3-a456-426614174001","123e4567-e89b-12d3-a456-426614174002"],"description":"The people IDs assigned to the company."},"created_from_id":{"type":"string","nullable":true,"example":"123e4567-e89b-12d3-a456-426614174000","description":"The unique identifier of the organisation company that has been used to create the project company. If null, the company has been created manually on the project level."}},"required":["created_by","updated_by","created_at","updated_at","deleted_at","server_created_at","server_updated_at","server_deleted_at","id","name","address_street","address_zip_code","address_city","address_country","tax_id","phone_number","people_ids","created_from_id"]},"CreateProjectCompanyDto":{"type":"object","properties":{"source_id":{"type":"string","description":"The unique identifier of the source. This is a user-generated string. You can use this to link the person to a resource in an external system.","example":"123e4567-e89b-12d3-a456-426614174000"},"name":{"type":"string","description":"The name of the company.","example":"Capmo","maxLength":255},"address_street":{"type":"string","description":"The address (street) of the company.","example":"Ridlerstraße 39","maxLength":255},"address_zip_code":{"type":"string","description":"The address (zip code) of the company.","example":"80339","maxLength":255},"address_city":{"type":"string","description":"The address (city) of the company.","example":"Munich","maxLength":255},"address_country":{"type":"string","description":"The address (country) of the company. It is an ISO 3166-1 alpha-2 country code.","example":"DE","maxLength":255},"tax_id":{"type":"string","description":"The tax ID of the company.","example":"123456","maxLength":255},"phone_number":{"type":"string","description":"The phone number of the company. It must consist of between 1 and 15 digits and an optional leading \"+\" character","example":"+491764445566"},"person_id":{"type":"string","description":"The person ID assigned to the company.","example":"123e4567-e89b-12d3-a456-426614174000"}},"required":["name"]},"UpdateProjectCompanyDto":{"type":"object","properties":{"source_id":{"type":"string","description":"The unique identifier of the source. This is a user-generated string. You can use this to link the person to a resource in an external system.","example":"123e4567-e89b-12d3-a456-426614174000"},"name":{"type":"string","description":"The name of the company.","example":"Capmo","maxLength":255},"address_street":{"type":"string","description":"The address (street) of the company.","example":"Ridlerstraße 39","maxLength":255},"address_zip_code":{"type":"string","description":"The address (zip code) of the company.","example":"80339","maxLength":255},"address_city":{"type":"string","description":"The address (city) of the company.","example":"Munich","maxLength":255},"address_country":{"type":"string","description":"The address (country) of the company. It is an ISO 3166-1 alpha-2 country code.","example":"DE","maxLength":255},"tax_id":{"type":"string","description":"The tax ID of the company.","example":"123456","maxLength":255},"phone_number":{"type":"string","description":"The phone number of the company. It must consist of between 1 and 15 digits and an optional leading \"+\" character","example":"+491764445566"}}},"CreateCompanyFromOrganisationDto":{"type":"object","properties":{"company_id":{"type":"string","example":"123e4567-e89b-12d3-a456-426614174000","description":"The unique identifier of the organisation contact book company that should be added to the project."}},"required":["company_id"]},"ProjectRole":{"type":"string","enum":["ADMIN","GUEST"],"description":"The role assigned to the user in the project."},"ReadProjectMembershipDto":{"type":"object","properties":{"updated_by":{"type":"string","example":"123e4567-e89b-12d3-a456-426614174000","nullable":true,"description":"The unique identifier of the last user who updated the entity."},"created_at":{"type":"string","format":"date-time","example":"2021-07-01T00:00:00.000Z","description":"The date when the entity was created (on the client)."},"updated_at":{"type":"string","format":"date-time","example":"2021-07-01T00:00:00.000Z","description":"The date when the entity was last updated (on the client)."},"deleted_at":{"type":"string","nullable":true,"format":"date-time","example":"2021-07-01T00:00:00.000Z","description":"The date when the entity was deleted (on the client)."},"server_created_at":{"type":"string","format":"date-time","example":"2021-07-01T00:00:00.000Z","description":"The date when the entity was created (on the server)."},"server_updated_at":{"type":"string","format":"date-time","example":"2021-07-01T00:00:00.000Z","description":"The date when the entity was last updated (on the server)."},"server_deleted_at":{"type":"string","nullable":true,"format":"date-time","example":"2021-07-01T00:00:00.000Z","description":"The date when the entity was deleted (on the server)."},"id":{"type":"string","example":"123e4567-e89b-12d3-a456-426614174000","description":"The unique identifier of the membership."},"user_id":{"type":"string","example":"123e4567-e89b-12d3-a456-426614174000","description":"The unique identifier of the user assigned to the membership."},"user_signed_up":{"type":"boolean","example":true,"description":"The flag indicating whether the user has signed up for the platform."},"role":{"example":"ADMIN","description":"The role assigned to the user in the project.","allOf":[{"$ref":"#/components/schemas/ProjectRole"}]},"person_id":{"type":"string","example":"123e4567-e89b-12d3-a456-426614174000","description":"The unique identifier of the contact person assigned to the membership."},"invited_by":{"type":"string","nullable":true,"example":"123e4567-e89b-12d3-a456-426614174000","description":"The unique identifier of the user who invited the user linked to the membership."}},"required":["updated_by","created_at","updated_at","deleted_at","server_created_at","server_updated_at","server_deleted_at","id","user_id","user_signed_up","role","person_id","invited_by"]},"InviteProjectMemberDto":{"type":"object","properties":{"person_id":{"type":"string","description":"The ID of the person to invite to the project.","example":"123e4567-e89b-12d3-a456-426614174000"},"role":{"description":"The role assigned to the user in the project. Note: GUEST is deprecated and will be removed.","example":"ADMIN","deprecated":true,"nullable":true,"allOf":[{"$ref":"#/components/schemas/ProjectRole"}]},"permission_set_id":{"type":"string","nullable":true,"example":"123e4567-e89b-12d3-a456-426614174000","description":"Optional permission set ID to assign to the invited user. If omitted, the project default permission set is used."}},"required":["person_id"]},"ReadProjectPermissionSetDto":{"type":"object","properties":{"id":{"type":"string","example":"123e4567-e89b-12d3-a456-426614174000","description":"The unique identifier of the permission set."},"name":{"type":"string","example":"Default","description":"The name of the permission set."},"description":{"type":"string","description":"The description of the permission set."},"project_id":{"type":"string","example":"123e4567-e89b-12d3-a456-426614174000","description":"The unique identifier of the project the permission set belongs to."},"is_default":{"type":"boolean","description":"True when this permission set is the project default. Used when no permission_set_id is provided during project membership invite."},"is_template":{"type":"boolean","description":"True when this permission set is a template."},"is_capmo_managed":{"type":"boolean","description":"True when this permission set is managed by Capmo."},"created_at":{"type":"string","format":"date-time","description":"The date and time the permission set was created."},"created_by":{"type":"string","example":"123e4567-e89b-12d3-a456-426614174000","description":"The unique identifier of the user who created the permission set."}},"required":["id","name","description","project_id","is_default","is_template","is_capmo_managed","created_at","created_by"]},"TicketStatus":{"type":"string","enum":["OPEN","IN_PROGRESS","SIGNED_OFF","CLOSED"],"description":"The status of the ticket."},"ReadProjectTicketDto":{"type":"object","properties":{"source_id":{"type":"string","description":"The unique identifier of the source. This is a user-generated string. You can use this to link the person to a resource in an external system.","example":"123e4567-e89b-12d3-a456-426614174000"},"created_by":{"type":"string","nullable":true,"example":"123e4567-e89b-12d3-a456-426614174000","description":"The unique identifier of the creator of the entity."},"updated_by":{"type":"string","example":"123e4567-e89b-12d3-a456-426614174000","nullable":true,"description":"The unique identifier of the last user who updated the entity."},"created_at":{"type":"string","format":"date-time","example":"2021-07-01T00:00:00.000Z","description":"The date when the entity was created (on the client)."},"updated_at":{"type":"string","format":"date-time","example":"2021-07-01T00:00:00.000Z","description":"The date when the entity was last updated (on the client)."},"deleted_at":{"type":"string","nullable":true,"format":"date-time","example":"2021-07-01T00:00:00.000Z","description":"The date when the entity was deleted (on the client)."},"server_created_at":{"type":"string","format":"date-time","example":"2021-07-01T00:00:00.000Z","description":"The date when the entity was created (on the server)."},"server_updated_at":{"type":"string","format":"date-time","example":"2021-07-01T00:00:00.000Z","description":"The date when the entity was last updated (on the server)."},"server_deleted_at":{"type":"string","nullable":true,"format":"date-time","example":"2021-07-01T00:00:00.000Z","description":"The date when the entity was deleted (on the server)."},"id":{"type":"string","example":"123e4567-e89b-12d3-a456-426614174000","description":"Unique ID of the ticket."},"ticket_key":{"type":"string","example":"TICKET-12345","description":"The key or identifier of the ticket, It is the project key + unique number."},"type_id":{"type":"string","nullable":true,"example":"123e4567-e89b-12d3-a456-426614174000","description":"The id of the ticket type."},"category_id":{"type":"string","nullable":true,"example":"123e4567-e89b-12d3-a456-426614174000","description":"The id of the ticket category."},"company_id":{"type":"string","nullable":true,"example":"123e4567-e89b-12d3-a456-426614174000","description":"The ID of the company responsible for this ticket."},"responsible_ids":{"type":"array","items":{"type":"string"},"description":"List of responsible users ids for this ticket."},"name":{"type":"string","example":"Heating","description":"The name of the ticket."},"description":{"type":"string","nullable":true,"example":"Fix the heating system","description":"The description of the ticket."},"ticket_number":{"type":"number","nullable":true,"example":12345,"description":"A unique sequential number assigned to the ticket. It is unique within a project"},"tags":{"type":"array","items":{"type":"string"},"description":"List of tag ids associated with the ticket."},"cost":{"type":"number","nullable":true,"example":500,"description":"The estimated cost associated with the ticket in Euros."},"status":{"example":"OPEN","description":"The status of the ticket.","allOf":[{"$ref":"#/components/schemas/TicketStatus"}]},"deadline":{"type":"string","nullable":true,"format":"date-time","example":"2021-07-01T00:00:00.000Z","description":"The deadline for resolving the ticket."},"room_listing_id":{"type":"string","nullable":true,"example":"123e4567-e89b-12d3-a456-426614174000","description":"The ID of the room listing associated with this ticket."},"plan_id":{"type":"string","nullable":true,"example":"123e4567-e89b-12d3-a456-426614174000","description":"The ID of the plan this ticket is pinned to. Only set when the ticket has a location on a plan."},"location_x":{"type":"number","nullable":true,"example":0.5,"description":"X coordinate of the ticket on the linked plan PDF. Normalized to [0, 1] with origin (0, 0) in the top left corner. Multiply by the width of the plan to get the absolute X coordinate. Only set together with plan_id and location_y."},"location_y":{"type":"number","nullable":true,"example":0.25,"description":"Y coordinate of the ticket on the linked plan PDF. Normalized to [0, 1] with origin (0, 0) in the top left corner. Multiply by the height of the plan to get the absolute Y coordinate. Only set together with plan_id and location_x."}},"required":["created_by","updated_by","created_at","updated_at","deleted_at","server_created_at","server_updated_at","server_deleted_at","id","ticket_key","type_id","category_id","company_id","responsible_ids","name","description","ticket_number","tags","cost","status","deadline","room_listing_id","plan_id","location_x","location_y"]},"CreateProjectTicketDto":{"type":"object","properties":{"source_id":{"type":"string","description":"The unique identifier of the source. This is a user-generated string. You can use this to link the person to a resource in an external system.","example":"123e4567-e89b-12d3-a456-426614174000"},"name":{"type":"string","nullable":true,"example":"Fix the leaking pipe","description":"The name of the ticket. Usually a short description of the issue."},"description":{"type":"string","nullable":true,"example":"The pipe on the 2nd floor is leaking and needs repair.","description":"The description of the ticket. A more detailed description of the issue."},"category_id":{"type":"string","nullable":true,"example":"123e4567-e89b-12d3-a456-426614174000","description":"Unique ID of the category this ticket belongs to. If not provided, the ticket will be uncategorised."},"status":{"nullable":true,"example":"IN_PROGRESS","description":"The status of the ticket. Defaults to OPEN.","allOf":[{"$ref":"#/components/schemas/TicketStatus"}]},"tag_ids":{"nullable":true,"example":["123e4567-e89b-12d3-a456-426614174000","123e4567-e89b-12d3-a456-426614174001","123e4567-e89b-12d3-a456-426614174002"],"description":"List of the unique IDs of tags associated with this ticket. If not provided, the ticket will be untagged.","type":"array","items":{"type":"string"}},"type_id":{"type":"string","nullable":true,"example":"123e4567-e89b-12d3-a456-426614174000","description":"ID of the ticket type. If not provided, the ticket will be uncategorised."},"deadline":{"type":"string","nullable":true,"example":"2024-05-01T00:00:00Z","description":"The deadline for resolving the ticket. Can be as simple as a date or a full timestamp."},"company_id":{"type":"string","nullable":true,"example":"123e4567-e89b-12d3-a456-426614174000","description":"Unique ID of the project company responsible for this ticket. This can be obtained from the project contact book."},"responsible_ids":{"nullable":true,"example":["123e4567-e89b-12d3-a456-426614174000","123e4567-e89b-12d3-a456-426614174001","123e4567-e89b-12d3-a456-426614174002"],"description":"List of the unique IDs of the responsible users for this ticket. These are not the IDs of the people in the project contact book. Instead, these are their user IDs as registered in our platform.","type":"array","items":{"type":"string"}},"cost":{"type":"number","nullable":true,"example":500,"description":"The estimated cost associated with the ticket in Euros."},"room_listing_id":{"type":"string","nullable":true,"example":"123e4567-e89b-12d3-a456-426614174000","description":"ID of the room listing to associate with this ticket."},"plan_id":{"type":"string","format":"uuid","nullable":true,"example":"123e4567-e89b-12d3-a456-426614174000","description":"ID of the plan this ticket is pinned to. Must be provided together with location_x and location_y."},"location_x":{"type":"number","minimum":0,"maximum":1,"nullable":true,"example":0.5,"description":"X coordinate of the ticket on the linked plan PDF. Normalized to [0, 1], growing left to right, with origin (0, 0) in the top-left corner. Must be provided together with plan_id and location_y."},"location_y":{"type":"number","minimum":0,"maximum":1,"nullable":true,"example":0.25,"description":"Y coordinate of the ticket on the linked plan PDF. Normalized to [0, 1], growing top to bottom, with origin (0, 0) in the top-left corner. Must be provided together with plan_id and location_x."}}},"UpdateProjectTicketDto":{"type":"object","properties":{"source_id":{"type":"string","description":"The unique identifier of the source. This is a user-generated string. You can use this to link the person to a resource in an external system.","example":"123e4567-e89b-12d3-a456-426614174000"},"name":{"type":"string","nullable":true,"example":"Fix the leaking pipe","description":"The name of the ticket. Usually a short description of the issue."},"description":{"type":"string","nullable":true,"example":"The pipe on the 2nd floor is leaking and needs repair.","description":"The description of the ticket. A more detailed description of the issue."},"category_id":{"type":"string","nullable":true,"example":"123e4567-e89b-12d3-a456-426614174000","description":"Unique ID of the category this ticket belongs to. If not provided, the ticket will be uncategorised."},"status":{"nullable":true,"example":"IN_PROGRESS","description":"The status of the ticket. Defaults to OPEN.","allOf":[{"$ref":"#/components/schemas/TicketStatus"}]},"tag_ids":{"nullable":true,"example":["123e4567-e89b-12d3-a456-426614174000","123e4567-e89b-12d3-a456-426614174001","123e4567-e89b-12d3-a456-426614174002"],"description":"List of the unique IDs of tags associated with this ticket. If not provided, the ticket will be untagged.","type":"array","items":{"type":"string"}},"type_id":{"type":"string","nullable":true,"example":"123e4567-e89b-12d3-a456-426614174000","description":"ID of the ticket type. If not provided, the ticket will be uncategorised."},"deadline":{"type":"string","nullable":true,"example":"2024-05-01T00:00:00Z","description":"The deadline for resolving the ticket. Can be as simple as a date or a full timestamp."},"company_id":{"type":"string","nullable":true,"example":"123e4567-e89b-12d3-a456-426614174000","description":"Unique ID of the project company responsible for this ticket. This can be obtained from the project contact book."},"responsible_ids":{"nullable":true,"example":["123e4567-e89b-12d3-a456-426614174000","123e4567-e89b-12d3-a456-426614174001","123e4567-e89b-12d3-a456-426614174002"],"description":"List of the unique IDs of the responsible users for this ticket. These are not the IDs of the people in the project contact book. Instead, these are their user IDs as registered in our platform.","type":"array","items":{"type":"string"}},"cost":{"type":"number","nullable":true,"example":500,"description":"The estimated cost associated with the ticket in Euros."},"room_listing_id":{"type":"string","nullable":true,"example":"123e4567-e89b-12d3-a456-426614174000","description":"ID of the room listing to associate with this ticket."},"plan_id":{"type":"string","format":"uuid","nullable":true,"example":"123e4567-e89b-12d3-a456-426614174000","description":"ID of the plan this ticket is pinned to. Must be provided together with location_x and location_y. Send all three fields as null to clear the plan location; omit all three fields to preserve the existing location."},"location_x":{"type":"number","minimum":0,"maximum":1,"nullable":true,"example":0.5,"description":"X coordinate of the ticket on the linked plan PDF. Normalized to [0, 1], growing left to right, with origin (0, 0) in the top-left corner. Must be provided together with plan_id and location_y. Send all three fields as null to clear the plan location; omit all three fields to preserve the existing location."},"location_y":{"type":"number","minimum":0,"maximum":1,"nullable":true,"example":0.25,"description":"Y coordinate of the ticket on the linked plan PDF. Normalized to [0, 1], growing top to bottom, with origin (0, 0) in the top-left corner. Must be provided together with plan_id and location_x. Send all three fields as null to clear the plan location; omit all three fields to preserve the existing location."}}},"ReadTicketCategoryDto":{"type":"object","properties":{"created_at":{"type":"string","format":"date-time","example":"2021-07-01T00:00:00.000Z","description":"The date when the entity was created (on the client)."},"updated_at":{"type":"string","format":"date-time","example":"2021-07-01T00:00:00.000Z","description":"The date when the entity was last updated (on the client)."},"deleted_at":{"type":"string","nullable":true,"format":"date-time","example":"2021-07-01T00:00:00.000Z","description":"The date when the entity was deleted (on the client)."},"server_created_at":{"type":"string","format":"date-time","example":"2021-07-01T00:00:00.000Z","description":"The date when the entity was created (on the server)."},"server_updated_at":{"type":"string","format":"date-time","example":"2021-07-01T00:00:00.000Z","description":"The date when the entity was last updated (on the server)."},"server_deleted_at":{"type":"string","nullable":true,"format":"date-time","example":"2021-07-01T00:00:00.000Z","description":"The date when the entity was deleted (on the server)."},"id":{"type":"string","example":"123e4567-e89b-12d3-a456-426614174000","description":"Unique ID of the ticket category."},"name":{"type":"string","example":"Heizung","description":"The name of the ticket category."}},"required":["created_at","updated_at","deleted_at","server_created_at","server_updated_at","server_deleted_at","id","name"]},"ReadTicketTypeDto":{"type":"object","properties":{"created_at":{"type":"string","format":"date-time","example":"2021-07-01T00:00:00.000Z","description":"The date when the entity was created (on the client)."},"updated_at":{"type":"string","format":"date-time","example":"2021-07-01T00:00:00.000Z","description":"The date when the entity was last updated (on the client)."},"deleted_at":{"type":"string","nullable":true,"format":"date-time","example":"2021-07-01T00:00:00.000Z","description":"The date when the entity was deleted (on the client)."},"server_created_at":{"type":"string","format":"date-time","example":"2021-07-01T00:00:00.000Z","description":"The date when the entity was created (on the server)."},"server_updated_at":{"type":"string","format":"date-time","example":"2021-07-01T00:00:00.000Z","description":"The date when the entity was last updated (on the server)."},"server_deleted_at":{"type":"string","nullable":true,"format":"date-time","example":"2021-07-01T00:00:00.000Z","description":"The date when the entity was deleted (on the server)."},"id":{"type":"string","example":"123e4567-e89b-12d3-a456-426614174000","description":"Unique ID of the ticket type."},"name":{"type":"string","example":"Maintenance","description":"The name of the ticket type."}},"required":["created_at","updated_at","deleted_at","server_created_at","server_updated_at","server_deleted_at","id","name"]},"ReadProjectTicketTagDto":{"type":"object","properties":{"created_at":{"type":"string","format":"date-time","example":"2021-07-01T00:00:00.000Z","description":"The date when the entity was created (on the client)."},"updated_at":{"type":"string","format":"date-time","example":"2021-07-01T00:00:00.000Z","description":"The date when the entity was last updated (on the client)."},"deleted_at":{"type":"string","nullable":true,"format":"date-time","example":"2021-07-01T00:00:00.000Z","description":"The date when the entity was deleted (on the client)."},"server_created_at":{"type":"string","format":"date-time","example":"2021-07-01T00:00:00.000Z","description":"The date when the entity was created (on the server)."},"server_updated_at":{"type":"string","format":"date-time","example":"2021-07-01T00:00:00.000Z","description":"The date when the entity was last updated (on the server)."},"server_deleted_at":{"type":"string","nullable":true,"format":"date-time","example":"2021-07-01T00:00:00.000Z","description":"The date when the entity was deleted (on the server)."},"id":{"type":"string","example":"123e4567-e89b-12d3-a456-426614174000","description":"Unique ID of the ticket tag."},"name":{"type":"string","example":"Heizung","description":"The name of the ticket tag."}},"required":["created_at","updated_at","deleted_at","server_created_at","server_updated_at","server_deleted_at","id","name"]},"ReadPlanFolderDto":{"type":"object","properties":{"created_at":{"type":"string","format":"date-time","example":"2021-07-01T00:00:00.000Z","description":"The date when the entity was created (on the client)."},"updated_at":{"type":"string","format":"date-time","example":"2021-07-01T00:00:00.000Z","description":"The date when the entity was last updated (on the client)."},"deleted_at":{"type":"string","nullable":true,"format":"date-time","example":"2021-07-01T00:00:00.000Z","description":"The date when the entity was deleted (on the client)."},"server_created_at":{"type":"string","format":"date-time","example":"2021-07-01T00:00:00.000Z","description":"The date when the entity was created (on the server)."},"server_updated_at":{"type":"string","format":"date-time","example":"2021-07-01T00:00:00.000Z","description":"The date when the entity was last updated (on the server)."},"server_deleted_at":{"type":"string","nullable":true,"format":"date-time","example":"2021-07-01T00:00:00.000Z","description":"The date when the entity was deleted (on the server)."},"id":{"type":"string","example":"123e4567-e89b-12d3-a456-426614174000","description":"Unique ID of the plan folder."},"name":{"type":"string","example":"Elevations","description":"The name of the plan folder.","nullable":false},"parent_folder_id":{"type":"string","example":"123e4567-e89b-12d3-a456-426614174000","description":"Unique ID of the parent plan folder, `null` if at the root or `undefined` if the value was not set yet.","nullable":true}},"required":["created_at","updated_at","deleted_at","server_created_at","server_updated_at","server_deleted_at","id","name"]},"CreatePlanFolderInputDto":{"type":"object","properties":{"name":{"type":"string","example":"Elevations","description":"The name of the plan folder.","nullable":false},"parent_folder_id":{"type":"string","example":"123e4567-e89b-12d3-a456-426614174000","description":"Unique ID of the parent plan folder, `null` if at the root or `undefined` if the value was not set yet.","nullable":true}},"required":["name"]},"UpdatePlanFolderDto":{"type":"object","properties":{"name":{"type":"string","example":"Elevations","description":"The name of the plan folder.","nullable":false},"parent_folder_id":{"type":"string","example":"123e4567-e89b-12d3-a456-426614174000","description":"Unique ID of the parent plan folder, `null` if at the root or `undefined` if the value was not set yet.","nullable":true}},"required":["name"]},"PlanRenderingStatus":{"type":"string","enum":["pending","processing","completed","failed"],"description":"Plan rendering status."},"SourceTypes":{"type":"string","enum":["LOCAL","CDE"],"description":"Type of the plan source."},"ReadPlanDto":{"type":"object","properties":{"source_id":{"type":"string","description":"The unique identifier of the source. This is a user-generated string. You can use this to link the person to a resource in an external system.","example":"123e4567-e89b-12d3-a456-426614174000"},"created_by":{"type":"string","nullable":true,"example":"123e4567-e89b-12d3-a456-426614174000","description":"The unique identifier of the creator of the entity."},"updated_by":{"type":"string","example":"123e4567-e89b-12d3-a456-426614174000","nullable":true,"description":"The unique identifier of the last user who updated the entity."},"created_at":{"type":"string","format":"date-time","example":"2021-07-01T00:00:00.000Z","description":"The date when the entity was created (on the client)."},"updated_at":{"type":"string","format":"date-time","example":"2021-07-01T00:00:00.000Z","description":"The date when the entity was last updated (on the client)."},"deleted_at":{"type":"string","nullable":true,"format":"date-time","example":"2021-07-01T00:00:00.000Z","description":"The date when the entity was deleted (on the client)."},"server_created_at":{"type":"string","format":"date-time","example":"2021-07-01T00:00:00.000Z","description":"The date when the entity was created (on the server)."},"server_updated_at":{"type":"string","format":"date-time","example":"2021-07-01T00:00:00.000Z","description":"The date when the entity was last updated (on the server)."},"server_deleted_at":{"type":"string","nullable":true,"format":"date-time","example":"2021-07-01T00:00:00.000Z","description":"The date when the entity was deleted (on the server)."},"id":{"type":"string","example":"123e4567-e89b-12d3-a456-426614174000","description":"Unique ID of the plan."},"name":{"type":"string","example":"A-2-EG2.pdf","description":"The name of the plan."},"description":{"type":"string","nullable":true,"example":"Outlines the comprehensive renovation of the East Wing of the building.","description":"The description of the plan."},"folder_id":{"type":"string","nullable":true,"example":"123e4567-e89b-12d3-a456-426614174000","description":"ID of the folder containing the plan. If set to `null`, refers to the default \"Unsorted\" folder."},"file_id":{"type":"string","example":"123e4567-e89b-12d3-a456-426614174000","description":"ID of the plan file attached to this plan."},"file_name":{"type":"string","nullable":true,"example":"A-2-EG2.pdf","description":"The name of the plan file attached to this plan, including its extension."},"status":{"description":"Plan rendering status.","example":"pending","nullable":true,"allOf":[{"$ref":"#/components/schemas/PlanRenderingStatus"}]},"file_source_type":{"description":"Type of the plan source.","example":"LOCAL","nullable":true,"allOf":[{"$ref":"#/components/schemas/SourceTypes"}]},"file_source_id":{"type":"string","nullable":true,"example":"123e4567-e89b-12d3-a456-426614174000","description":"ID of the document. Only set if `source_type` is `CDE`."},"has_new_source_version_available":{"type":"boolean","nullable":true,"example":true,"description":"True when the document has a new version available. Only set if `source_type` is `CDE`."},"total_versions":{"type":"number","example":4,"description":"Deprecated. Please use `version_number` instead.","deprecated":true},"version_number":{"type":"number","example":5,"description":"Latest version number available for this plan."}},"required":["created_by","updated_by","created_at","updated_at","deleted_at","server_created_at","server_updated_at","server_deleted_at","id","name","description","folder_id","file_id","file_name","status","file_source_type","file_source_id","has_new_source_version_available","total_versions","version_number"]},"ReadPlanWithSignedUrlDto":{"type":"object","properties":{"source_id":{"type":"string","description":"The unique identifier of the source. This is a user-generated string. You can use this to link the person to a resource in an external system.","example":"123e4567-e89b-12d3-a456-426614174000"},"created_by":{"type":"string","nullable":true,"example":"123e4567-e89b-12d3-a456-426614174000","description":"The unique identifier of the creator of the entity."},"updated_by":{"type":"string","example":"123e4567-e89b-12d3-a456-426614174000","nullable":true,"description":"The unique identifier of the last user who updated the entity."},"created_at":{"type":"string","format":"date-time","example":"2021-07-01T00:00:00.000Z","description":"The date when the entity was created (on the client)."},"updated_at":{"type":"string","format":"date-time","example":"2021-07-01T00:00:00.000Z","description":"The date when the entity was last updated (on the client)."},"deleted_at":{"type":"string","nullable":true,"format":"date-time","example":"2021-07-01T00:00:00.000Z","description":"The date when the entity was deleted (on the client)."},"server_created_at":{"type":"string","format":"date-time","example":"2021-07-01T00:00:00.000Z","description":"The date when the entity was created (on the server)."},"server_updated_at":{"type":"string","format":"date-time","example":"2021-07-01T00:00:00.000Z","description":"The date when the entity was last updated (on the server)."},"server_deleted_at":{"type":"string","nullable":true,"format":"date-time","example":"2021-07-01T00:00:00.000Z","description":"The date when the entity was deleted (on the server)."},"id":{"type":"string","example":"123e4567-e89b-12d3-a456-426614174000","description":"Unique ID of the plan."},"name":{"type":"string","example":"A-2-EG2.pdf","description":"The name of the plan."},"description":{"type":"string","nullable":true,"example":"Outlines the comprehensive renovation of the East Wing of the building.","description":"The description of the plan."},"folder_id":{"type":"string","nullable":true,"example":"123e4567-e89b-12d3-a456-426614174000","description":"ID of the folder containing the plan. If set to `null`, refers to the default \"Unsorted\" folder."},"file_id":{"type":"string","example":"123e4567-e89b-12d3-a456-426614174000","description":"ID of the plan file attached to this plan."},"file_name":{"type":"string","nullable":true,"example":"A-2-EG2.pdf","description":"The name of the plan file attached to this plan, including its extension."},"status":{"description":"Plan rendering status.","example":"pending","nullable":true,"allOf":[{"$ref":"#/components/schemas/PlanRenderingStatus"}]},"file_source_type":{"description":"Type of the plan source.","example":"LOCAL","nullable":true,"allOf":[{"$ref":"#/components/schemas/SourceTypes"}]},"file_source_id":{"type":"string","nullable":true,"example":"123e4567-e89b-12d3-a456-426614174000","description":"ID of the document. Only set if `source_type` is `CDE`."},"has_new_source_version_available":{"type":"boolean","nullable":true,"example":true,"description":"True when the document has a new version available. Only set if `source_type` is `CDE`."},"total_versions":{"type":"number","example":4,"description":"Deprecated. Please use `version_number` instead.","deprecated":true},"version_number":{"type":"number","example":5,"description":"Latest version number available for this plan."},"image_url":{"type":"string","nullable":true,"example":"https://api.capmo.de/plans/93065175-abdd-421d-9304-f9cd9d5701df/thumbnail/A-2-EG2.pdf/256/256?sig=CmbDFbJDF26b1WhxP-gkaPdZCXqeQbZqFJnnJpG2DtI","description":"The URL of the plan file preview in PNG format."},"signed_url":{"type":"string","nullable":true,"example":"https://s3.eu-central-1.amazonaws.com/plans.plan-service.capmo.io/93065175-abdd-421d-9304-f9cd9d5701df/A-2-EG2.pdf?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=ASIAUZ3DFJO4N6C3TCCV%2F20240503%2Feu-central-1%2Fs3%2Faws4_request&X-Amz-Date=20240503T160242Z&X-Amz-Expires=5&X-Amz-Security-Token=IQoJb3JpZ2luX2VjECIaDGV1LWNlbnR...wym2Q6QJX3Bmt1k3EPZctw8%3D&X-Amz-Signature=1fcb3a4a45146991db87010c17d2d8bbade09473b6b9ab67288750dac096e7c1&X-Amz-SignedHeaders=host&x-id=GetObject","description":"The URL to download the plan file."}},"required":["created_by","updated_by","created_at","updated_at","deleted_at","server_created_at","server_updated_at","server_deleted_at","id","name","description","folder_id","file_id","file_name","status","file_source_type","file_source_id","has_new_source_version_available","total_versions","version_number","image_url","signed_url"]},"CreatePlanFromFileDto":{"type":"object","properties":{"source_id":{"type":"string","description":"The unique identifier of the source. This is a user-generated string. You can use this to link the person to a resource in an external system.","example":"123e4567-e89b-12d3-a456-426614174000"},"name":{"type":"string","example":"A-2-EG2.pdf","description":"The name of the plan, including the file extension. If set to null or empty, defaults to the file name."},"description":{"type":"string","example":"Outlines the comprehensive renovation of the East Wing of the building.","description":"The description of the plan."},"folder_id":{"type":"string","nullable":true,"example":"123e4567-e89b-12d3-a456-426614174000","description":"ID of the folder containing the plan. If se to `null`, refers to the default \"Unsorted\" folder, other must point to an existing folder ID.\nFolder name takes precedence over `folder_id` when specified."},"folder_name":{"type":"string","nullable":true,"example":"My folder","description":"Name of the Folder. Will create a folder with this name if it does not exist.\nFolder name takes precedence over `folder_id` when specified."},"file_path":{"type":"string","example":"0ba6d5d9-d718-45b4-bb34-f39b97b89154/A-2-EG2.pdf","description":"Data path of the uploaded file. Please check the file uploading documentation for more information: https://capmoapi.readme.io/reference/file-management-api"}},"required":["folder_id","folder_name","file_path"]},"CreatePlanFromDocumentDto":{"type":"object","properties":{"source_id":{"type":"string","description":"The unique identifier of the source. This is a user-generated string. You can use this to link the person to a resource in an external system.","example":"123e4567-e89b-12d3-a456-426614174000"},"name":{"type":"string","example":"A-2-EG2.pdf","description":"The name of the plan, including the file extension. If set to null or empty, defaults to the file name."},"description":{"type":"string","example":"Outlines the comprehensive renovation of the East Wing of the building.","description":"The description of the plan."},"folder_id":{"type":"string","nullable":true,"example":"123e4567-e89b-12d3-a456-426614174000","description":"ID of the folder containing the plan. If se to `null`, refers to the default \"Unsorted\" folder, other must point to an existing folder ID.\nFolder name takes precedence over `folder_id` when specified."},"folder_name":{"type":"string","nullable":true,"example":"My folder","description":"Name of the Folder. Will create a folder with this name if it does not exist.\nFolder name takes precedence over `folder_id` when specified."},"file_source_id":{"type":"string","example":"123e4567-e89b-12d3-a456-426614174000","description":"ID of the document to use. Please check the project document documentation for more information: https://capmoapi.readme.io/reference/createprojectdocument"}},"required":["folder_id","folder_name","file_source_id"]},"ReadDocumentDto":{"type":"object","properties":{"source_id":{"type":"string","description":"The unique identifier of the source. This is a user-generated string. You can use this to link the person to a resource in an external system.","example":"123e4567-e89b-12d3-a456-426614174000"},"created_by":{"type":"string","nullable":true,"example":"123e4567-e89b-12d3-a456-426614174000","description":"The unique identifier of the creator of the entity."},"updated_by":{"type":"string","example":"123e4567-e89b-12d3-a456-426614174000","nullable":true,"description":"The unique identifier of the last user who updated the entity."},"created_at":{"type":"string","format":"date-time","example":"2021-07-01T00:00:00.000Z","description":"The date when the entity was created (on the client)."},"updated_at":{"type":"string","format":"date-time","example":"2021-07-01T00:00:00.000Z","description":"The date when the entity was last updated (on the client)."},"id":{"type":"string","example":"123e4567-e89b-12d3-a456-426614174000","description":"The unique identifier of the file."},"name":{"type":"string","example":"Report_2024.pdf","description":"The name of the file."},"mime_type":{"type":"string","nullable":true,"description":"The mime type of the file.","example":"application/pdf"},"extension":{"type":"string","nullable":true,"description":"The file extension of the file.","example":".pdf"},"data_byte_size":{"type":"number","example":963841,"description":"The size of the file in bytes."},"version_number":{"type":"number","example":3,"description":"The current version number of the file."},"folder_id":{"type":"string","nullable":true,"description":"The folder's unique ID where the file is stored. When not present, the file exists at the root directory.","example":"123e4567-e89b-12d3-a456-426614174000"}},"required":["created_by","updated_by","created_at","updated_at","id","name","mime_type","extension","data_byte_size","version_number","folder_id"]},"ReadDocumentWithSignedUrlDto":{"type":"object","properties":{"source_id":{"type":"string","description":"The unique identifier of the source. This is a user-generated string. You can use this to link the person to a resource in an external system.","example":"123e4567-e89b-12d3-a456-426614174000"},"created_by":{"type":"string","nullable":true,"example":"123e4567-e89b-12d3-a456-426614174000","description":"The unique identifier of the creator of the entity."},"updated_by":{"type":"string","example":"123e4567-e89b-12d3-a456-426614174000","nullable":true,"description":"The unique identifier of the last user who updated the entity."},"created_at":{"type":"string","format":"date-time","example":"2021-07-01T00:00:00.000Z","description":"The date when the entity was created (on the client)."},"updated_at":{"type":"string","format":"date-time","example":"2021-07-01T00:00:00.000Z","description":"The date when the entity was last updated (on the client)."},"id":{"type":"string","example":"123e4567-e89b-12d3-a456-426614174000","description":"The unique identifier of the file."},"name":{"type":"string","example":"Report_2024.pdf","description":"The name of the file."},"mime_type":{"type":"string","nullable":true,"description":"The mime type of the file.","example":"application/pdf"},"extension":{"type":"string","nullable":true,"description":"The file extension of the file.","example":".pdf"},"data_byte_size":{"type":"number","example":963841,"description":"The size of the file in bytes."},"version_number":{"type":"number","example":3,"description":"The current version number of the file."},"folder_id":{"type":"string","nullable":true,"description":"The folder's unique ID where the file is stored. When not present, the file exists at the root directory.","example":"123e4567-e89b-12d3-a456-426614174000"},"signed_download_url":{"type":"string","example":"https://signed-url.com","description":"The signed download URL of the file. This url is short lived and should not be saved."}},"required":["created_by","updated_by","created_at","updated_at","id","name","mime_type","extension","data_byte_size","version_number","folder_id","signed_download_url"]},"FileCreateInputDto":{"type":"object","properties":{"source_id":{"type":"string","description":"The unique identifier of the source. This is a user-generated string. You can use this to link the person to a resource in an external system.","example":"123e4567-e89b-12d3-a456-426614174000"},"name":{"type":"string","description":"The name of the file.","example":"Report_2024.pdf"},"data_path":{"type":"string","description":"The data path of the file.","example":"tmp/9357781c-05da-11ef-9539-7b47b1fda975/eae0751a-9e89-4ff3-98a9-d4cb31f2a792"},"on_duplicate":{"type":"string","enum":["forbid","rename","replace"],"description":"The optional enum to configure how duplicate files are handled.","example":"replace"},"event_id":{"type":"string","description":"This is an optional field that should be used to track activity when multiple files are being created. e.g. when you create a single file you don't need it,\n       but when you create more than one file together, you should use the same event_id for all files. So we can correctly group them into one activity","example":"123e4567-e89b-12d3-a456-426614174000"},"folder_id":{"type":"string","description":"The `folderId` where the file should be created. When not present, the file will be placed at the root directory.","example":"123e4567-e89b-12d3-a456-426614174000"}},"required":["name","data_path"]},"RenameDocumentDto":{"type":"object","properties":{"name":{"type":"string","description":"The new name of the file.","example":"Report_2025.pdf"}},"required":["name"]},"ReadDocumentFolderDto":{"type":"object","properties":{"source_id":{"type":"string","description":"The unique identifier of the source. This is a user-generated string. You can use this to link the person to a resource in an external system.","example":"123e4567-e89b-12d3-a456-426614174000"},"created_by":{"type":"string","nullable":true,"example":"123e4567-e89b-12d3-a456-426614174000","description":"The unique identifier of the creator of the entity."},"updated_by":{"type":"string","example":"123e4567-e89b-12d3-a456-426614174000","nullable":true,"description":"The unique identifier of the last user who updated the entity."},"created_at":{"type":"string","format":"date-time","example":"2021-07-01T00:00:00.000Z","description":"The date when the entity was created (on the client)."},"updated_at":{"type":"string","format":"date-time","example":"2021-07-01T00:00:00.000Z","description":"The date when the entity was last updated (on the client)."},"id":{"type":"string","example":"123e4567-e89b-12d3-a456-426614174000","description":"The unique identifier of the document folder."},"name":{"type":"string","example":"Inspektionsfotos (Mai 2024)","description":"The name of the document folder."},"parent_folder_id":{"type":"string","nullable":true,"example":"123e4567-e89b-12d3-a456-426614174000","description":"The unique ID of the folder's parent. When not provided, the folder has no parent and will be placed in the root folder."}},"required":["created_by","updated_by","created_at","updated_at","id","name","parent_folder_id"]},"CreateDocumentFolderDto":{"type":"object","properties":{"source_id":{"type":"string","description":"The unique identifier of the source. This is a user-generated string. You can use this to link the person to a resource in an external system.","example":"123e4567-e89b-12d3-a456-426614174000"},"name":{"type":"string","description":"The name of the document folder.","example":"Inspektionsfotos (Mai 2024)"},"parent_folder_id":{"type":"string","nullable":true,"description":"The unique ID of the folder's parent. When not provided, the folder has no parent and will be placed in the root folder.","example":"123e4567-e89b-12d3-a456-426614174000"}},"required":["name","parent_folder_id"]},"RenameDocumentFolderDto":{"type":"object","properties":{"name":{"type":"string","description":"The name of the document folder.","example":"Inspektionsfotos (Mai 2024)"}},"required":["name"]},"ReadPaginatedProjectTicketCommentsDto":{"type":"object","properties":{"after":{"type":"string","example":null},"count":{"type":"number","example":1}},"required":["after","count"]},"ReadProjectTicketCommentDto":{"type":"object","properties":{"id":{"type":"string","example":"123e4567-e89b-12d3-a456-426614174000","description":"Unique ID of the ticket comment."},"text":{"type":"string","example":"This is a comment for the ticket.","description":"The text of the comment."},"ticket_id":{"type":"string","example":"123e4567-e89b-12d3-a456-426614174000","description":"ID of the ticket this comment belongs to."},"created_by":{"type":"string","nullable":true,"example":"123e4567-e89b-12d3-a456-426614174000","description":"The unique identifier of the creator of the entity."},"created_at":{"type":"string","format":"date-time","example":"2021-07-01T00:00:00.000Z","description":"The date when the entity was created (on the client)."},"updated_at":{"type":"string","format":"date-time","example":"2021-07-01T00:00:00.000Z","description":"The date when the entity was last updated (on the client)."},"deleted_at":{"type":"string","nullable":true,"format":"date-time","example":"2021-07-01T00:00:00.000Z","description":"The date when the entity was deleted (on the client)."}},"required":["id","text","ticket_id","created_by","created_at","updated_at","deleted_at"]},"ReadAttachmentFileDto":{"type":"object","properties":{"type":{"type":"string","example":"image/png","description":"The type of the file.","nullable":true},"name":{"type":"string","example":"file.png","description":"The file name","nullable":true},"signed_download_url":{"type":"string","example":"https://example.com/download/file.png","description":"The file signed URL."}},"required":["type","name","signed_download_url"]},"ReadTicketAttachmentDto":{"type":"object","properties":{"source_id":{"type":"string","description":"The unique identifier of the source. This is a user-generated string. You can use this to link the person to a resource in an external system.","example":"123e4567-e89b-12d3-a456-426614174000"},"created_by":{"type":"string","nullable":true,"example":"123e4567-e89b-12d3-a456-426614174000","description":"The unique identifier of the creator of the entity."},"created_at":{"type":"string","format":"date-time","example":"2021-07-01T00:00:00.000Z","description":"The date when the entity was created (on the client)."},"updated_at":{"type":"string","format":"date-time","example":"2021-07-01T00:00:00.000Z","description":"The date when the entity was last updated (on the client)."},"deleted_at":{"type":"string","nullable":true,"format":"date-time","example":"2021-07-01T00:00:00.000Z","description":"The date when the entity was deleted (on the client)."},"server_created_at":{"type":"string","format":"date-time","example":"2021-07-01T00:00:00.000Z","description":"The date when the entity was created (on the server)."},"server_updated_at":{"type":"string","format":"date-time","example":"2021-07-01T00:00:00.000Z","description":"The date when the entity was last updated (on the server)."},"server_deleted_at":{"type":"string","nullable":true,"format":"date-time","example":"2021-07-01T00:00:00.000Z","description":"The date when the entity was deleted (on the server)."},"id":{"type":"string","example":"123e4567-e89b-12d3-a456-426614174000","description":"The unique identifier of the ticket attachment."},"ticket_id":{"type":"string","example":"123e4567-e89b-12d3-a456-426614174000","description":"ID of the ticket this attachment belongs to."},"project_id":{"type":"string","example":"123e4567-e89b-12d3-a456-426614174000","description":"ID of the project this attachment belongs to."},"file":{"example":{"type":"image/png","signed_download_url":"https://example.com/download/file.png"},"description":"The file attached to the ticket.","allOf":[{"$ref":"#/components/schemas/ReadAttachmentFileDto"}]}},"required":["created_by","created_at","updated_at","deleted_at","server_created_at","server_updated_at","server_deleted_at","id","ticket_id","project_id","file"]},"CreateAttachmentInputDto":{"type":"object","properties":{"source_id":{"type":"string","description":"The unique identifier of the source. This is a user-generated string. You can use this to link the person to a resource in an external system.","example":"123e4567-e89b-12d3-a456-426614174000"},"name":{"type":"string","description":"The name of the file after initial upload.","example":"Report_2024.pdf"},"data_path":{"type":"string","description":"The data path of the file.","example":"9357781c-05da-11ef-9539-7b47b1fda975/Report_2024.pdf"},"mime_type":{"type":"string","description":"The mime type of the file.","example":"application/pdf"}},"required":["name","data_path"]},"ReadRoomListingDto":{"type":"object","properties":{"created_at":{"type":"string","format":"date-time","example":"2021-07-01T00:00:00.000Z","description":"The date when the entity was created (on the client)."},"updated_at":{"type":"string","format":"date-time","example":"2021-07-01T00:00:00.000Z","description":"The date when the entity was last updated (on the client)."},"deleted_at":{"type":"string","nullable":true,"format":"date-time","example":"2021-07-01T00:00:00.000Z","description":"The date when the entity was deleted (on the client)."},"server_created_at":{"type":"string","format":"date-time","example":"2021-07-01T00:00:00.000Z","description":"The date when the entity was created (on the server)."},"server_updated_at":{"type":"string","format":"date-time","example":"2021-07-01T00:00:00.000Z","description":"The date when the entity was last updated (on the server)."},"server_deleted_at":{"type":"string","nullable":true,"format":"date-time","example":"2021-07-01T00:00:00.000Z","description":"The date when the entity was deleted (on the server)."},"id":{"type":"string","example":"123e4567-e89b-12d3-a456-426614174000","description":"Unique ID of the room listing."},"name":{"type":"string","example":"Ground Floor","description":"The name of the room listing."},"description":{"type":"string","example":"Main entrance area","description":"The description of the room listing."},"parent_id":{"type":"string","nullable":true,"example":"123e4567-e89b-12d3-a456-426614174000","description":"The ID of the parent room listing, if any."},"type_id":{"type":"string","example":"123e4567-e89b-12d3-a456-426614174000","description":"The ID of the room listing type."}},"required":["created_at","updated_at","deleted_at","server_created_at","server_updated_at","server_deleted_at","id","name","description","parent_id","type_id"]},"SiteJournalCustomTextDto":{"type":"object","properties":{"text":{"type":"string","nullable":true,"description":"Free-form text content for this custom text entry.","example":"Foundation work completed on the east wing."}},"required":["text"]},"ReadSiteJournalDto":{"type":"object","properties":{"source_id":{"type":"string","description":"The unique identifier of the source. This is a user-generated string. You can use this to link the person to a resource in an external system.","example":"123e4567-e89b-12d3-a456-426614174000"},"id":{"type":"string","example":"123e4567-e89b-12d3-a456-426614174000","description":"The unique identifier of the site journal."},"date":{"type":"string","description":"The date of the site journal in ISO format (YYYY-MM-DD).","example":"2025-01-13"},"project_id":{"type":"string","description":"The unique identifier of the project.","example":"adc99411-eaa2-11e9-11ed-efee563cda11"},"weather_observation":{"type":"object","description":"The description of the weather for the given day."},"visits":{"description":"Records the time interval of the visit.","type":"array","items":{"type":"string"}},"company_attendances":{"description":"Describes the attendance, namely how many people and which company they belong to.","type":"array","items":{"type":"string"}},"custom_texts":{"description":"Free-form custom text entries for this site journal.","type":"array","items":{"$ref":"#/components/schemas/SiteJournalCustomTextDto"}}},"required":["id","date","project_id","weather_observation","visits","company_attendances","custom_texts"]},"SiteJournalVisitDto":{"type":"object","properties":{"started_at":{"type":"string","nullable":true,"example":"11:00","description":"The start time (HH:mm) of a specific project stakeholder visit."},"ended_at":{"type":"string","nullable":true,"example":"12:00","description":"The end time (HH:mm) of a specific project stakeholder visit."},"visitor_id":{"type":"string","nullable":true,"example":"123e4567-e89b-12d3-a456-426614174000","description":"The unique identifier (UUID) of the contact person who visited."},"qualification":{"type":"string","nullable":true,"enum":["CONSTRUCTION_WORKER","SITE_MANAGER","SKILLED_WORKER","HELPER","ASSISTANT_WORKER","FOREMAN","FITTER","ASSEMBLY_SUPERVISOR","SENIOR_SITE_MANAGER","SENIOR_FITTER","SENIOR_FOREMAN","FOREMAN_CONSTRUCTION","PROJECT_MANAGER","PROJECT_PLANNER","SUPERVISOR","MASTER_FOREMAN","OTHER"],"example":"CONSTRUCTION_WORKER","description":"The job title/qualification of the visitor."}},"required":["started_at","ended_at","visitor_id","qualification"]},"SiteJournalWorkerEntryDto":{"type":"object","properties":{"id":{"type":"string","example":"123e4567-e89b-12d3-a456-426614174000","description":"The unique identifier (UUID) of the worker entry."},"started_at":{"type":"string","nullable":true,"example":"08:00","description":"The start time (HH:mm) of the worker entry."},"ended_at":{"type":"string","nullable":true,"example":"17:00","description":"The end time (HH:mm) of the worker entry."},"duration":{"type":"number","nullable":true,"example":480,"description":"Duration in minutes."},"worker_id":{"type":"string","nullable":true,"example":"123e4567-e89b-12d3-a456-426614174000","description":"The unique identifier (UUID) of the worker (contact book person)."},"qualification":{"type":"string","nullable":true,"enum":["CONSTRUCTION_WORKER","SITE_MANAGER","SKILLED_WORKER","HELPER","ASSISTANT_WORKER","FOREMAN","FITTER","ASSEMBLY_SUPERVISOR","SENIOR_SITE_MANAGER","SENIOR_FITTER","SENIOR_FOREMAN","FOREMAN_CONSTRUCTION","PROJECT_MANAGER","PROJECT_PLANNER","SUPERVISOR","MASTER_FOREMAN","OTHER"],"example":"CONSTRUCTION_WORKER","description":"The qualification of the worker."}},"required":["id","started_at","ended_at","duration","worker_id","qualification"]},"SiteJournalCompanyAttendanceDto":{"type":"object","properties":{"company_id":{"type":"string","example":"123e4567-e89b-12d3-a456-426614174000","description":"The company unique identifier (UUID) associated with the attendees."},"headcount":{"type":"number","nullable":true,"example":5,"description":"A positive number representing the number of attendees. Can be null."},"description":{"type":"string","nullable":true,"example":"Arrived late due to traffic.","description":"An optional note or annotation about the attendance."},"worker_entries":{"description":"Individual worker entries for this company attendance.","type":"array","items":{"$ref":"#/components/schemas/SiteJournalWorkerEntryDto"}}},"required":["company_id","headcount","description"]},"CreateSiteJournalDto":{"type":"object","properties":{"source_id":{"type":"string","description":"The unique identifier of the source. This is a user-generated string. You can use this to link the person to a resource in an external system.","example":"123e4567-e89b-12d3-a456-426614174000"},"date":{"type":"string","description":"The date of the site journal in ISO format (YYYY-MM-DD).","example":"2025-01-13"},"visits":{"description":"Records the time intervals of visits.","type":"array","items":{"$ref":"#/components/schemas/SiteJournalVisitDto"}},"weather_observation":{"type":"object","description":"The description of the weather for the given day."},"company_attendances":{"description":"Describes the attendance, namely how many people and which company they belong.","type":"array","items":{"$ref":"#/components/schemas/SiteJournalCompanyAttendanceDto"}},"custom_texts":{"description":"Free-form custom text entries.","type":"array","items":{"$ref":"#/components/schemas/SiteJournalCustomTextDto"}}},"required":["date"]},"UpdateSiteJournalDto":{"type":"object","properties":{"source_id":{"type":"string","description":"The unique identifier of the source. This is a user-generated string. You can use this to link the person to a resource in an external system.","example":"123e4567-e89b-12d3-a456-426614174000"},"date":{"type":"string","description":"The date of the site journal in ISO format (YYYY-MM-DD).","example":"2025-01-13"},"visits":{"description":"Records the time intervals of visits.","type":"array","items":{"$ref":"#/components/schemas/SiteJournalVisitDto"}},"weather_observation":{"type":"object","description":"The description of the weather for the given day."},"company_attendances":{"description":"Describes the attendance, namely how many people and which company they belong.","type":"array","items":{"$ref":"#/components/schemas/SiteJournalCompanyAttendanceDto"}},"custom_texts":{"description":"Free-form custom text entries.","type":"array","items":{"$ref":"#/components/schemas/SiteJournalCustomTextDto"}}}},"ReadChangeOrderDto":{"type":"object","properties":{"created_by":{"type":"string","nullable":true,"example":"123e4567-e89b-12d3-a456-426614174000","description":"The unique identifier of the creator of the entity."},"updated_by":{"type":"string","example":"123e4567-e89b-12d3-a456-426614174000","nullable":true,"description":"The unique identifier of the last user who updated the entity."},"created_at":{"type":"string","format":"date-time","example":"2021-07-01T00:00:00.000Z","description":"The date when the entity was created (on the client)."},"updated_at":{"type":"string","format":"date-time","example":"2021-07-01T00:00:00.000Z","description":"The date when the entity was last updated (on the client)."},"deleted_at":{"type":"string","nullable":true,"format":"date-time","example":"2021-07-01T00:00:00.000Z","description":"The date when the entity was deleted (on the client)."},"server_created_at":{"type":"string","format":"date-time","example":"2021-07-01T00:00:00.000Z","description":"The date when the entity was created (on the server)."},"server_updated_at":{"type":"string","format":"date-time","example":"2021-07-01T00:00:00.000Z","description":"The date when the entity was last updated (on the server)."},"server_deleted_at":{"type":"string","nullable":true,"format":"date-time","example":"2021-07-01T00:00:00.000Z","description":"The date when the entity was deleted (on the server)."},"id":{"type":"string","example":"123e4567-e89b-12d3-a456-426614174000","description":"Unique ID of the change order."},"project_id":{"type":"string","example":"123e4567-e89b-12d3-a456-426614174000","description":"The ID of the project this change order belongs to."},"workflow_id":{"type":"string","example":"123e4567-e89b-12d3-a456-426614174000","description":"The ID of the workflow this change order belongs to."},"step_id":{"type":"string","example":"123e4567-e89b-12d3-a456-426614174000","description":"The ID of the current step."},"name":{"type":"string","example":"Fix plumbing issue","description":"The display name of the change order."},"key":{"type":"number","example":1,"description":"Unique sequential key within the workflow."},"position":{"type":"number","example":0,"description":"Position within the current step."},"order_number":{"type":"string","nullable":true,"example":"CO-001","description":"The order number."},"reason_for_change":{"type":"string","nullable":true,"example":"Design change","description":"The reason for change."},"project_categories":{"nullable":true,"example":["123e4567-e89b-12d3-a456-426614174000","123e4567-e89b-12d3-a456-426614174001","123e4567-e89b-12d3-a456-426614174002"],"description":"Category IDs.","type":"array","items":{"type":"string"}},"change_order_type":{"nullable":true,"example":["VOBB_2_5"],"description":"The change order type (VOBB enum).","type":"array","items":{"type":"string"}},"bill_of_quantities":{"type":"string","nullable":true,"example":"BoQ-001","description":"Bill of quantities reference."},"project_companies":{"nullable":true,"example":["123e4567-e89b-12d3-a456-426614174000","123e4567-e89b-12d3-a456-426614174001","123e4567-e89b-12d3-a456-426614174002"],"description":"Company IDs.","type":"array","items":{"type":"string"}},"probability":{"nullable":true,"example":["medium"],"description":"Probability assessment.","type":"array","items":{"type":"string"}},"assignee":{"nullable":true,"example":["123e4567-e89b-12d3-a456-426614174000","123e4567-e89b-12d3-a456-426614174001","123e4567-e89b-12d3-a456-426614174002"],"description":"Assignee IDs.","type":"array","items":{"type":"string"}},"cost":{"type":"number","nullable":true,"example":5000,"description":"Cost value."},"is_completed":{"type":"boolean","nullable":true,"example":false,"description":"Completion flag."},"description":{"type":"string","nullable":true,"example":"Detailed description of the change order.","description":"Rich text description."}},"required":["created_by","updated_by","created_at","updated_at","deleted_at","server_created_at","server_updated_at","server_deleted_at","id","project_id","workflow_id","step_id","name","key","position","order_number","reason_for_change","project_categories","change_order_type","bill_of_quantities","project_companies","probability","assignee","cost","is_completed","description"]},"ReadChangeOrderStepDto":{"type":"object","properties":{"id":{"type":"string","example":"123e4567-e89b-12d3-a456-426614174000","description":"Unique ID of the step."},"name":{"type":"string","example":"Draft","description":"The display name of the step."},"type":{"type":"string","example":"TO_DO","description":"The type of the step (TO_DO, IN_PROGRESS, DONE)."},"position":{"type":"number","example":0,"description":"The position of the step within the workflow."}},"required":["id","name","type","position"]},"CreateChangeOrderDto":{"type":"object","properties":{"name":{"type":"string","example":"Fix plumbing issue","description":"The display name of the change order."},"order_number":{"type":"string","nullable":true,"example":"CO-001","description":"The order number."},"reason_for_change":{"type":"string","nullable":true,"example":"Design change","description":"The reason for change."},"project_categories":{"nullable":true,"example":["123e4567-e89b-12d3-a456-426614174000","123e4567-e89b-12d3-a456-426614174001","123e4567-e89b-12d3-a456-426614174002"],"description":"Category IDs.","type":"array","items":{"type":"string"}},"change_order_type":{"nullable":true,"example":["VOBB_2_5"],"description":"The change order type (VOBB enum).","type":"array","items":{"type":"string"}},"bill_of_quantities":{"type":"string","nullable":true,"example":"BoQ-001","description":"Bill of quantities reference."},"project_companies":{"nullable":true,"example":["123e4567-e89b-12d3-a456-426614174000","123e4567-e89b-12d3-a456-426614174001","123e4567-e89b-12d3-a456-426614174002"],"description":"Company IDs.","type":"array","items":{"type":"string"}},"probability":{"nullable":true,"example":["medium"],"description":"Probability assessment.","type":"array","items":{"type":"string"}},"assignee":{"nullable":true,"example":["123e4567-e89b-12d3-a456-426614174000","123e4567-e89b-12d3-a456-426614174001","123e4567-e89b-12d3-a456-426614174002"],"description":"Assignee IDs.","type":"array","items":{"type":"string"}},"cost":{"type":"number","nullable":true,"example":5000,"description":"Cost value."},"is_completed":{"type":"boolean","nullable":true,"example":false,"description":"Completion flag."},"description":{"type":"string","nullable":true,"example":"Detailed description","description":"Rich text description."},"step_id":{"type":"string","nullable":true,"example":"123e4567-e89b-12d3-a456-426614174000","description":"The step ID to place the change order in."}},"required":["name"]},"UpdateChangeOrderDto":{"type":"object","properties":{"name":{"type":"string","example":"Fix plumbing issue","description":"The display name of the change order."},"order_number":{"type":"string","nullable":true,"example":"CO-001","description":"The order number."},"reason_for_change":{"type":"string","nullable":true,"example":"Design change","description":"The reason for change."},"project_categories":{"nullable":true,"example":["123e4567-e89b-12d3-a456-426614174000","123e4567-e89b-12d3-a456-426614174001","123e4567-e89b-12d3-a456-426614174002"],"description":"Category IDs.","type":"array","items":{"type":"string"}},"change_order_type":{"nullable":true,"example":["VOBB_2_5"],"description":"The change order type (VOBB enum).","type":"array","items":{"type":"string"}},"bill_of_quantities":{"type":"string","nullable":true,"example":"BoQ-001","description":"Bill of quantities reference."},"project_companies":{"nullable":true,"example":["123e4567-e89b-12d3-a456-426614174000","123e4567-e89b-12d3-a456-426614174001","123e4567-e89b-12d3-a456-426614174002"],"description":"Company IDs.","type":"array","items":{"type":"string"}},"probability":{"nullable":true,"example":["medium"],"description":"Probability assessment.","type":"array","items":{"type":"string"}},"assignee":{"nullable":true,"example":["123e4567-e89b-12d3-a456-426614174000","123e4567-e89b-12d3-a456-426614174001","123e4567-e89b-12d3-a456-426614174002"],"description":"Assignee IDs.","type":"array","items":{"type":"string"}},"cost":{"type":"number","nullable":true,"example":5000,"description":"Cost value."},"is_completed":{"type":"boolean","nullable":true,"example":false,"description":"Completion flag."},"description":{"type":"string","nullable":true,"example":"Detailed description","description":"Rich text description."},"step_id":{"type":"string","nullable":true,"example":"123e4567-e89b-12d3-a456-426614174000","description":"The step ID to place the change order in."}}},"ReadSharePointDriveItemDto":{"type":"object","properties":{"id":{"type":"string","description":"The external item identifier.","example":"01Y3XGEQSYVJYJUB4325C3R3CRL7FKXGS4"},"name":{"type":"string","description":"The SharePoint item name.","example":"Plans"},"type":{"type":"string","enum":["FOLDER","FILE"],"description":"The item type.","example":"FOLDER"},"parent_id":{"type":"string","nullable":true,"description":"Parent folder id. Null at the drive root.","example":null},"path":{"type":"string","nullable":true,"description":"Provider-relative path when available.","example":"/Plans"},"created_at":{"type":"string","nullable":true,"description":"ISO 8601 creation timestamp when available.","example":"2021-01-01T00:00:00.000Z"},"updated_at":{"type":"string","nullable":true,"description":"ISO 8601 last update timestamp when available.","example":"2021-01-01T00:00:00.000Z"}},"required":["id","name","type","parent_id","path","created_at","updated_at"]},"ReadSharePointSyncConfigItemDto":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"type":{"type":"string","enum":["FOLDER","FILE"]}},"required":["id","name","type"]},"ReadSharePointSyncConfigObjectDto":{"type":"object","properties":{"site_id":{"type":"string"},"drive_id":{"type":"string"},"items":{"type":"array","items":{"$ref":"#/components/schemas/ReadSharePointSyncConfigItemDto"}}},"required":["site_id","drive_id","items"]},"ReadSharePointIntegrationSyncConfigurationDto":{"type":"object","properties":{"id":{"type":"string","description":"The integration configuration identifier.","example":"525983ec-4db2-5a68-92ba-21b3ed0a047c"},"project_id":{"type":"string","description":"The project identifier.","example":"525983ec-4db2-5a68-92ba-21b3ed0a047c"},"sync_cde_folder_id":{"type":"string","description":"The CDE folder created for this integration.","example":"525983ec-4db2-5a68-92ba-21b3ed0a047c"},"sync_config_object":{"$ref":"#/components/schemas/ReadSharePointSyncConfigObjectDto"},"created_at":{"type":"string","nullable":true,"description":"ISO 8601 creation timestamp.","example":"2021-01-01T00:00:00.000Z"},"updated_at":{"type":"string","nullable":true,"description":"ISO 8601 last update timestamp.","example":"2021-01-01T00:00:00.000Z"}},"required":["id","project_id","sync_cde_folder_id","sync_config_object","created_at","updated_at"]},"SharePointSyncConfigItemDto":{"type":"object","properties":{"id":{"type":"string","description":"The external folder or file identifier.","example":"01Y3XGEQSYVJYJUB4325C3R3CRL7FKXGS4"},"name":{"type":"string","description":"The SharePoint item name.","example":"Plans"},"type":{"type":"string","enum":["FOLDER","FILE"],"description":"The item type.","example":"FOLDER"}},"required":["id","name","type"]},"SharePointSyncConfigObjectDto":{"type":"object","properties":{"site_id":{"type":"string","description":"The SharePoint site identifier.","example":"capmogmbh.sharepoint.com,75266cc9-c99e-4376-b885-6a02ae1f7043,93f0ae9d-be60-4f1d-bbb6-a6ef3e3a8378"},"drive_id":{"type":"string","description":"The SharePoint drive identifier.","example":"b!k4imsQDE7EicQ3Rkiag1tzl3H5TdRzNGhVLjYT18kqxsn5ChzH6qRrKHvMxOB1EH"},"items":{"description":"Folders selected for project document sync.","type":"array","items":{"$ref":"#/components/schemas/SharePointSyncConfigItemDto"}}},"required":["site_id","drive_id","items"]},"CreateSharePointIntegrationSyncConfigurationDto":{"type":"object","properties":{"sync_config_object":{"description":"SharePoint folders to synchronise for the project.","allOf":[{"$ref":"#/components/schemas/SharePointSyncConfigObjectDto"}]}},"required":["sync_config_object"]},"UpdateSharePointIntegrationSyncConfigurationDto":{"type":"object","properties":{"sync_config_object":{"description":"SharePoint folders to synchronise for the project.","allOf":[{"$ref":"#/components/schemas/SharePointSyncConfigObjectDto"}]}},"required":["sync_config_object"]}}},"x-readme":{"headers":[{"key":"Request-Id","value":"YOUR_REQUEST_ID"}]}}