@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api Issue Tracking API
@base https://unify.apideck.com
@version 10.24.14
@auth ApiKey Authorization in header
@common_fields {x-apideck-consumer-id: str, x-apideck-app-id: str, raw: bool=false, x-apideck-service-id: str}
@endpoints 15
@toc issue-tracking(15)

@endpoint GET /issue-tracking/collections
@optional {cursor: str, limit: int=20, sort: map, pass_through: map, fields: str}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: [map], meta: map{items_on_page: int, cursors: map{previous: str?, current: str?, next: str?}}, links: map{previous: str?, current: str, next: str?}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint GET /issue-tracking/collections/{collection_id}
@required {collection_id: str}
@optional {fields: str}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str, parent_id: str?, type: str?, name: str?, description: str?, custom_mappings: map?, updated_at: str(date-time)?, created_at: str(date-time)?}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint GET /issue-tracking/collections/{collection_id}/tickets
@required {collection_id: str}
@optional {cursor: str, limit: int=20, sort: map, filter: map, pass_through: map, fields: str}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: [map], meta: map{items_on_page: int, cursors: map{previous: str?, current: str?, next: str?}}, links: map{previous: str?, current: str, next: str?}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint POST /issue-tracking/collections/{collection_id}/tickets
@required {collection_id: str, id: str}
@optional {parent_id: str, collection_id: str, type: str, subject: str, description: str, status: str, priority: str(low/normal/high/urgent), assignees: [map{id!: str, username: str}], updated_at: str(date-time), created_at: str(date-time), created_by: str, due_date: str(date-time), completed_at: str(date-time), tags: [map{id!: str, name: str, custom_mappings: map}], custom_mappings: map, pass_through: [map{service_id!: str, operation_id: str, extend_object: map, extend_paths: [map]}]}
@returns(201) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint GET /issue-tracking/collections/{collection_id}/tickets/{ticket_id}
@required {ticket_id: str, collection_id: str}
@optional {fields: str}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str, parent_id: str?, collection_id: str?, type: str?, subject: str?, description: str?, status: str?, priority: str?, assignees: [map], updated_at: str(date-time)?, created_at: str(date-time)?, created_by: str?, due_date: str(date-time)?, completed_at: str(date-time)?, tags: [map], custom_mappings: map?, pass_through: [map]}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint PATCH /issue-tracking/collections/{collection_id}/tickets/{ticket_id}
@required {ticket_id: str, collection_id: str, id: str}
@optional {parent_id: str, collection_id: str, type: str, subject: str, description: str, status: str, priority: str(low/normal/high/urgent), assignees: [map{id!: str, username: str}], updated_at: str(date-time), created_at: str(date-time), created_by: str, due_date: str(date-time), completed_at: str(date-time), tags: [map{id!: str, name: str, custom_mappings: map}], custom_mappings: map, pass_through: [map{service_id!: str, operation_id: str, extend_object: map, extend_paths: [map]}]}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint DELETE /issue-tracking/collections/{collection_id}/tickets/{ticket_id}
@required {ticket_id: str, collection_id: str}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint GET /issue-tracking/collections/{collection_id}/tickets/{ticket_id}/comments
@required {collection_id: str, ticket_id: str}
@optional {cursor: str, limit: int=20, sort: map, pass_through: map, fields: str}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: [map], meta: map{items_on_page: int, cursors: map{previous: str?, current: str?, next: str?}}, links: map{previous: str?, current: str, next: str?}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint POST /issue-tracking/collections/{collection_id}/tickets/{ticket_id}/comments
@required {collection_id: str, ticket_id: str}
@optional {id: str, body: str, custom_mappings: map, created_by: str, updated_at: str(date-time), created_at: str(date-time), pass_through: [map{service_id!: str, operation_id: str, extend_object: map, extend_paths: [map]}]}
@returns(201) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint GET /issue-tracking/collections/{collection_id}/tickets/{ticket_id}/comments/{id}
@required {id: str, collection_id: str, ticket_id: str}
@optional {cursor: str, limit: int=20, fields: str}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str, body: str?, custom_mappings: map?, created_by: str?, updated_at: str(date-time)?, created_at: str(date-time)?, pass_through: [map]}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint PATCH /issue-tracking/collections/{collection_id}/tickets/{ticket_id}/comments/{id}
@required {id: str, collection_id: str, ticket_id: str}
@optional {id: str, body: str, custom_mappings: map, created_by: str, updated_at: str(date-time), created_at: str(date-time), pass_through: [map{service_id!: str, operation_id: str, extend_object: map, extend_paths: [map]}]}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint DELETE /issue-tracking/collections/{collection_id}/tickets/{ticket_id}/comments/{id}
@required {id: str, collection_id: str, ticket_id: str}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint GET /issue-tracking/collections/{collection_id}/users
@required {collection_id: str}
@optional {cursor: str, limit: int=20, pass_through: map, fields: str}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: [map], meta: map{items_on_page: int, cursors: map{previous: str?, current: str?, next: str?}}, links: map{previous: str?, current: str, next: str?}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint GET /issue-tracking/collections/{collection_id}/users/{id}
@required {collection_id: str, id: str}
@optional {fields: str}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str?, name: str?, first_name: str?, last_name: str?, email: str?, photo_url: str?, custom_mappings: map?, updated_at: str(date-time)?, created_at: str(date-time)?}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint GET /issue-tracking/collections/{collection_id}/tags
@required {collection_id: str}
@optional {cursor: str, limit: int=20, pass_through: map, fields: str}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: [map], meta: map{items_on_page: int, cursors: map{previous: str?, current: str?, next: str?}}, links: map{previous: str?, current: str, next: str?}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@end
