openapi: 3.1.0
info:
title: Accounting subpackage_tickets API
version: 1.0.0
servers:
- url: https://api.merge.dev/api
- url: https://api-eu.merge.dev/api
- url: https://api-ap.merge.dev/api
tags:
- name: subpackage_tickets
paths:
/ticketing/v1/tickets:
get:
operationId: list
summary: List
description: Returns a list of `Ticket` objects.{/* BEGIN_TICKETING_TICKET_FETCH_SUPPORTED_FIELDS */}{/* END_TICKETING_TICKET_FETCH_SUPPORTED_FIELDS */}
tags:
- subpackage_tickets
parameters:
- name: account_id
in: query
description: If provided, will only return tickets for this account.
required: false
schema:
type: string
- name: assignee_ids
in: query
description: If provided, will only return tickets assigned to the assignee_ids; multiple assignee_ids can be separated by commas.
required: false
schema:
type: string
- name: collection_ids
in: query
description: If provided, will only return tickets assigned to the specified collection_ids, including tickets in any nested or child collections. Multiple collection_ids can be separated by commas.
required: false
schema:
type: string
- name: completed_after
in: query
description: If provided, will only return tickets completed after this datetime.
required: false
schema:
type: string
format: date-time
- name: completed_before
in: query
description: If provided, will only return tickets completed before this datetime.
required: false
schema:
type: string
format: date-time
- name: contact_id
in: query
description: If provided, will only return tickets for this contact.
required: false
schema:
type: string
- name: created_after
in: query
description: If provided, will only return objects created after this datetime.
required: false
schema:
type: string
format: date-time
- name: created_before
in: query
description: If provided, will only return objects created before this datetime.
required: false
schema:
type: string
format: date-time
- name: creator_id
in: query
description: If provided, will only return tickets created by this creator_id.
required: false
schema:
type: string
- name: creator_ids
in: query
description: If provided, will only return tickets created by the creator_ids; multiple creator_ids can be separated by commas.
required: false
schema:
type: string
- name: cursor
in: query
description: The pagination cursor value.
required: false
schema:
type: string
- name: due_after
in: query
description: If provided, will only return tickets due after this datetime.
required: false
schema:
type: string
format: date-time
- name: due_before
in: query
description: If provided, will only return tickets due before this datetime.
required: false
schema:
type: string
format: date-time
- name: expand
in: query
description: Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces.
required: false
schema:
type: array
items:
$ref: '#/components/schemas/TicketsGetParametersExpandSchemaItems'
- name: include_deleted_data
in: query
description: Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/).
required: false
schema:
type: boolean
- name: include_remote_data
in: query
description: Whether to include the original data Merge fetched from the third-party to produce these models.
required: false
schema:
type: boolean
- name: include_remote_fields
in: query
description: Whether to include all remote fields, including fields that Merge did not map to common models, in a normalized format.
required: false
schema:
type: boolean
- name: include_shell_data
in: query
description: Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null).
required: false
schema:
type: boolean
- name: modified_after
in: query
description: If provided, only objects synced by Merge after this date time will be returned.
required: false
schema:
type: string
format: date-time
- name: modified_before
in: query
description: If provided, only objects synced by Merge before this date time will be returned.
required: false
schema:
type: string
format: date-time
- name: name
in: query
description: If provided, will only return tickets with this name.
required: false
schema:
type: string
- name: page_size
in: query
description: Number of results to return per page. The maximum limit is 100.
required: false
schema:
type: integer
- name: parent_ticket_id
in: query
description: If provided, will only return sub tickets of the parent_ticket_id.
required: false
schema:
type: string
- name: priority
in: query
description: 'If provided, will only return tickets of this priority.
'
required: false
schema:
$ref: '#/components/schemas/TicketsGetParametersPriority'
- name: remote_created_after
in: query
description: If provided, will only return tickets created in the third party platform after this datetime.
required: false
schema:
type: string
format: date-time
- name: remote_created_before
in: query
description: If provided, will only return tickets created in the third party platform before this datetime.
required: false
schema:
type: string
format: date-time
- name: remote_fields
in: query
description: Deprecated. Use show_enum_origins.
required: false
schema:
$ref: '#/components/schemas/TicketsGetParametersRemoteFields'
- name: remote_id
in: query
description: The API provider's ID for the given object.
required: false
schema:
type: string
- name: remote_ids
in: query
description: If provided, will only return tickets with these remote IDs (comma-separated).
required: false
schema:
type: string
- name: remote_updated_after
in: query
description: If provided, will only return tickets updated in the third party platform after this datetime.
required: false
schema:
type: string
format: date-time
- name: remote_updated_before
in: query
description: If provided, will only return tickets updated in the third party platform before this datetime.
required: false
schema:
type: string
format: date-time
- name: show_enum_origins
in: query
description: A comma separated list of enum field names for which you'd like the original values to be returned, instead of Merge's normalized enum values. [Learn more](https://help.merge.dev/en/articles/8950958-show_enum_origins-query-parameter)
required: false
schema:
$ref: '#/components/schemas/TicketsGetParametersShowEnumOrigins'
- name: status
in: query
description: If provided, will only return tickets of this status.
required: false
schema:
type: string
- name: tags
in: query
description: If provided, will only return tickets matching the tags; multiple tags can be separated by commas.
required: false
schema:
type: string
- name: ticket_type
in: query
description: If provided, will only return tickets of this type.
required: false
schema:
type: string
- name: ticket_url
in: query
description: If provided, will only return tickets where the URL matches or contains the substring
required: false
schema:
type: string
format: uri
- name: Authorization
in: header
description: Token-based authentication with required prefix "Bearer"
required: true
schema:
type: string
- name: X-Account-Token
in: header
description: Token identifying the end user.
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedTicketList'
post:
operationId: create
summary: Create
description: Creates a `Ticket` object with the given values.{/* BEGIN_TICKETING_TICKET_CREATE_SUPPORTED_FIELDS */}{/* END_TICKETING_TICKET_CREATE_SUPPORTED_FIELDS */}
tags:
- subpackage_tickets
parameters:
- name: is_debug_mode
in: query
description: Whether to include debug fields (such as log file links) in the response.
required: false
schema:
type: boolean
- name: run_async
in: query
description: Whether or not third-party updates should be run asynchronously.
required: false
schema:
type: boolean
- name: Authorization
in: header
description: Token-based authentication with required prefix "Bearer"
required: true
schema:
type: string
- name: X-Account-Token
in: header
description: Token identifying the end user.
required: true
schema:
type: string
responses:
'201':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/TicketResponse'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/TicketEndpointRequest'
/ticketing/v1/tickets/{id}:
get:
operationId: retrieve
summary: Retrieve
description: Returns a `Ticket` object with the given `id`.{/* BEGIN_TICKETING_TICKET_FETCH_SUPPORTED_FIELDS */}{/* END_TICKETING_TICKET_FETCH_SUPPORTED_FIELDS */}
tags:
- subpackage_tickets
parameters:
- name: id
in: path
required: true
schema:
type: string
format: uuid
- name: expand
in: query
description: Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces.
required: false
schema:
type: array
items:
$ref: '#/components/schemas/TicketsIdGetParametersExpandSchemaItems'
- name: include_remote_data
in: query
description: Whether to include the original data Merge fetched from the third-party to produce these models.
required: false
schema:
type: boolean
- name: include_remote_fields
in: query
description: Whether to include all remote fields, including fields that Merge did not map to common models, in a normalized format.
required: false
schema:
type: boolean
- name: include_shell_data
in: query
description: Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null).
required: false
schema:
type: boolean
- name: remote_fields
in: query
description: Deprecated. Use show_enum_origins.
required: false
schema:
$ref: '#/components/schemas/TicketsIdGetParametersRemoteFields'
- name: show_enum_origins
in: query
description: A comma separated list of enum field names for which you'd like the original values to be returned, instead of Merge's normalized enum values. [Learn more](https://help.merge.dev/en/articles/8950958-show_enum_origins-query-parameter)
required: false
schema:
$ref: '#/components/schemas/TicketsIdGetParametersShowEnumOrigins'
- name: Authorization
in: header
description: Token-based authentication with required prefix "Bearer"
required: true
schema:
type: string
- name: X-Account-Token
in: header
description: Token identifying the end user.
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/Ticket'
patch:
operationId: partial-update
summary: Partial Update
description: Updates a `Ticket` object with the given `id`.{/* BEGIN_TICKETING_TICKET_EDIT_SUPPORTED_FIELDS */}{/* END_TICKETING_TICKET_EDIT_SUPPORTED_FIELDS */}
tags:
- subpackage_tickets
parameters:
- name: id
in: path
required: true
schema:
type: string
format: uuid
- name: is_debug_mode
in: query
description: Whether to include debug fields (such as log file links) in the response.
required: false
schema:
type: boolean
- name: run_async
in: query
description: Whether or not third-party updates should be run asynchronously.
required: false
schema:
type: boolean
- name: Authorization
in: header
description: Token-based authentication with required prefix "Bearer"
required: true
schema:
type: string
- name: X-Account-Token
in: header
description: Token identifying the end user.
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/TicketResponse'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedTicketEndpointRequest'
/ticketing/v1/tickets/{ticket_id}/viewers:
get:
operationId: viewers-list
summary: Viewers List
description: Returns a list of `Viewer` objects that point to a User id or Team id that is either an assignee or viewer on a `Ticket` with the given id. [Learn more.](https://help.merge.dev/en/articles/10333658-ticketing-access-control-list-acls){/* BEGIN_TICKETING_TICKET_FETCH_SUPPORTED_FIELDS */}{/* END_TICKETING_TICKET_FETCH_SUPPORTED_FIELDS */}
tags:
- subpackage_tickets
parameters:
- name: ticket_id
in: path
required: true
schema:
type: string
format: uuid
- name: cursor
in: query
description: The pagination cursor value.
required: false
schema:
type: string
- name: expand
in: query
description: Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces.
required: false
schema:
type: array
items:
$ref: '#/components/schemas/TicketsTicketIdViewersGetParametersExpandSchemaItems'
- name: include_deleted_data
in: query
description: Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/).
required: false
schema:
type: boolean
- name: include_remote_data
in: query
description: Whether to include the original data Merge fetched from the third-party to produce these models.
required: false
schema:
type: boolean
- name: include_shell_data
in: query
description: Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null).
required: false
schema:
type: boolean
- name: page_size
in: query
description: Number of results to return per page. The maximum limit is 100.
required: false
schema:
type: integer
- name: Authorization
in: header
description: Token-based authentication with required prefix "Bearer"
required: true
schema:
type: string
- name: X-Account-Token
in: header
description: Token identifying the end user.
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedViewerList'
/ticketing/v1/tickets/live-search:
get:
operationId: live-search-list
summary: Live Search List
description: Returns a list of `Ticket` objects.{/* BEGIN_TICKETING_TICKET_FETCH_SUPPORTED_FIELDS */}{/* END_TICKETING_TICKET_FETCH_SUPPORTED_FIELDS */}
tags:
- subpackage_tickets
parameters:
- name: assignee_ids
in: query
description: Filter tickets by assignee IDs (comma-separated)
required: false
schema:
type: string
- name: assignees
in: query
description: Filter tickets by assignee names (comma-separated)
required: false
schema:
type: string
- name: collection_ids
in: query
description: Filter tickets by collection IDs (comma-separated)
required: false
schema:
type: string
- name: collections
in: query
description: Filter tickets by collection names (comma-separated)
required: false
schema:
type: string
- name: include_deleted_data
in: query
description: Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/).
required: false
schema:
type: boolean
- name: include_remote_fields
in: query
description: Whether to include all remote fields, including fields that Merge did not map to common models, in a normalized format.
required: false
schema:
type: boolean
- name: include_shell_data
in: query
description: Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null).
required: false
schema:
type: boolean
- name: name
in: query
description: Filter tickets by name/title
required: false
schema:
type: string
- name: remote_cursor
in: query
description: Pagination cursor for remote data
required: false
schema:
type: string
- name: remote_fields
in: query
description: Deprecated. Use show_enum_origins.
required: false
schema:
$ref: '#/components/schemas/TicketsLiveSearchGetParametersRemoteFields'
- name: show_enum_origins
in: query
description: A comma separated list of enum field names for which you'd like the original values to be returned, instead of Merge's normalized enum values. [Learn more](https://help.merge.dev/en/articles/8950958-show_enum_origins-query-parameter)
required: false
schema:
$ref: '#/components/schemas/TicketsLiveSearchGetParametersShowEnumOrigins'
- name: status
in: query
description: Filter tickets by status
required: false
schema:
type: string
- name: ticket_url
in: query
description: Filter tickets by URL
required: false
schema:
type: string
- name: Authorization
in: header
description: Token-based authentication with required prefix "Bearer"
required: true
schema:
type: string
- name: X-Account-Token
in: header
description: Token identifying the end user.
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
type: string
format: binary
/ticketing/v1/tickets/meta/patch/{id}:
get:
operationId: meta-patch-retrieve
summary: Meta Patch Retrieve
description: Returns metadata for `Ticket` PATCHs.{/* BEGIN_TICKETING_TICKET_FETCH_SUPPORTED_FIELDS */}{/* END_TICKETING_TICKET_FETCH_SUPPORTED_FIELDS */}
tags:
- subpackage_tickets
parameters:
- name: id
in: path
required: true
schema:
type: string
format: uuid
- name: Authorization
in: header
description: Token-based authentication with required prefix "Bearer"
required: true
schema:
type: string
- name: X-Account-Token
in: header
description: Token identifying the end user.
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/MetaResponse'
/ticketing/v1/tickets/meta/post:
get:
operationId: meta-post-retrieve
summary: Meta Post Retrieve
description: Returns metadata for `Ticket` POSTs.{/* BEGIN_TICKETING_TICKET_FETCH_SUPPORTED_FIELDS */}{/* END_TICKETING_TICKET_FETCH_SUPPORTED_FIELDS */}
tags:
- subpackage_tickets
parameters:
- name: collection_id
in: query
description: If provided, will only return tickets for this collection.
required: false
schema:
type: string
- name: ticket_type
in: query
description: If provided, will only return tickets for this ticket type.
required: false
schema:
type: string
- name: Authorization
in: header
description: Token-based authentication with required prefix "Bearer"
required: true
schema:
type: string
- name: X-Account-Token
in: header
description: Token identifying the end user.
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/MetaResponse'
/ticketing/v1/tickets/remote-field-classes:
get:
operationId: remote-field-classes-list
summary: Remote Field Classes List
description: Returns a list of `RemoteFieldClass` objects.{/* BEGIN_TICKETING_TICKET_FETCH_SUPPORTED_FIELDS */}{/* END_TICKETING_TICKET_FETCH_SUPPORTED_FIELDS */}
tags:
- subpackage_tickets
parameters:
- name: cursor
in: query
description: The pagination cursor value.
required: false
schema:
type: string
- name: ids
in: query
description: If provided, will only return remote field classes with the `ids` in this list
required: false
schema:
type: string
- name: include_deleted_data
in: query
description: Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/).
required: false
schema:
type: boolean
- name: include_remote_data
in: query
description: Whether to include the original data Merge fetched from the third-party to produce these models.
required: false
schema:
type: boolean
- name: include_shell_data
in: query
description: Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null).
required: false
schema:
type: boolean
- name: is_common_model_field
in: query
description: If provided, will only return remote field classes with this is_common_model_field value
required: false
schema:
type: boolean
- name: is_custom
in: query
description: If provided, will only return remote fields classes with this is_custom value
required: false
schema:
type: boolean
- name: page_size
in: query
description: Number of results to return per page. The maximum limit is 100.
required: false
schema:
type: integer
- name: Authorization
in: header
description: Token-based authentication with required prefix "Bearer"
required: true
schema:
type: string
- name: X-Account-Token
in: header
description: Token identifying the end user.
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedRemoteFieldClassList'
components:
schemas:
PermissionFieldMappings:
type: object
properties:
organization_defined_targets:
type: object
additionalProperties:
description: Any type
linked_account_defined_targets:
type: object
additionalProperties:
description: Any type
title: PermissionFieldMappings
TicketsGetParametersShowEnumOrigins:
type: string
enum:
- priority
- priority,status
- priority,status,ticket_type
- priority,ticket_type
- status
- status,ticket_type
- ticket_type
title: TicketsGetParametersShowEnumOrigins
PriorityEnum:
type: string
enum:
- URGENT
- HIGH
- NORMAL
- LOW
title: PriorityEnum
ErrorValidationProblem:
type: object
properties:
source:
$ref: '#/components/schemas/ValidationProblemSource'
title:
type: string
detail:
type: string
problem_type:
type: string
block_merge_link:
type: boolean
raw_error:
type: string
error_code:
type: integer
required:
- title
- detail
- problem_type
title: ErrorValidationProblem
TicketRequest:
type: object
properties:
name:
type:
- string
- 'null'
description: The ticket's name.
assignees:
type: array
items:
type: string
format: uuid
description: The individual `Users` who are assigned to this ticket. This does not include `Users` who just have view access to this ticket. To fetch all `Users` and `Teams` that can access the ticket, use the `GET /tickets/{ticket_id}/viewers` [endpoint](https://docs.merge.dev/ticketing/tickets/#tickets_viewers_list).
assigned_teams:
type: array
items:
type: string
format: uuid
description: The `Teams` that are assigned to this ticket. This does not include `Teams` who just have view access to this ticket. To fetch all `Users` and `Teams` that can access this ticket, use the `GET /tickets/{ticket_id}/viewers` [endpoint](https://docs.merge.dev/ticketing/tickets/#tickets_viewers_list).
creator:
type:
- string
- 'null'
format: uuid
description: The user who created this ticket.
due_date:
type:
- string
- 'null'
format: date-time
description: The ticket's due date.
status:
oneOf:
- $ref: '#/components/schemas/TicketStatusEnum'
- type: 'null'
description: The current status of the ticket.
description:
type:
- string
- 'null'
description: The ticket’s description. HTML version of description is mapped if supported by the third-party platform.
collections:
type: array
items:
type: string
format: uuid
description: The `Collections` that this `Ticket` is included in.
ticket_type:
type:
- string
- 'null'
description: The sub category of the ticket within the 3rd party system. Examples include incident, task, subtask or to-do.
account:
type:
- string
- 'null'
format: uuid
description: The account associated with the ticket.
contact:
type:
- string
- 'null'
format: uuid
description: The contact associated with the ticket.
parent_ticket:
type:
- string
- 'null'
format: uuid
description: The ticket's parent ticket.
attachments:
type: array
items:
type: string
format: uuid
access_level:
oneOf:
- $ref: '#/components/schemas/TicketAccessLevelEnum'
- type: 'null'
description: The description of who is able to access a given ticket, or where access is inherited from.
tags:
type: array
items:
type: string
roles:
type: array
items:
type: string
format: uuid
ticket_url:
type:
- string
- 'null'
format: uri
description: The 3rd party url of the Ticket.
priority:
oneOf:
- $ref: '#/components/schemas/PriorityEnum'
- type: 'null'
description: The priority or urgency of the Ticket.
completed_at:
type:
- string
- 'null'
format: date-time
description: When the ticket was completed.
integration_params:
type:
- object
- 'null'
additionalProperties:
description: Any type
linked_account_params:
type:
- object
- 'null'
additionalProperties:
description: Any type
remote_fields:
type: array
items:
$ref: '#/components/schemas/RemoteFieldRequest'
description: '# The Ticket Object
### Description
The `Ticket` object is used to represent a ticket, issue, task or case.
### Usage Example
TODO'
title: TicketRequest
RemoteFieldRequest:
type: object
properties:
remote_field_class:
type: string
format: uuid
value:
type: object
additionalProperties:
description: Any type
required:
- remote_field_class
title: RemoteFieldRequest
TicketsIdGetParametersShowEnumOrigins:
type: string
enum:
- priority
- priority,status
- priority,status,ticket_type
- priority,ticket_type
- status
- status,ticket_type
- ticket_type
title: TicketsIdGetParametersShowEnumOrigins
ActionsEnum:
type: string
enum:
- VIEW
- CREATE
- EDIT
- DELETE
title: ActionsEnum
TicketsLiveSearchGetParametersRemoteFields:
type: string
enum:
- priority
- priority,status
- priority,status,ticket_type
- priority,ticket_type
- status
- status,ticket_type
- ticket_type
title: TicketsLiveSearchGetParametersRemoteFields
ItemTypeEnum:
type: string
enum:
- string
- number
- date
- datetime
- bool
- list
title: ItemTypeEnum
PaginatedTicketList:
type: object
properties:
next:
type:
- string
- 'null'
previous:
type:
- string
- 'null'
results:
type: array
items:
$ref: '#/components/schemas/Ticket'
title: PaginatedTicketList
ItemFormatEnum:
type: string
enum:
- string
- number
- date
- datetime
- bool
- list
title: ItemFormatEnum
TicketsLiveSearchGetParametersShowEnumOrigins:
type: string
enum:
- priority
- priority,status
- priority,status,ticket_type
- priority,ticket_type
- status
- status,ticket_type
- ticket_type
title: TicketsLiveSearchGetParametersShowEnumOrigins
PaginatedViewerList:
type: object
properties:
next:
type:
- string
- 'null'
previous:
type:
- string
- 'null'
results:
type: array
items:
$ref: '#/components/schemas/Viewer'
title: PaginatedViewerList
TicketFieldMappings:
type: object
properties:
organization_defined_targets:
type: object
additionalProperties:
description: Any type
linked_account_defined_targets:
type: object
additionalProperties:
description: Any type
title: TicketFieldMappings
TicketsGetParametersExpandSchemaItems:
type: string
enum:
- account
- assigned_teams
- assignees
- attachments
- collections
- contact
- creator
- parent_ticket
- permissions
title: TicketsGetParametersExpandSchemaItems
TicketsIdGetParametersRemoteFields:
type: string
enum:
- priority
- priority,status
- priority,status,ticket_type
- priority,ticket_type
- status
- status,ticket_type
- ticket_type
title: TicketsIdGetParametersRemoteFields
TicketResponse:
type: object
properties:
model:
$ref: '#/components/schemas/Ticket'
warnings:
type: array
items:
$ref: '#/components/schemas/WarningValidationProblem'
errors:
type: array
items:
$ref: '#/components/schemas/ErrorValidationProblem'
logs:
type: array
items:
$ref: '#/components/schemas/DebugModeLog'
required:
- model
- warnings
- errors
title: TicketResponse
Viewer:
type: object
properties:
id:
type: string
format: uuid
remote_id:
type:
- string
- 'null'
description: The third-party API ID of the matching object.
created_at:
type: string
format: date-time
description: The datetime that this object was created by Merge.
modified_at:
type: string
format: date-time
description: The datetime that this object was modified by Merge.
team:
type:
- string
- 'null'
format: uuid
description: The Team this Viewer belongs to.
user:
type:
- string
- 'null'
format: uuid
description: The User this Viewer belongs to.
description: '# The Viewer Object
### Description
The `Viewer` object is used to represent a User or Team within a company.
### Usage Example
TODO'
title: Viewer
TicketsGetParametersPriority:
type: string
enum:
- HIGH
- LOW
- NORMAL
- URGENT
title: TicketsGetParametersPriority
WarningValidationProblem:
type: object
properties:
source:
$ref: '#/components/schemas/ValidationProblemSource'
title:
type: string
detail:
type: string
problem_type:
type: string
block_merge_link:
type: boolean
raw_error:
type: string
error_code:
type: integer
required:
- title
- detail
- problem_type
title: WarningValidationProblem
TicketStatusEnum:
type: string
enum:
- OPEN
- CLOSED
- IN_PROGRESS
- ON_HOLD
title: TicketStatusEnum
EffectEnum:
type: string
enum:
- ALLOWED
- DENIED
- INHERITED
title: EffectEnum
TicketsGetParametersRemoteFields:
type: string
enum:
- priority
- priority,status
- priority,status,ticket_type
- priority,ticket_type
- status
- status,ticket_type
- ticket_type
title: TicketsGetParametersRemoteFields
DebugModeLog:
type: object
properties:
log_id:
type: string
dashboard_view:
type: string
log_summary:
$ref: '#/components/schemas/DebugModelLogSummary'
required:
- log_id
- dashboard_view
- log_summary
title: DebugModeLog
TicketAccessLevelEnum:
type: string
enum:
- COMPANY
- PUBLIC
- PRIVATE
- COLLECTION
title: TicketAccessLevelEnum
MetaResponse:
type: object
properties:
request_schema:
type: object
additionalProperties:
description: Any type
status:
$ref: '#/components/schemas/LinkedAccountStatus'
has_conditional_params:
type: boolean
has_required_linked_account_params:
type: boolean
remote_fields:
type: array
items:
type: string
format: uuid
description: Remote field values to populate
required:
- request_schema
- has_conditional_params
- has_required_linked_account_params
title: MetaResponse
PaginatedRemoteFieldClassList:
type: object
properties:
next:
type:
- string
- 'null'
previous:
type:
- string
- 'null'
results:
type: array
items:
$ref: '#/components/schemas/RemoteFieldClass'
title: PaginatedRemoteFieldClassList
PatchedTicketEndpointRequest:
type: object
properties:
model:
$ref: '#/components/schemas/PatchedTicketRequest'
required:
- model
title: PatchedTicketEndpointRequest
Ticket:
type: object
properties:
id:
type: string
format: uuid
remote_id:
type:
- string
- 'null'
description: The third-party API ID of the matching object.
created_at:
type: string
format: date-time
description: The datetime that this object was created by Merge.
modified_at:
type: string
format: date-time
description: The datetime that this object was modified by Merge.
name:
type:
- string
- 'null'
description: The ticket's name.
assignees:
type: array
items:
type: string
format: uuid
description: The individual `Users` who are assigned to this ticket. This does not include `Users` who just have view access to this ticket. To fetch all `Users` and `Teams` that can access the ticket, use the `GET /tickets/{ticket_id}/viewers` [endpoint](https://docs.merge.dev/ticketing/tickets/#tickets_viewers_list).
assigned_teams:
type: array
items:
type: string
format: uuid
description: The `Teams` that are assigned to this ticket. This does not include `Teams` who just have view access to this ticket. To fetch all `Users` and `Teams` that can access this ticket, use the `GET /tickets/{ticket_id}/viewers` [endpoint](https://docs.merge.dev/ticketing/tickets/#tickets_viewers_list).
creator:
type:
- string
- 'null'
format: uuid
description: The user who created this ticket.
due_date:
type:
- string
- 'null'
format: date-time
description: The ticket's due date.
status:
oneOf:
- $ref: '#/components/schemas/TicketStatusEnum'
- type: 'null'
description: The current status of the ticket.
description:
type:
- string
- 'null'
description: The ticket’s description. HTML version of description is mapped if supported by the third-party platform.
collections:
type: array
items:
type: string
format: uuid
description: The `Collections` that this `Ticket` is included in.
ticket_type:
type:
- string
- 'null'
description: The sub category of the ticket within the 3rd party system. Examples include incident, task, subtask or to-do.
account:
type:
- string
- 'null'
format: uuid
description: The account associated with the ticket.
contact:
type:
- string
- 'null'
format: uuid
description: The contact associated with the ticket.
parent_ticket:
type:
- string
- 'null'
format: uuid
description: The ticket's parent ticket.
attachments:
type: array
items:
type: string
format: uuid
access_level:
oneOf:
- $ref: '#/components/schemas/TicketAccessLevelEnum'
- type: 'null'
description: The description of who is able to access a given ticket, or where access is inherited from.
permissions:
type: array
items:
$ref: '#/components/schemas/Permission'
tags:
type: array
items:
type: string
roles:
type: array
items:
type: string
format: uuid
ticket_url:
type:
- string
- 'null'
format: uri
description: The 3rd party url of the Ticket.
priority:
oneOf:
- $ref: '#/components/schemas/PriorityEnum'
- type: 'null'
description: The priority or urgency of the Ticket.
remote_created_at:
type:
- string
- 'null'
format: date-time
description: When the third party's ticket was created.
remote_updated_at:
type:
- string
- 'null'
format: date-time
description: When the third party's ticket was updated.
completed_at:
type:
- string
- 'null'
format: date-time
description: When the ticket was completed.
remote_was_deleted:
type: boolean
description: Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/).
field_mappings:
oneOf:
- $ref: '#/components/schemas/TicketFieldMappings'
- type: 'null'
remote_data:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/RemoteData'
remote_fields:
type: array
items:
$ref: '#/components/schemas/RemoteField'
description: '# The Ticket Object
### Description
The `Ticket` object is used to represent a ticket, issue, task or case.
### Usage Example
TODO'
title: Ticket
ItemSchema:
type: object
properties:
item_type:
$ref: '#/components/schemas/ItemTypeEnum'
item_format:
$ref: '#/components/schemas/ItemFormatEnum'
item_choices:
type: array
items:
type: string
title: ItemSchema
TicketsIdGetParametersExpandSchemaItems:
type: string
enum:
- account
- assigned_teams
- assignees
- attachments
- collections
- contact
- creator
- parent_ticket
- permissions
title: TicketsIdGetParametersExpandSchemaItems
RemoteData:
type: object
properties:
path:
type: string
description: The third-party API path that is being called.
data:
description: The data returned from the third-party for this object in its original, unnormalized format.
required:
- path
description: '# The RemoteData Object
### Description
The `RemoteData` object is used to represent the full data pulled from the third-party API for an object.
### Usage Example
TODO'
title: RemoteData
ValidationProblemSource:
type: object
properties:
pointer:
type: string
required:
- pointer
title: ValidationProblemSource
RemoteFieldClass:
type: object
properties:
id:
type: string
display_name:
type: string
remote_key_name:
type: string
description:
type: string
is_custom:
type: boolean
is_common_model_field:
type: boolean
is_required:
type: boolean
field_type:
$ref: '#/components/schemas/FieldTypeEnum'
field_format:
$ref: '#/components/schemas/FieldFormatEnum'
field_choices:
type: array
items:
type: string
item_schema:
$ref: '#/components/schemas/ItemSchema'
title: RemoteFieldClass
RemoteField:
type: object
properties:
remote_field_class:
$ref: '#/components/schemas/RemoteFieldClass'
value:
type: object
additionalProperties:
description: Any type
required:
- remote_field_class
title: RemoteField
Permission:
type: object
properties:
id:
type: string
format: uuid
remote_id:
type:
- string
- 'null'
description: The third-party API ID of the matching object.
created_at:
type: string
format: date-time
description: The datetime that this object was created by Merge.
modified_at:
type: string
format: date-time
description: The datetime that this object was modified by Merge.
effect:
oneOf:
- $ref: '#/components/schemas/EffectEnum'
- type: 'null'
description: Outcome of this permission rule for matching users.
actions:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/ActionsEnum'
description: Operations that this permission applies to. If the entity inherits permission from a parent entity, then this should be an empty array. In that case, the entity would inherit the parent entity’s actions.
applied_to_users:
type: array
items:
type: string
format: uuid
applied_to_roles:
type: array
items:
type: string
format: uuid
applied_to_teams:
type: array
items:
type: string
format: uuid
applied_to_collections:
type: array
items:
type: string
format: uuid
remote_was_deleted:
type: boolean
description: Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/).
field_mappings:
oneOf:
- $ref: '#/components/schemas/PermissionFieldMappings'
- type: 'null'
description: '# The Permission Object
### Description
The `Permission` object is used to represent permissions that can be applied to users, roles, teams, collections, and tickets.
### Usage Example
TODO'
title: Permission
PatchedTicketRequest:
type: object
properties:
name:
type:
- string
- 'null'
description: The ticket's name.
assignees:
type: array
items:
type: string
format: uuid
description: The individual `Users` who are assigned to this ticket. This does not include `Users` who just have view access to this ticket. To fetch all `Users` and `Teams` that can access the ticket, use the `GET /tickets/{ticket_id}/viewers` [endpoint](https://docs.merge.dev/ticketing/tickets/#tickets_viewers_list).
assigned_teams:
type: array
items:
type: string
format: uuid
description: The `Teams` that are assigned to this ticket. This does not include `Teams` who just have view access to this ticket. To fetch all `Users` and `Teams` that can access this ticket, use the `GET /tickets/{ticket_id}/viewers` [endpoint](https://docs.merge.dev/ticketing/tickets/#tickets_viewers_list).
creator:
type:
- string
- 'null'
format: uuid
description: The user who created this ticket.
due_date:
type:
- string
- 'null'
format: date-time
description: The ticket's due date.
status:
oneOf:
- $ref: '#/components/schemas/TicketStatusEnum'
- type: 'null'
description: The current status of the ticket.
description:
type:
- string
- 'null'
description: The ticket’s description. HTML version of description is mapped if supported by the third-party platform.
collections:
type: array
items:
type: string
format: uuid
description: The `Collections` that this `Ticket` is included in.
ticket_type:
type:
- string
- 'null'
description: The sub category of the ticket within the 3rd party system. Examples include incident, task, subtask or to-do.
account:
type:
- string
- 'null'
format: uuid
description: The account associated with the ticket.
contact:
type:
- string
- 'null'
format: uuid
description: The contact associated with the ticket.
parent_ticket:
type:
- string
- 'null'
format: uuid
description: The ticket's parent ticket.
access_level:
oneOf:
- $ref: '#/components/schemas/TicketAccessLevelEnum'
- type: 'null'
description: The description of who is able to access a given ticket, or where access is inherited from.
tags:
type: array
items:
type: string
roles:
type: array
items:
type: string
format: uuid
ticket_url:
type:
- string
- 'null'
format: uri
description: The 3rd party url of the Ticket.
priority:
oneOf:
- $ref: '#/components/schemas/PriorityEnum'
- type: 'null'
description: The priority or urgency of the Ticket.
completed_at:
type:
- string
- 'null'
format: date-time
description: When the ticket was completed.
integration_params:
type:
- object
- 'null'
additionalProperties:
description: Any type
linked_account_params:
type:
- object
- 'null'
additionalProperties:
description: Any type
remote_fields:
type: array
items:
$ref: '#/components/schemas/RemoteFieldRequest'
description: '# The Ticket Object
### Description
The `Ticket` object is used to represent a ticket, issue, task or case.
### Usage Example
TODO'
title: PatchedTicketRequest
FieldFormatEnum:
type: string
enum:
- string
- number
- date
- datetime
- bool
- list
title: FieldFormatEnum
DebugModelLogSummary:
type: object
properties:
url:
type: string
method:
type: string
status_code:
type: integer
required:
- url
- method
- status_code
title: DebugModelLogSummary
LinkedAccountStatus:
type: object
properties:
linked_account_status:
type: string
can_make_request:
type: boolean
required:
- linked_account_status
- can_make_request
title: LinkedAccountStatus
FieldTypeEnum:
type: string
enum:
- string
- number
- date
- datetime
- bool
- list
title: FieldTypeEnum
TicketsTicketIdViewersGetParametersExpandSchemaItems:
type: string
enum:
- team
- user
title: TicketsTicketIdViewersGetParametersExpandSchemaItems
TicketEndpointRequest:
type: object
properties:
model:
$ref: '#/components/schemas/TicketRequest'
required:
- model
title: TicketEndpointRequest
securitySchemes:
tokenAuth:
type: http
scheme: bearer
description: Token-based authentication with required prefix "Bearer"