Fini Articles API

The Articles API from Fini — 6 operation(s) for articles.

Operations 8

POST /hc-articles/public Create a live article or draft article directly in the workspace. #
GET /hc-articles/public List live articles, draft articles, or both. #
POST /hc-articles/{id}/draft/public Create a draft from an existing live article. #
DELETE /hc-articles/{id}/public Delete an article. #
PUT /hc-articles/{id}/public Update an existing article. #
POST /hc-articles/ids/public Fetch one or more articles by ID. #
PUT /hc-articles/{id}/move/public Move an article into a different folder. #
POST /hc-articles/{id}/publish/public Publish a draft article. #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/fini-articles-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

fini-articles-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Fini AI Agents Articles API
  version: v2
  description: Public REST API for Fini AI, the self-improving AI agent for enterprise customer support. Manage agents, conversations, knowledge (sources, articles, folders), rules, tags, and prompts, and drive the agent loop via Generate Answer. Structure captured by API Evangelist from the published Fini API reference; not an official Fini-published OpenAPI.
  contact:
    name: Fini AI
    url: https://docs.usefini.com/en/api-reference/authentication
  x-apis-json-generated: true
servers:
- url: https://api-prod.usefini.com/v2
  description: Production
security:
- bearerAuth: []
tags:
- name: Articles
paths:
  /hc-articles/public:
    post:
      operationId: createArticle
      summary: Create a live article or draft article directly in the workspace.
      tags:
      - Articles
      description: Create a live article or draft article directly in the workspace. Requires the `write` scope.
      externalDocs:
        url: https://docs.usefini.com/en/api-reference/create-article
      responses:
        '200':
          description: Successful response.
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '500':
          $ref: '#/components/responses/ServerError'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
        description: See the Fini API reference for the request body schema.
    get:
      operationId: listArticles
      summary: List live articles, draft articles, or both.
      tags:
      - Articles
      description: List live articles, draft articles, or both. Requires the `read` scope.
      externalDocs:
        url: https://docs.usefini.com/en/api-reference/list-articles
      responses:
        '200':
          description: Successful response.
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '500':
          $ref: '#/components/responses/ServerError'
  /hc-articles/{id}/draft/public:
    post:
      operationId: createArticleDraft
      summary: Create a draft from an existing live article.
      tags:
      - Articles
      description: Create a draft from an existing live article. Requires the `write` scope.
      externalDocs:
        url: https://docs.usefini.com/en/api-reference/create-article-draft
      responses:
        '200':
          description: Successful response.
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '500':
          $ref: '#/components/responses/ServerError'
        '404':
          $ref: '#/components/responses/NotFound'
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
        description: The id path parameter.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
        description: See the Fini API reference for the request body schema.
  /hc-articles/{id}/public:
    delete:
      operationId: deleteArticle
      summary: Delete an article.
      tags:
      - Articles
      description: Delete an article. Requires the `write` scope.
      externalDocs:
        url: https://docs.usefini.com/en/api-reference/delete-article
      responses:
        '200':
          description: Successful response.
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '500':
          $ref: '#/components/responses/ServerError'
        '404':
          $ref: '#/components/responses/NotFound'
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
        description: The id path parameter.
    put:
      operationId: updateArticle
      summary: Update an existing article.
      tags:
      - Articles
      description: Update an existing article. Requires the `write` scope.
      externalDocs:
        url: https://docs.usefini.com/en/api-reference/update-article
      responses:
        '200':
          description: Successful response.
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '500':
          $ref: '#/components/responses/ServerError'
        '404':
          $ref: '#/components/responses/NotFound'
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
        description: The id path parameter.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
        description: See the Fini API reference for the request body schema.
  /hc-articles/ids/public:
    post:
      operationId: getArticlesByIds
      summary: Fetch one or more articles by ID.
      tags:
      - Articles
      description: Fetch one or more articles by ID. Requires the `read` scope.
      externalDocs:
        url: https://docs.usefini.com/en/api-reference/get-articles-by-ids
      responses:
        '200':
          description: Successful response.
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '500':
          $ref: '#/components/responses/ServerError'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
        description: See the Fini API reference for the request body schema.
  /hc-articles/{id}/move/public:
    put:
      operationId: moveArticle
      summary: Move an article into a different folder.
      tags:
      - Articles
      description: Move an article into a different folder. Requires the `write` scope.
      externalDocs:
        url: https://docs.usefini.com/en/api-reference/move-article
      responses:
        '200':
          description: Successful response.
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '500':
          $ref: '#/components/responses/ServerError'
        '404':
          $ref: '#/components/responses/NotFound'
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
        description: The id path parameter.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
        description: See the Fini API reference for the request body schema.
  /hc-articles/{id}/publish/public:
    post:
      operationId: publishArticleDraft
      summary: Publish a draft article.
      tags:
      - Articles
      description: Publish a draft article. Requires the `write` scope.
      externalDocs:
        url: https://docs.usefini.com/en/api-reference/publish-article-draft
      responses:
        '200':
          description: Successful response.
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '500':
          $ref: '#/components/responses/ServerError'
        '404':
          $ref: '#/components/responses/NotFound'
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
        description: The id path parameter.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
        description: See the Fini API reference for the request body schema.
components:
  schemas:
    Error:
      type: object
      description: Standard Fini error envelope.
      properties:
        statusCode:
          type: integer
          example: 403
        message:
          type: string
          example: API key does not have the required scope for this operation
        error:
          type: string
          example: Forbidden
  responses:
    ServerError:
      description: Internal server error.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            statusCode: 500
            message: Internal Server Error
            error: Internal Server Error
    Unauthorized:
      description: Missing or invalid API key.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            statusCode: 401
            message: Unauthorized
            error: Unauthorized
    Forbidden:
      description: API key lacks the required scope.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            statusCode: 403
            message: API key does not have the required scope for this operation
            error: Forbidden
    NotFound:
      description: Resource not found.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            statusCode: 404
            message: Not Found
            error: Not Found
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: fini_ API key
      description: 'Bearer token containing your Fini workspace API key. Format: `Bearer fini_...`. The key carries `read` and/or `write` scope; write routes require the `write` scope.'