openapi: 3.1.0
info:
title: Accounting subpackage_articles 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_articles
paths:
/knowledgebase/v1/articles:
get:
operationId: list
summary: List
description: Returns a list of `Article` objects.
tags:
- subpackage_articles
parameters:
- 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:
$ref: '#/components/schemas/ArticlesGetParametersExpand'
- 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: page_size
in: query
description: Number of results to return per page. The maximum limit is 100.
required: false
schema:
type: integer
- name: parent_article_id
in: query
description: If provided, will only return sub articles of the parent_article_id.
required: false
schema:
type: string
- name: parent_container_id
in: query
description: If provided, will only return sub articles of the parent_container_id.
required: false
schema:
type: string
- name: remote_id
in: query
description: The API provider's ID for the given object.
required: false
schema:
type: string
- name: root_container_id
in: query
description: If provided, will only return sub articles of the root_container_id.
required: false
schema:
type: string
- name: status
in: query
description: If provided, will only return articles of the given status; multiple statuses can be separated by commas.
required: false
schema:
type: string
- name: type
in: query
description: If provided, will only return articles of the given type.
required: false
schema:
$ref: '#/components/schemas/ArticlesGetParametersType'
- 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/PaginatedArticleList'
/knowledgebase/v1/articles/{id}:
get:
operationId: retrieve
summary: Retrieve
description: Returns an `Article` object with the given `id`.
tags:
- subpackage_articles
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:
$ref: '#/components/schemas/ArticlesIdGetParametersExpand'
- 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: 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/Article'
components:
schemas:
Status3c6Enum:
type: string
enum:
- DRAFT
- PUBLISHED
- ARCHIVED
- TRASH
description: '* `DRAFT` - DRAFT
* `PUBLISHED` - PUBLISHED
* `ARCHIVED` - ARCHIVED
* `TRASH` - TRASH'
title: Status3c6Enum
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.
user:
type:
- string
- 'null'
format: uuid
group:
type:
- string
- 'null'
format: uuid
type:
oneOf:
- $ref: '#/components/schemas/PermissionTypeEnum'
- type: 'null'
description: 'Denotes what type of people have access to the Article or Container.
* `USER` - USER
* `GROUP` - GROUP
* `COMPANY` - COMPANY
* `ANYONE` - ANYONE'
roles:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/RolesEnum'
description: The permissions that the user or group has for the Article or Container. It is possible for a user or group to have multiple roles, such as viewing & uploading.
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 a user''s or group''s access to an article or container. Permissions are unexpanded by default.
### Usage Example'
title: Permission
ArticleFieldMappings:
type: object
properties: {}
title: ArticleFieldMappings
PermissionFieldMappings:
type: object
properties: {}
title: PermissionFieldMappings
PermissionTypeEnum:
type: string
enum:
- USER
- GROUP
- COMPANY
- ANYONE
description: '* `USER` - USER
* `GROUP` - GROUP
* `COMPANY` - COMPANY
* `ANYONE` - ANYONE'
title: PermissionTypeEnum
ArticlesIdGetParametersExpand:
type: string
enum:
- attachments
- attachments,author
- attachments,author,last_edited_by
- attachments,author,last_edited_by,parent_article
- attachments,author,last_edited_by,parent_article,parent_container
- attachments,author,last_edited_by,parent_article,parent_container,root_container
- attachments,author,last_edited_by,parent_article,root_container
- attachments,author,last_edited_by,parent_container
- attachments,author,last_edited_by,parent_container,root_container
- attachments,author,last_edited_by,root_container
- attachments,author,parent_article
- attachments,author,parent_article,parent_container
- attachments,author,parent_article,parent_container,root_container
- attachments,author,parent_article,root_container
- attachments,author,parent_container
- attachments,author,parent_container,root_container
- attachments,author,root_container
- attachments,last_edited_by
- attachments,last_edited_by,parent_article
- attachments,last_edited_by,parent_article,parent_container
- attachments,last_edited_by,parent_article,parent_container,root_container
- attachments,last_edited_by,parent_article,root_container
- attachments,last_edited_by,parent_container
- attachments,last_edited_by,parent_container,root_container
- attachments,last_edited_by,root_container
- attachments,parent_article
- attachments,parent_article,parent_container
- attachments,parent_article,parent_container,root_container
- attachments,parent_article,root_container
- attachments,parent_container
- attachments,parent_container,root_container
- attachments,root_container
- author
- author,last_edited_by
- author,last_edited_by,parent_article
- author,last_edited_by,parent_article,parent_container
- author,last_edited_by,parent_article,parent_container,root_container
- author,last_edited_by,parent_article,root_container
- author,last_edited_by,parent_container
- author,last_edited_by,parent_container,root_container
- author,last_edited_by,root_container
- author,parent_article
- author,parent_article,parent_container
- author,parent_article,parent_container,root_container
- author,parent_article,root_container
- author,parent_container
- author,parent_container,root_container
- author,root_container
- last_edited_by
- last_edited_by,parent_article
- last_edited_by,parent_article,parent_container
- last_edited_by,parent_article,parent_container,root_container
- last_edited_by,parent_article,root_container
- last_edited_by,parent_container
- last_edited_by,parent_container,root_container
- last_edited_by,root_container
- parent_article
- parent_article,parent_container
- parent_article,parent_container,root_container
- parent_article,root_container
- parent_container
- parent_container,root_container
- permissions
- permissions,attachments
- permissions,attachments,author
- permissions,attachments,author,last_edited_by
- permissions,attachments,author,last_edited_by,parent_article
- permissions,attachments,author,last_edited_by,parent_article,parent_container
- permissions,attachments,author,last_edited_by,parent_article,parent_container,root_container
- permissions,attachments,author,last_edited_by,parent_article,root_container
- permissions,attachments,author,last_edited_by,parent_container
- permissions,attachments,author,last_edited_by,parent_container,root_container
- permissions,attachments,author,last_edited_by,root_container
- permissions,attachments,author,parent_article
- permissions,attachments,author,parent_article,parent_container
- permissions,attachments,author,parent_article,parent_container,root_container
- permissions,attachments,author,parent_article,root_container
- permissions,attachments,author,parent_container
- permissions,attachments,author,parent_container,root_container
- permissions,attachments,author,root_container
- permissions,attachments,last_edited_by
- permissions,attachments,last_edited_by,parent_article
- permissions,attachments,last_edited_by,parent_article,parent_container
- permissions,attachments,last_edited_by,parent_article,parent_container,root_container
- permissions,attachments,last_edited_by,parent_article,root_container
- permissions,attachments,last_edited_by,parent_container
- permissions,attachments,last_edited_by,parent_container,root_container
- permissions,attachments,last_edited_by,root_container
- permissions,attachments,parent_article
- permissions,attachments,parent_article,parent_container
- permissions,attachments,parent_article,parent_container,root_container
- permissions,attachments,parent_article,root_container
- permissions,attachments,parent_container
- permissions,attachments,parent_container,root_container
- permissions,attachments,root_container
- permissions,author
- permissions,author,last_edited_by
- permissions,author,last_edited_by,parent_article
- permissions,author,last_edited_by,parent_article,parent_container
- permissions,author,last_edited_by,parent_article,parent_container,root_container
- permissions,author,last_edited_by,parent_article,root_container
- permissions,author,last_edited_by,parent_container
- permissions,author,last_edited_by,parent_container,root_container
- permissions,author,last_edited_by,root_container
- permissions,author,parent_article
- permissions,author,parent_article,parent_container
- permissions,author,parent_article,parent_container,root_container
- permissions,author,parent_article,root_container
- permissions,author,parent_container
- permissions,author,parent_container,root_container
- permissions,author,root_container
- permissions,last_edited_by
- permissions,last_edited_by,parent_article
- permissions,last_edited_by,parent_article,parent_container
- permissions,last_edited_by,parent_article,parent_container,root_container
- permissions,last_edited_by,parent_article,root_container
- permissions,last_edited_by,parent_container
- permissions,last_edited_by,parent_container,root_container
- permissions,last_edited_by,root_container
- permissions,parent_article
- permissions,parent_article,parent_container
- permissions,parent_article,parent_container,root_container
- permissions,parent_article,root_container
- permissions,parent_container
- permissions,parent_container,root_container
- permissions,root_container
- root_container
title: ArticlesIdGetParametersExpand
Article:
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.
title:
type:
- string
- 'null'
description: The title of the article.
description:
type:
- string
- 'null'
description: Description of the article.
author:
type:
- string
- 'null'
format: uuid
description: The user who created the article.
last_edited_by:
type:
- string
- 'null'
format: uuid
description: The user to last update the article.
visibility:
oneOf:
- $ref: '#/components/schemas/VisibilityEnum'
- type: 'null'
description: 'The visibility of the article.
* `PUBLIC` - PUBLIC
* `INTERNAL` - INTERNAL
* `RESTRICTED` - RESTRICTED'
article_content_download_url:
type:
- string
- 'null'
description: The presigned S3 URL to fetch article content.
checksum:
type:
- string
- 'null'
description: The SHA256 checksum of the article content.
article_url:
type:
- string
- 'null'
description: The URL to the webpage of the article.
status:
oneOf:
- $ref: '#/components/schemas/Status3c6Enum'
- type: 'null'
description: 'The status of the article.
* `DRAFT` - DRAFT
* `PUBLISHED` - PUBLISHED
* `ARCHIVED` - ARCHIVED
* `TRASH` - TRASH'
type:
oneOf:
- $ref: '#/components/schemas/ArticleTypeEnum'
- type: 'null'
description: 'The type of the article.
* `PAGE` - PAGE
* `BLOG_POST` - BLOG_POST
* `SMART_LINK` - SMART_LINK'
remote_created_at:
type:
- string
- 'null'
format: date-time
description: When the third party's article was created.
remote_updated_at:
type:
- string
- 'null'
format: date-time
description: When the third party's article was updated.
parent_article:
type:
- string
- 'null'
format: uuid
description: The parent article an article is nested within.
parent_container:
type:
- string
- 'null'
format: uuid
description: The parent container an article is nested within.
root_container:
type:
- string
- 'null'
format: uuid
description: The top-level container in the hierarchy that holds this article. This will reference a container object that will typically be a SPACE or WORKSPACE type.
permissions:
type: array
items:
$ref: '#/components/schemas/Permission'
attachments:
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/ArticleFieldMappings'
- type: 'null'
remote_data:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/RemoteData'
description: '# The Article Object
### Description
The `Article` object is used to represent a form of content in the knowledge base, such as an article or page.
### Usage Example
Fetch from the `GET /api/knowledgebase/articles` endpoint and view their articles.'
title: Article
ArticlesGetParametersType:
type: string
enum:
- ''
- BLOG_POST
- PAGE
- SMART_LINK
title: ArticlesGetParametersType
ArticleTypeEnum:
type: string
enum:
- PAGE
- BLOG_POST
- SMART_LINK
description: '* `PAGE` - PAGE
* `BLOG_POST` - BLOG_POST
* `SMART_LINK` - SMART_LINK'
title: ArticleTypeEnum
ArticlesGetParametersExpand:
type: string
enum:
- attachments
- attachments,author
- attachments,author,last_edited_by
- attachments,author,last_edited_by,parent_article
- attachments,author,last_edited_by,parent_article,parent_container
- attachments,author,last_edited_by,parent_article,parent_container,root_container
- attachments,author,last_edited_by,parent_article,root_container
- attachments,author,last_edited_by,parent_container
- attachments,author,last_edited_by,parent_container,root_container
- attachments,author,last_edited_by,root_container
- attachments,author,parent_article
- attachments,author,parent_article,parent_container
- attachments,author,parent_article,parent_container,root_container
- attachments,author,parent_article,root_container
- attachments,author,parent_container
- attachments,author,parent_container,root_container
- attachments,author,root_container
- attachments,last_edited_by
- attachments,last_edited_by,parent_article
- attachments,last_edited_by,parent_article,parent_container
- attachments,last_edited_by,parent_article,parent_container,root_container
- attachments,last_edited_by,parent_article,root_container
- attachments,last_edited_by,parent_container
- attachments,last_edited_by,parent_container,root_container
- attachments,last_edited_by,root_container
- attachments,parent_article
- attachments,parent_article,parent_container
- attachments,parent_article,parent_container,root_container
- attachments,parent_article,root_container
- attachments,parent_container
- attachments,parent_container,root_container
- attachments,root_container
- author
- author,last_edited_by
- author,last_edited_by,parent_article
- author,last_edited_by,parent_article,parent_container
- author,last_edited_by,parent_article,parent_container,root_container
- author,last_edited_by,parent_article,root_container
- author,last_edited_by,parent_container
- author,last_edited_by,parent_container,root_container
- author,last_edited_by,root_container
- author,parent_article
- author,parent_article,parent_container
- author,parent_article,parent_container,root_container
- author,parent_article,root_container
- author,parent_container
- author,parent_container,root_container
- author,root_container
- last_edited_by
- last_edited_by,parent_article
- last_edited_by,parent_article,parent_container
- last_edited_by,parent_article,parent_container,root_container
- last_edited_by,parent_article,root_container
- last_edited_by,parent_container
- last_edited_by,parent_container,root_container
- last_edited_by,root_container
- parent_article
- parent_article,parent_container
- parent_article,parent_container,root_container
- parent_article,root_container
- parent_container
- parent_container,root_container
- permissions
- permissions,attachments
- permissions,attachments,author
- permissions,attachments,author,last_edited_by
- permissions,attachments,author,last_edited_by,parent_article
- permissions,attachments,author,last_edited_by,parent_article,parent_container
- permissions,attachments,author,last_edited_by,parent_article,parent_container,root_container
- permissions,attachments,author,last_edited_by,parent_article,root_container
- permissions,attachments,author,last_edited_by,parent_container
- permissions,attachments,author,last_edited_by,parent_container,root_container
- permissions,attachments,author,last_edited_by,root_container
- permissions,attachments,author,parent_article
- permissions,attachments,author,parent_article,parent_container
- permissions,attachments,author,parent_article,parent_container,root_container
- permissions,attachments,author,parent_article,root_container
- permissions,attachments,author,parent_container
- permissions,attachments,author,parent_container,root_container
- permissions,attachments,author,root_container
- permissions,attachments,last_edited_by
- permissions,attachments,last_edited_by,parent_article
- permissions,attachments,last_edited_by,parent_article,parent_container
- permissions,attachments,last_edited_by,parent_article,parent_container,root_container
- permissions,attachments,last_edited_by,parent_article,root_container
- permissions,attachments,last_edited_by,parent_container
- permissions,attachments,last_edited_by,parent_container,root_container
- permissions,attachments,last_edited_by,root_container
- permissions,attachments,parent_article
- permissions,attachments,parent_article,parent_container
- permissions,attachments,parent_article,parent_container,root_container
- permissions,attachments,parent_article,root_container
- permissions,attachments,parent_container
- permissions,attachments,parent_container,root_container
- permissions,attachments,root_container
- permissions,author
- permissions,author,last_edited_by
- permissions,author,last_edited_by,parent_article
- permissions,author,last_edited_by,parent_article,parent_container
- permissions,author,last_edited_by,parent_article,parent_container,root_container
- permissions,author,last_edited_by,parent_article,root_container
- permissions,author,last_edited_by,parent_container
- permissions,author,last_edited_by,parent_container,root_container
- permissions,author,last_edited_by,root_container
- permissions,author,parent_article
- permissions,author,parent_article,parent_container
- permissions,author,parent_article,parent_container,root_container
- permissions,author,parent_article,root_container
- permissions,author,parent_container
- permissions,author,parent_container,root_container
- permissions,author,root_container
- permissions,last_edited_by
- permissions,last_edited_by,parent_article
- permissions,last_edited_by,parent_article,parent_container
- permissions,last_edited_by,parent_article,parent_container,root_container
- permissions,last_edited_by,parent_article,root_container
- permissions,last_edited_by,parent_container
- permissions,last_edited_by,parent_container,root_container
- permissions,last_edited_by,root_container
- permissions,parent_article
- permissions,parent_article,parent_container
- permissions,parent_article,parent_container,root_container
- permissions,parent_article,root_container
- permissions,parent_container
- permissions,parent_container,root_container
- permissions,root_container
- root_container
title: ArticlesGetParametersExpand
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
VisibilityEnum:
type: string
enum:
- PUBLIC
- INTERNAL
- RESTRICTED
description: '* `PUBLIC` - PUBLIC
* `INTERNAL` - INTERNAL
* `RESTRICTED` - RESTRICTED'
title: VisibilityEnum
PaginatedArticleList:
type: object
properties:
next:
type:
- string
- 'null'
previous:
type:
- string
- 'null'
results:
type: array
items:
$ref: '#/components/schemas/Article'
title: PaginatedArticleList
RolesEnum:
type: string
enum:
- READ
- WRITE
- OWNER
description: '* `READ` - READ
* `WRITE` - WRITE
* `OWNER` - OWNER'
title: RolesEnum
securitySchemes:
tokenAuth:
type: http
scheme: bearer
description: Token-based authentication with required prefix "Bearer"