openapi: 3.1.0 info: title: Accounting subpackage_collections 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_collections paths: /ticketing/v1/collections: get: operationId: list summary: List description: Returns a list of `Collection` objects.{/* BEGIN_TICKETING_COLLECTION_FETCH_SUPPORTED_FIELDS */}{/* END_TICKETING_COLLECTION_FETCH_SUPPORTED_FIELDS */} tags: - subpackage_collections parameters: - name: collection_type in: query description: If provided, will only return collections of the given type. required: false schema: $ref: '#/components/schemas/CollectionsGetParametersCollectionType' - 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: 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/CollectionsGetParametersExpandSchemaItems' - 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: 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 collections 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_collection_id in: query description: If provided, will only return collections whose parent collection matches the given id. required: false schema: type: string - name: remote_fields in: query description: Deprecated. Use show_enum_origins. required: false schema: $ref: '#/components/schemas/CollectionsGetParametersRemoteFields' - name: remote_id in: query description: The API provider's ID for the given object. required: false schema: type: string - 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/CollectionsGetParametersShowEnumOrigins' - 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/PaginatedCollectionList' /ticketing/v1/collections/{collection_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 `Collection` with the given id. [Learn more.](https://help.merge.dev/en/articles/10333658-ticketing-access-control-list-acls){/* BEGIN_TICKETING_COLLECTION_FETCH_SUPPORTED_FIELDS */}{/* END_TICKETING_COLLECTION_FETCH_SUPPORTED_FIELDS */} tags: - subpackage_collections parameters: - name: collection_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/CollectionsCollectionIdViewersGetParametersExpandSchemaItems' - 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/collections/{id}: get: operationId: retrieve summary: Retrieve description: Returns a `Collection` object with the given `id`.{/* BEGIN_TICKETING_COLLECTION_FETCH_SUPPORTED_FIELDS */}{/* END_TICKETING_COLLECTION_FETCH_SUPPORTED_FIELDS */} tags: - subpackage_collections 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/CollectionsIdGetParametersExpandSchemaItems' - 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: remote_fields in: query description: Deprecated. Use show_enum_origins. required: false schema: $ref: '#/components/schemas/CollectionsIdGetParametersRemoteFields' - 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/CollectionsIdGetParametersShowEnumOrigins' - 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/Collection' 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 CollectionsGetParametersShowEnumOrigins: type: string enum: - collection_type title: CollectionsGetParametersShowEnumOrigins CollectionAccessLevelEnum: type: string enum: - PRIVATE - COMPANY - PUBLIC - PARENT_COLLECTION title: CollectionAccessLevelEnum ActionsEnum: type: string enum: - VIEW - CREATE - EDIT - DELETE title: ActionsEnum CollectionsIdGetParametersExpandSchemaItems: type: string enum: - parent_collection - permissions title: CollectionsIdGetParametersExpandSchemaItems CollectionTypeEnum: type: string enum: - LIST - PROJECT title: CollectionTypeEnum PaginatedViewerList: type: object properties: next: type: - string - 'null' previous: type: - string - 'null' results: type: array items: $ref: '#/components/schemas/Viewer' title: PaginatedViewerList CollectionFieldMappings: type: object properties: organization_defined_targets: type: object additionalProperties: description: Any type linked_account_defined_targets: type: object additionalProperties: description: Any type title: CollectionFieldMappings 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 EffectEnum: type: string enum: - ALLOWED - DENIED - INHERITED title: EffectEnum PaginatedCollectionList: type: object properties: next: type: - string - 'null' previous: type: - string - 'null' results: type: array items: $ref: '#/components/schemas/Collection' title: PaginatedCollectionList 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 CollectionsGetParametersExpandSchemaItems: type: string enum: - parent_collection - permissions title: CollectionsGetParametersExpandSchemaItems 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 CollectionsCollectionIdViewersGetParametersExpandSchemaItems: type: string enum: - team - user title: CollectionsCollectionIdViewersGetParametersExpandSchemaItems Collection: 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 collection's name. description: type: - string - 'null' description: The collection's description. access_level: oneOf: - $ref: '#/components/schemas/CollectionAccessLevelEnum' - type: 'null' description: The level of access a User has to the Collection and its sub-objects. collection_type: oneOf: - $ref: '#/components/schemas/CollectionTypeEnum' - type: 'null' description: The collection's type. parent_collection: type: - string - 'null' format: uuid description: The parent collection for this collection. permissions: type: array items: $ref: '#/components/schemas/Permission' collection_url: type: - string - 'null' format: uri description: The 3rd party url of the Collection. remote_created_at: type: - string - 'null' format: date-time description: When the third party's collection was created. remote_updated_at: type: - string - 'null' format: date-time description: When the third party's collection was updated. 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/CollectionFieldMappings' - type: 'null' remote_data: type: - array - 'null' items: $ref: '#/components/schemas/RemoteData' description: '# The Collection Object ### Description The `Collection` object is used to represent one or more `Tickets`. There can be a hierarchy of `Collections`, in which a sub-collection belongs to a parent-collection. ### Usage Example TODO' title: Collection CollectionsIdGetParametersRemoteFields: type: string enum: - collection_type title: CollectionsIdGetParametersRemoteFields CollectionsIdGetParametersShowEnumOrigins: type: string enum: - collection_type title: CollectionsIdGetParametersShowEnumOrigins CollectionsGetParametersCollectionType: type: string enum: - '' - LIST - PROJECT title: CollectionsGetParametersCollectionType CollectionsGetParametersRemoteFields: type: string enum: - collection_type title: CollectionsGetParametersRemoteFields securitySchemes: tokenAuth: type: http scheme: bearer description: Token-based authentication with required prefix "Bearer"