openapi: 3.1.0 info: title: Accounting subpackage_items 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_items paths: /accounting/v1/items: get: operationId: list summary: List description: Returns a list of `Item` objects.{/* BEGIN_ACCOUNTING_ITEM_FETCH_SUPPORTED_FIELDS */}{/* END_ACCOUNTING_ITEM_FETCH_SUPPORTED_FIELDS */} tags: - subpackage_items parameters: - name: company_id in: query description: If provided, will only return items for this company. 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: 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/ItemsGetParametersExpandSchemaItems' - 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 items 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: remote_fields in: query description: Deprecated. Use show_enum_origins. required: false schema: $ref: '#/components/schemas/ItemsGetParametersRemoteFields' - 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/ItemsGetParametersShowEnumOrigins' - 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/PaginatedItemList' post: operationId: create summary: Create description: Creates an `Item` object with the given values.{/* BEGIN_ACCOUNTING_ITEM_CREATE_SUPPORTED_FIELDS */}{/* END_ACCOUNTING_ITEM_CREATE_SUPPORTED_FIELDS */} tags: - subpackage_items 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/ItemResponse' requestBody: content: application/json: schema: $ref: '#/components/schemas/ItemEndpointRequest' /accounting/v1/items/{id}: get: operationId: retrieve summary: Retrieve description: Returns an `Item` object with the given `id`.{/* BEGIN_ACCOUNTING_ITEM_FETCH_SUPPORTED_FIELDS */}{/* END_ACCOUNTING_ITEM_FETCH_SUPPORTED_FIELDS */} tags: - subpackage_items 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/ItemsIdGetParametersExpandSchemaItems' - 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/ItemsIdGetParametersRemoteFields' - 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/ItemsIdGetParametersShowEnumOrigins' - 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/Item' patch: operationId: partial-update summary: Partial Update description: Updates an `Item` object with the given `id`.{/* BEGIN_ACCOUNTING_ITEM_EDIT_SUPPORTED_FIELDS */}{/* END_ACCOUNTING_ITEM_EDIT_SUPPORTED_FIELDS */} tags: - subpackage_items 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/ItemResponse' requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedItemEndpointRequest' /accounting/v1/items/meta/patch/{id}: get: operationId: meta-patch-retrieve summary: Meta Patch Retrieve description: Returns metadata for `Item` PATCHs.{/* BEGIN_ACCOUNTING_ITEM_FETCH_SUPPORTED_FIELDS */}{/* END_ACCOUNTING_ITEM_FETCH_SUPPORTED_FIELDS */} tags: - subpackage_items 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' /accounting/v1/items/meta/post: get: operationId: meta-post-retrieve summary: Meta Post Retrieve description: Returns metadata for `Item` POSTs.{/* BEGIN_ACCOUNTING_ITEM_FETCH_SUPPORTED_FIELDS */}{/* END_ACCOUNTING_ITEM_FETCH_SUPPORTED_FIELDS */} tags: - subpackage_items parameters: - 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' components: schemas: PatchedItemEndpointRequest: type: object properties: model: $ref: '#/components/schemas/PatchedItemRequestRequest' required: - model title: PatchedItemEndpointRequest 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 ItemsIdGetParametersRemoteFields: type: string enum: - status title: ItemsIdGetParametersRemoteFields ItemsGetParametersRemoteFields: type: string enum: - status title: ItemsGetParametersRemoteFields PaginatedItemList: type: object properties: next: type: - string - 'null' previous: type: - string - 'null' results: type: array items: $ref: '#/components/schemas/Item' title: PaginatedItemList ItemFieldMappings: type: object properties: organization_defined_targets: type: object additionalProperties: description: Any type linked_account_defined_targets: type: object additionalProperties: description: Any type title: ItemFieldMappings ItemResponse: type: object properties: model: $ref: '#/components/schemas/Item' 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: ItemResponse Type2bbEnum: type: string enum: - INVENTORY - NON_INVENTORY - SERVICE - UNKNOWN title: Type2bbEnum Item: 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 item's name. status: oneOf: - $ref: '#/components/schemas/Status7d1Enum' - type: 'null' description: The item's status. type: oneOf: - $ref: '#/components/schemas/Type2bbEnum' - type: 'null' description: The item's type. unit_price: type: - number - 'null' format: double description: The item's unit price. purchase_price: type: - number - 'null' format: double description: The price at which the item is purchased from a vendor. purchase_account: type: - string - 'null' format: uuid description: References the default account used to record a purchase of the item. sales_account: type: - string - 'null' format: uuid description: References the default account used to record a sale. company: type: - string - 'null' format: uuid description: The company the item belongs to. purchase_tax_rate: type: - string - 'null' format: uuid description: The default purchase tax rate for this item. sales_tax_rate: type: - string - 'null' format: uuid description: The default sales tax rate for this item. remote_updated_at: type: - string - 'null' format: date-time description: When the third party's item note 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/ItemFieldMappings' - type: 'null' remote_data: type: - array - 'null' items: $ref: '#/components/schemas/RemoteData' description: '# The Item Object ### Description The `Item` object refers to the goods involved in a transaction. ### Usage Example Fetch from the `LIST Items` endpoint and view a company''s items.' title: Item 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 ItemsGetParametersShowEnumOrigins: type: string enum: - status title: ItemsGetParametersShowEnumOrigins Status7d1Enum: type: string enum: - ACTIVE - ARCHIVED title: Status7d1Enum 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 ItemsGetParametersExpandSchemaItems: type: string enum: - company - purchase_account - purchase_tax_rate - sales_account - sales_tax_rate title: ItemsGetParametersExpandSchemaItems PatchedItemRequestRequest: type: object properties: name: type: - string - 'null' description: The item's name. status: oneOf: - $ref: '#/components/schemas/Status7d1Enum' - type: 'null' description: The item's status. type: oneOf: - $ref: '#/components/schemas/Type2bbEnum' - type: 'null' description: The item's type. unit_price: type: - number - 'null' format: double description: The item's unit price. purchase_price: type: - number - 'null' format: double description: The price at which the item is purchased from a vendor. purchase_account: type: - string - 'null' format: uuid description: References the default account used to record a purchase of the item. sales_account: type: - string - 'null' format: uuid description: References the default account used to record a sale. company: type: - string - 'null' format: uuid description: The company the item belongs to. purchase_tax_rate: type: - string - 'null' format: uuid description: The default purchase tax rate for this item. sales_tax_rate: type: - string - 'null' format: uuid description: The default sales tax rate for this item. integration_params: type: - object - 'null' additionalProperties: description: Any type linked_account_params: type: - object - 'null' additionalProperties: description: Any type description: '# The Item Object ### Description The `Item` object refers to the goods involved in a transaction. ### Usage Example Fetch from the `LIST Items` endpoint and view a company''s items.' title: PatchedItemRequestRequest 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 ItemsIdGetParametersShowEnumOrigins: type: string enum: - status title: ItemsIdGetParametersShowEnumOrigins 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 ItemsIdGetParametersExpandSchemaItems: type: string enum: - company - purchase_account - purchase_tax_rate - sales_account - sales_tax_rate title: ItemsIdGetParametersExpandSchemaItems 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 ItemEndpointRequest: type: object properties: model: $ref: '#/components/schemas/ItemRequestRequest' required: - model title: ItemEndpointRequest ItemRequestRequest: type: object properties: name: type: - string - 'null' description: The item's name. status: oneOf: - $ref: '#/components/schemas/Status7d1Enum' - type: 'null' description: The item's status. type: oneOf: - $ref: '#/components/schemas/Type2bbEnum' - type: 'null' description: The item's type. unit_price: type: - number - 'null' format: double description: The item's unit price. purchase_price: type: - number - 'null' format: double description: The price at which the item is purchased from a vendor. purchase_account: type: - string - 'null' format: uuid description: References the default account used to record a purchase of the item. sales_account: type: - string - 'null' format: uuid description: References the default account used to record a sale. company: type: - string - 'null' format: uuid description: The company the item belongs to. purchase_tax_rate: type: - string - 'null' format: uuid description: The default purchase tax rate for this item. sales_tax_rate: type: - string - 'null' format: uuid description: The default sales tax rate for this item. integration_params: type: - object - 'null' additionalProperties: description: Any type linked_account_params: type: - object - 'null' additionalProperties: description: Any type description: '# The Item Object ### Description The `Item` object refers to the goods involved in a transaction. ### Usage Example Fetch from the `LIST Items` endpoint and view a company''s items.' title: ItemRequestRequest securitySchemes: tokenAuth: type: http scheme: bearer description: Token-based authentication with required prefix "Bearer"