Fini Articles API

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

OpenAPI Specification

fini-articles-api-openapi.yml Raw ↑
openapi: 3.1.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:
  responses:
    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
    Unauthorized:
      description: Missing or invalid API key.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            statusCode: 401
            message: Unauthorized
            error: Unauthorized
    ServerError:
      description: Internal server error.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            statusCode: 500
            message: Internal Server Error
            error: Internal Server Error
    NotFound:
      description: Resource not found.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            statusCode: 404
            message: Not Found
            error: Not Found
  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
  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.'