Theneo Quickstart Guide

Creating intuitive, detailed, and easy-to-navigate API documentation has never been easier. Theneo streamlines every step of the process, ensuring that your documentation is not only comprehensive but also interactive and user-friendly. Here's how you can quickly set up your project in Theneo

For API docs, the steps are very simple

When you log into Theneo, start by adding a new project from the homepage. Your project could be an API reference, a developer guide, or any type of documentation you need. Give your project a title, select the appropriate workspace, and you're on your way. For detailed instructions on workspaces, check out our guides

1

Uploading Your API Specification

Theneo accommodates a wide array of API specifications, making it easy to get started regardless of whether you have an existing spec or not. If you're equipped with Swagger, OpenAPI, GraphQL, or another format, the upload process is designed to be straightforward and efficient.

In case you don't have a spec ready, Theneo offers tools to help you create one from scratch. Use our intuitive interface to define your API endpoints directly within the platform. For additional guidance on creating or importing your spec and ensuring format compatibility, check out our guide.

If you do not have a spec, do not worry you can define that in Theneo as well, for more info click here

2

Selecting Your AI Co-Pilot

Once your API specification is uploaded, you can harness the power of Theneo's AI Co-pilot to enrich your content. Decide whether you want the AI to fully generate the content, enhance what you've already created, or if you prefer to proceed without AI assistance. If you're looking to streamline the setup, simply click on "Quick Start" to bypass the customization and move directly to publishing.

3

Setting Permissions and Fine-Tuning Your Project

Set your project’s visibility and invite collaborators according to your workflow needs. With Theneo, you can start with a private project and go public when you're ready, seamlessly inviting others to contribute. Manage these settings at any time to fit your project’s development lifecycle.

You can change project level permission and even set up advanced access management later in the project settings.

4

Publish

Utilize Theneo's editing suite for final adjustments before publishing. Preview to ensure everything is perfect and publish to make your documentation available to users. It’s documentation made simple, yet powerful and comprehensive

Was this section helpful?

What made this section unhelpful for you?

API Import & Specs

Theneo provides a robust and versatile range of API formats and collection types to cater to a wide array of integration and development needs. Our platform supports various API formats, including REST, SOAP, GraphQL, and Async APIs, each tailored to different use cases and requirements. Additionally, we offer compatibility with multiple API specification collections, ensuring seamless integration and a streamlined development process. Below is an overview of the supported formats and collections

In the following sections, we'll delve into each of these formats and collections, providing detailed insights and instructions.

API Testing

Theneo’s API Explorer is an interactive tool that significantly simplifies the API testing process. It allows users to engage with their APIs in real-time, providing an immersive experience that bridges the gap between technical understanding and practical application. Whether you're a developer or a non-technical user, the API Explorer is designed to offer a seamless and intuitive way to explore and validate API functionality.

Key Features of API Explorer

Real-Time Testing

  • Try in API Explorer Button: Every API request in our documentation includes a “Try in API Explorer” button, allowing instant, live interaction with your APIs.

Environment Selection

  • Sandbox and Production Toggle: Test your APIs in a safe sandbox environment or in a live production setting with a simple switch.

User-Friendly Interface

  • Form and Code View: Choose your comfort zone—use the Form View for a guided input experience or the Code View to enter your custom code snippets.

Seamless Navigation

  • Effortless Section Switching: Navigate between different API sections directly in the Explorer without needing to refer back to the documentation.

Informative Fields

  • Field Descriptions: Understand each parameter with clear descriptions and details provided within the Explorer.

Advantages of Using API Explorer

No Setup Required

  • Automatic Synchronization: Changes made in the editor or updates from your API spec are automatically reflected in the API Explorer, eliminating the need for manual setup.

Accessible to All User Levels

  • Designed for Everyone: The API Explorer is crafted to be accessible to users of all skill levels, breaking down barriers to API testing.

Enhanced Learning and Debugging

  • Interactive Learning: By experimenting with live API calls, users can learn more effectively and pinpoint issues on the fly.
Was this section helpful?

What made this section unhelpful for you?

Setting Up API Authentication

API authentication is a crucial step for securing your API and ensuring that only authorized users can access it. In Theneo, you can easily set up authentication using HTTP Basic Auth, where your API key is included in the HTTP request headers. This process verifies your identity and grants access to the API’s resources.

Theneo offers two ways to configure API authentication:

  1. From the Theneo Editor
  2. Using Pre-request Scripts from the Project Dashboard

Setting API Authentication from the Theneo Editor

Follow these steps to set up authentication directly within the Theneo editor:

1

Navigate to the API Management Widget:

  • Open your project in the Theneo editor.
  • Select the API Management Widget where you can manage your API endpoints.
2

Access the Header Tab:

  • In the Header Tab, you will see a list of suggested key options for your headers.
  • Select the Authentication option from this list.
3

Add Authentication Information:

  • Enter a sample value for the authentication header. This can be configured or updated in the API Explorer.
  • Optionally, add a description or any additional properties that your API requires.

Setting API Authentication Using Pre-request Scripts

For more advanced use cases, you can configure authentication using pre-request scripts. Here’s how you can do it:

1

Navigate to the Project Settings:

In the Project’s Dashboard, go to the Project Settings.

2

Set an Authentication Header

For example, to set an Authorization header, you can write:

JavaScript
const token = theneo.variables["authToken"]; theneo.headers["Authorization"] = Bearer ${token};

In your pre-request script, you can send requests to other endpoints or set headers dynamically using the Fetch API or similar methods.

This script retrieves an authorization token from Theneo variables and applies it to the Authorization header.

For more details on how to effectively use pre-request scripts in Theneo, visit our detailed guide here.

Was this section helpful?

What made this section unhelpful for you?

Pre-request scripting

Pre-Request Scripts allow you to execute code before each HTTP request, making them ideal for tasks such as authentication, request headers manipulation, and setting up a consistent environment before fetching data from an external API. By incorporating pre-request scripts, you can streamline your request handling process and ensure consistent behavior across various endpoints.

1.Reading Environment Variables

You can access environment variables using the following syntax:

JavaScript
const myVariable = theneo.variables["variable-name"];

2. Reading Endpoints

To retrieve endpoints, use the following code:

JavaScript
const myEndpoint = theneo.endpoints;

3. Reading Parameters

Access parameters in your pre-request script using:

JavaScript
const myParameter = theneo.parameters;

4. Reading Query Parameters

To access query parameters, use the following syntax:

JavaScript
const myQueryParameter = theneo.queryParameters;

5. Reading Header Variables

Header variables can be accessed as follows:

JavaScript
const myHeader = theneo.headers["header-name"];

6. Setting Header Values

You can modify or set new header values with the following command:

JavaScript
theneo.headers["header-name"] = "header value";

7. Reading Request Body

To access the request body in JSON format, use:

JavaScript
const requestBody = theneo.requestBody.json;

8. Sending Requests within Pre-Request Scripts

You can send requests to other endpoints using the fetch API or similar methods. For instance, setting an Authorization header might look like this:

JavaScript
const token = theneo.variables["authToken"]; theneo.headers["Authorization"] = Bearer ${token};

9. Example Script

Here’s a complete example of a pre-request script that generates an HMAC signature and sets custom headers:

JavaScript
const apiKey = theneo.variables["apiKey"]; const apiSecret = theneo.variables["apiSecretKey"]; const timestamp = new Date().getTime();
console.log("API Key:", apiKey); console.log("API Secret:", apiSecret); console.log("Timestamp:", timestamp);
const requestData = JSON.stringify(theneo.requestBody.json); const rawSignature = ${apiKey}:${timestamp}:${requestData};
function generateHMAC(rawSignature, secret) { const signature = CryptoJS.HmacSHA256(rawSignature, secret); return CryptoJS.enc.Hex.stringify(signature); }
const signature = generateHMAC(rawSignature, apiSecret);
theneo.headers = { "API-Key": apiKey, "Timestamp": timestamp.toString(), "Signature": signature, "Content-Type": "application/json", "Accept": "/" };
console.log("Headers set for request:", theneo.headers);

Currently, async operations are limited.

Available Libraries

Currently, only the crypto library is available for use in your scripts. You can utilize any method provided by the crypto library.

If you would like to use any additional library, please contact our support team at hello@theneo.io.

Running Your Script

1

Enabling Pre-Request Scripts

To enable pre-request scripts:

  • Navigate to your project settings.
  • Go to Settings → Features → Pre-request script.
2

Running Your Script

After creating your script, you can run it using the API Explorer:

  • Press the Run Request button.

The pre-request script will execute first, followed by your regular request.

3

Verifying Your Script

Use the Network tab to check that the correct authorization values are sent during the request. This helps ensure that your pre-request script is functioning as expected.

Reading External Query Parameters

To authenticate users in your API explorer by reading and using externally passed query parameters, such as ?my_token=<token>and utilizing them in the pre-request script context.

Steps to Implement

1

Passing Query Parameters

When redirecting users from your website to the API explorer, include the token as a query parameter in the URL. For example:

PLAINTEXT
https://api-explorer.yoursite.com?myToken=<token> 
2

Using the Token in Pre-Request Script

Modify the pre-request script to access the token from local storage and use it as needed.

Setting up a Dynamic Base URL in API Explorer

The goal is to allow users to overwrite the default base URL from the API Explorer with a custom base URL set through a new field. This enables requests to be sent to a dynamic base URL specified by the user instead of a predetermined one.

1

Write the Pre-request Script

In the Pre-request Script add the following line of code:

JavaScript
theneo.baseUrl = theneo.variables["baseURL"];

This code will take the value entered in the baseURL field and assign it to the theneo.baseUrl variable, effectively setting the dynamic base URL for the API request.

2

Open API Explorer and Enter the Base URL

  • After saving, open the API Explorer again. You will now see a new field titled baseURL (the system will automatically create this field based on your custom "baseURL" configuration).
  • Enter the custom base URL you want to use for your requests in this baseURL field.
3

Sending Requests with Custom Base URL

  • Once the custom base URL is entered, all requests sent from the API Explorer will use this new base URL instead of the default one.
  • You can now send API requests to any dynamic endpoint by simply entering the base URL in the field, ensuring that the requests are sent to the right location.
Was this section helpful?

What made this section unhelpful for you?

API Changelog

Theneo’s Changelog is an essential tool for developers and stakeholders to track changes and updates to your API specifications. This powerful feature not only documents all modifications automatically but also provides an option for users to subscribe and receive email notifications for each update.

Automated Changelog Documentation

Whenever a new API spec is imported and the "Publish" button is clicked, Theneo detects and summarizes all the changes, such as:

  • New endpoints added
  • Existing sections updated
  • Descriptions modified
  • Sections or endpoints removed

These updates are meticulously logged on a dedicated changelog page, providing a detailed version history with timestamps.

Real-Time Email Notifications

How to Subscribe

  1. Enter Your Email: On the Changelog page, there’s a field to enter your email.
  2. Hit Subscribe: Click the “Subscribe” button to start receiving updates on the documentation changes.

Benefits of Subscription

  • Immediate Awareness: Get notified as soon as changes are published, allowing for prompt action or adaptation in your workflow.
  • Convenient Overviews: Email notifications provide a summary of the changes, making it easier to stay informed without needing to check the changelog manually.
  • Version Tracking: Keep a close eye on version progression and ensure that all team members and API consumers are aligned with the latest API developments.

FAQ

Can I turn off the changelog?

Yes, the changelog feature in Theneo is optional. You can disable it at any time by going to your project settings, navigating to the 'Features' section, and toggling off the changelog feature.

Can I edit the changelog?

Currently, direct editing of changelog entries is not available. However, if you need to remove a specific entry from the public changelog, you can delete it. To do this, go to your project configuration, select 'Public Changelog,' and use the delete button next to the entry you wish to remove.

Can I edit versions?

The ability to edit version details is a feature that is in the pipeline and will be available soon. This upcoming feature will provide more control over how you document and present version changes in the changelog.

Will this create a new API version if there are breaking changes?

Theneo is designed to track changes meticulously. The functionality to automatically create a new API version upon detecting breaking changes is being developed. When released, it will allow users to manage versions more effectively and ensure that versioning reflects significant changes or updates.

Was this section helpful?

What made this section unhelpful for you?

API Versioning

API versioning in Theneo is designed to be both intuitive and comprehensive, accommodating the natural evolution of your APIs. With Theneo, you can manage and track incremental changes within the same version using the API changelog, as well as create and oversee major version transitions such as moving from v1 to v2 or v3.

Theneo now offers a feature for comprehensive API version management. This feature enables users to meticulously handle different versions of their API, such as v2, v3, and beyond, each with unique statuses and configurations.

Key Features of API Versioning

  • Multiple Versions: Create and manage multiple versions of your API, whether it’s incremental updates or major releases.
  • Status Labels: Assign statuses like active, beta, or deprecated to each version, along with any custom attributes you may need.
  • Project Configuration: Tailor each API version’s project settings, including access management, SEO settings, and analytics.
  • Version-Level Changelogs: Track changes within specific versions, enabling clear communication of updates from 1.1.2 to 1.1.3, etc.

How to Access API Versioning

As this is a beta feature, Theneo invites users to activate API versioning by reaching out to us:

  • Contact for Access: Send an email to hello@theneo.io expressing your interest in enabling API versioning for your account.

Utilizing the Versioning Feature

Once API versioning is enabled for your account, you can:

  1. Add New Versions: Easily add a new version through your project dashboard by importing a new API spec or using an existing one as a base.
  2. Import Specs: Use the intuitive interface to upload file, link, import from Postman, or input raw text for your API specs.
  3. Manage Versions: Navigate to the settings menu to manage features, access permissions, SEO optimization, and analytics for each API version.
  4. Set Version Status: Define the lifecycle stage of each API version with appropriate status labels directly from the project versions screen.

Quick Video Guide

Contact Us

For more information on API versioning and to request access to this beta feature, please contact us at hello@theneo.io. We are committed to supporting you in leveraging this feature to its full potential, ensuring effective management of your API's lifecycle.

Theneo Documentation

A project in Theneo is a robust toolset that allows you to create and manage a wide array of technical content. This can range from API references, SDK documentation, product guides, and much more. Theneo provides an easy and streamlined way to generate API documentation from API collections, allowing you to focus on delivering high-quality, accurate, and up-to-date content.

To create your first project with Theneo:

  1. Navigate to your dashboard and click on the "Create Project" button.
  2. Fill in your desired project name in the prompt that appears.
  3. If you have an API collection at hand, upload it. Theneo accommodates various API types, including REST, GraphQL, AsyncAPI, SOAP, and more.
  4. Two options await you: "Quickstart" for an instant project creation or "Customize" for a more tailored approach. If you choose the latter, you'll be seamlessly redirected to our AI writer tool.
  5. The AI writer tool empowers you to fully automate or enhance your project descriptions based on the content of your uploaded API spec. You can opt for complete AI assistance, enhancing only the missing descriptions while retaining your existing content, or skipping AI assistance altogether.
  6. The final leg of the project creation journey leads you to access control settings. Here, you can fine-tune project access management, invite members as viewers or editors, and put the finishing touches on your project setup.

Editing the generated content or adding new content is a breeze, thanks to Theneo’s intuitive, Notion-like editor. You can easily tweak API requests, methods, properties, descriptions, responses, and much more. 

Publishing your First Project

Once you're satisfied with your API reference, the next step is to publish your project. However, it's always a good practice to preview your changes before hitting the publish button.

Here's how you can preview, publish, and share your project:

  1. Previewing Your Project: From the editor, click on the "Preview" button to see a live view of your changes. Review the content and layout to ensure it matches your expectations. If you need to make further changes, simply click "Back to Editor."
  2. Publishing Your Project: If you're happy with the preview, click the "Publish" button. Your project is now live and can be viewed by others, depending on the permissions you've set.

Web Editor Widgets

Theneo's web editor is a rich and intuitive platform, equipped with a variety of widgets that enrich the documentation experience. These widgets add depth and clarity to your API documentation, making it more engaging and informative. You can easily access these widgets by simply going to a new line in the editor and typing /, which brings up the widget options. Let's take a look at the widgets available:

FAQ

What happens when I make changes to the API in Theneo and then import a new API spec?

Change Handling: When you import a new API spec, Theneo provides several options to merge these changes:

  • Merging: This logic identifies and imports only the new updates you've made.
  • Overwrite: Overwrites all existing content with the new spec.
  • Append: Adds the new API spec on top of the existing one, useful for combining different API specs.
  • Endpoints: Imports the spec into the 'Collections' tab, allowing you to drag and drop endpoints to your desired location in the documentation.

Can I export the content I am working on, including API updates, from the editor?

Export Capability: Yes, you can export your work, including any API updates. Export Format: As part of our growth package, you can export your documentation to a YAML file. Repository Syncing: This exported file can then be synced with your repository for version control and collaboration.

Live Collaboration

We know, great collaboration leads to great results, and the Live Collaboration feature in our editor ensures that your team can work together in real-time to achieve just that. Whether you're working on documentation or complex projects, this feature allows multiple users to make updates simultaneously, ensuring everyone is on the same page and contributing effectively. With real-time visibility into who’s editing what, collaboration becomes smooth, organized, and more productive.

Key Features of Live Collaboration

  1. See Who’s Currently Editing a Section: At any point during the editing process, users can see which collaborators are actively editing a particular section. This visibility helps avoid confusion or duplication of work and ensures smooth collaboration among team members.
  2. View Where Others Are Editing: Within a section, users can see exactly where their collaborators are making changes in real-time. The editor highlights the text being edited by another user, giving you immediate feedback on what is being updated.
  3. Cursor Visibility: For greater clarity, the cursor of the collaborator is visible within the section description. This allows users to pinpoint the exact location where edits are happening, ensuring that changes are made in the correct area.
  4. See Who’s Editing Which Section in the Menu:The menu provides an overview of who is editing which section. Each section that is being actively worked on by a user is marked with their name, making it easy to track where collaborators are focused. This feature enhances coordination, especially in larger documents with multiple sections.

How to Use Live Collaboration

  • Start Editing Together: Once users are invited to collaborate on a project or document, they can begin editing simultaneously. As soon as one user starts editing a section, others will see their presence and activity in real-time.
  • Communicate with Collaborators: Although the collaboration feature does not include a built-in chat, the real-time presence indicators allow for smooth coordination. Teams can also supplement this feature with external communication tools to enhance collaboration further.
  • Conflict Avoidance: Since all users can see who is editing a section, this minimizes the risk of conflicting edits. It helps maintain organized teamwork and ensures that changes are consolidated without accidental overwrites.
Was this section helpful?

What made this section unhelpful for you?

Preview Changes

In Theneo, users can switch to Preview Mode at any time while editing to review the latest changes before publishing. This feature offers several key benefits:

  • Accurate Rendering: Preview Mode allows you to see exactly how your content will appear in the final published documentation. This helps ensure that all formatting, layout, and design elements are rendering as intended.
  • Section-Specific Previews: You can preview changes for individual sections, ensuring that every detail is correct before publishing. This is especially useful when working on larger documents with multiple sections.

How to Use Preview Mode

  1. Locate the Switcher Button: In the editor’s header, you’ll find the Editor/Preview switcher button. This is your key to moving between edit mode and preview mode effortlessly.
  2. Switch to Preview Mode: When you're ready to preview your content, click on the switcher to enter Preview Mode. This will display the most recent version of your documentation as it will appear to end users.
  3. Preview Specific Sections: You can preview any section of your document to see how changes to that section look.

If the preview meets your expectations, you can move forward by selecting the Publish option. Once confirmed, your documentation will go live with all the updates and enhancements you've applied.

Note: Preview mode is a visualization tool to give you a sense of your project's design and layout. It may not represent the full interactivity of your live documentation, such as functional API explorers or live code examples. Use this mode to make any final adjustments before updating your live documentation.

Was this section helpful?

What made this section unhelpful for you?

Github Actions

Step 1: Create Theneo Documentation

Begin by creating a documentation project within Theneo to house your API details.

Step 2: Set Up GitHub Workflow

Configure a workflow in your GitHub repository that will interact with Theneo:

  • Create a Workflow File: Add a file named Theneo.yml to the .github/workflows/ directory in your GitHub repository. This file will define the actions to be taken.

Example Theneo.yml Workflow:

YAML
name: Update Documentation
on:
pull_request:
branches:
- main
jobs:
update-doc:
name: Update Theneo Documentation
runs-on: ubuntu-latest
steps:
- run: echo "🎉 The job was automatically triggered by a ${{ github.event_name }} event."
- name: Checkout
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: "18"
- name: Update Documentation on Theneo
uses: Theneo-Inc/api-documentation@1.8.0
with:
FILE_PATH: doc/api.yml
PROJECT_SLUG: <project_slug>
VERSION_SLUG: <version_slug>
WORKSPACE_SLUG: <workspace_slug>
SECRET: ${{secrets.SECRET}}
AUTO_PUBLISH: true
IMPORT_OPTION: merge
PARAMETER_DESCRIPTION_MERGE_STRATEGY: keep_new
SECTION_DESCRIPTION_MERGE_STRATEGY: keep_old
INCLUDE_GITHUB_METADATA: true

Locating Your Theneo Project Slug

To configure GitHub Actions, you'll need your Theneo project slug:

  • Go to your project dashboard in Theneo.
  • Open the desired project.
  • The project slug is part of the URL: https://app.theneo.io/<workspace-name>/<project-slug>/[version-slug].
  • For example, if the URL is https://app.theneo.io/theneo/github-demo, your project slug is github-demo.

Use this project slug for the PROJECT_SLUG variable in your GitHub workflow. Inputs

Define the following inputs in your workflow file to configure the GitHub Action:

  • FILE_PATH: The path to your API documentation file within the repository.
  • PROJECT_SLUG: Your project's unique identifier in Theneo, accessible under project settings.
  • VERSION_SLUG: Project version slug to import documentation under a specific version, otherwise default version will be used.
  • WORKSPACE_SLUG: Project workspace slug to import documentation under specific workspace.
  • SECRET: Your Theneo API token for authentication, which can be found in your Theneo profile.
  • IMPORT_OPTION: Determines how to handle the imported documentation. Options include overwrite, merge, and endpoints.
  • AUTO_PUBLISH: If set to true, Theneo will automatically publish the changes. If false, you can review changes in the editor before manual publication.
  • INCLUDE_GITHUB_METADATA: Includes metadata like the GitHub actor in the documentation, visible only in Theneo's editor.
  • SECTION_DESCRIPTION_MERGE_STRATEGY : Merging strategy for section descriptions to keep old descriptions from theneo editor if needed, valid values are keep_new or keep_old.
  • PARAMETER_DESCRIPTION_MERGE_STRATEGY: Merging strategy for parameter descriptions to keep old descriptions from theneo editor if needed, valid values are keep_new or keep_old.

Import Options

Choose how Theneo handles incoming changes:

  • overwrite: Replaces the current documentation with the new spec entirely.
  • merge: Attempts to merge changes; this is experimental and may append changes in some cases.
  • endpoints: Adds new spec endpoints into a dedicated section for manual arrangement.

Auto-Publish Option

Control the publication of your documentation:

  • true: Automatically updates the published documentation with the latest changes.
  • false: Allows for a review in Theneo's editor before you decide to publish.

Using Theneo's GitHub Actions integration, the process of maintaining accurate and current API documentation becomes automated, seamless, and efficient. Your team and users gain immediate access to the latest documentation, ensuring everyone is on the same page with API updates and changes.

Was this section helpful?

What made this section unhelpful for you?

Visual Studio Code Extension

Visual Studio Code (VS Code) is a preferred editor for many developers due to its versatility and extensive extension ecosystem. To enhance the experience further, Theneo offers a dedicated VS Code extension that simplifies the creation and previewing of API references directly within the editor.

Installation and Configuration

⬇️ Install the Theneo VS Code Extension

Configure the Extension:

  1. After installation, sign in to your Theneo account at app.theneo.io
  2. Once signed in, navigate to your profile settings.
  3. Within your profile settings, locate and select the "Tools & Integrations" section.
  4. In the "Tools & Integrations" section, find and copy your Theneo API key.
  5. In VS Code Extension open the command palette by pressing Ctrl+Shift+P (or Cmd+Shift+P on Mac).
  6. Type 'Preferences: Open Settings (UI)' and select it.
  7. Search for Theneo Markdown in the “Extensions” section
  8. Paste your Theneo API key

New Features

  • Ability to export projects from Theneo as markdown and json.
  • Ability to Import markdown into theneo directly.
  • Ability to merge json to an existing project in Theneo.

Usage

Export Project from Theneo

  1. Open the command palette by pressing Ctrl+Shift+P (or Cmd+Shift+P on Mac).
  2. Search for “Theneo: Export Project from Theneo”.
  3. Select the project from your list of published projects created in Theneo.
  4. Enter a parent directory to export the project and press enter.

Import Project to Theneo

  1. Open the command palette by pressing Ctrl+Shift+P (or Cmd+Shift+P on Mac).
  2. Search for “Theneo: Import Project To Theneo”.
  3. Enter project name after “/”. example /project
  4. Choose if you want to publish the document.

Merge Project to Theneo

  1. Open the command palette by pressing Ctrl+Shift+P (or Cmd+Shift+P on Mac).
  2. Search for "Theneo: Merge Project To Theneo".
  3. Copy the relative path to the section that you want to merge.
  4. Pick the project you are merging with (usually the same project as you exported).
  5. Go over the changes and press commit merge button.

Open Preview

  1. Open the command palette by pressing Ctrl+Shift+P (or Cmd+Shift+P on Mac).
  2. Search for “Theneo: Open Current Project Preview”.
  3. Type the project name and press enter.

The Theneo VS Code extension streamlines the API documentation process by integrating it into your development environment. It saves time and enhances efficiency by eliminating the need to switch between tools for documentation tasks.

With just a few clicks, you can generate a live preview of your API documentation, making it easier to develop and review your API descriptions and endpoints without ever leaving VS Code.

Was this section helpful?

What made this section unhelpful for you?

Theneo CLI

The Theneo CLI (Command Line Interface) is s a command-line tool for effortless management of the Theneo platform from your terminal. Create, manage, and publish API documentation with ease, all without leaving your command line.

You can find Github repo here or the npm package here → https://www.npmjs.com/package/@theneo/cli

To install the Theneo CLI, use the following command:

Bash
npm install -g @theneo/cli@latest

This command installs the Theneo CLI globally on your machine, allowing it to be run from any directory.

Basic Usage

To get started with Theneo CLI, you can use the help command:

Bash
theneo help

This command provides a list of available options and commands:

General Options:

  • -V, --version: Outputs the version number of the Theneo CLI.
  • -h, --help: Displays help for a specific command.

Primary Commands:

  • login: Logs into the Theneo CLI.
  • project <action>:Executes project related commands.
  • workspace <action>: Executes workspace related commands.
  • version <action>: Executes project version related commands.
  • help [command]: Provides help for a specific command.

Common Use Cases

1. Logging In

Standard Login:

Bash
theneo login

Login with an API Key:

Bash
theneo login --token <theneo-api-key>

You can also set the THENEO_API_KEY environment variable.

2. Creating a New Project

Bash
theneo project create --help Usage: theneo project create [options] Create new project Options: --name <name> Project name --workspace <workspace> Enter workspace slug where the project should be created in, if not present uses default workspace -f, --file <file> API file path to import (eg: docs/openapi.yml) --link <link> API file URL to create project using it --postman-api-key <postman-api-key> Postman API Key (env: THENEO_POSTMAN_API_KEY) --postman-collection <postman-collection> Postman collection id, you can use multiple times --empty Creates empty project (default: false) --sample Creates project with sample template (default: false) --publish Publish the project after creation (default: false) --public Make published documentation to be publicly accessible. Private by default (default: false) --generate-description <generate-description> Indicates if AI should be used for description generation (choices: "fill", "overwrite", "no_generation", default: "no_generation") --profile <string> Use a specific profile from your config file. -h, --help display help for command

Standard Project Creation:

Bash
theneo project create

Creating a Project with an API Spec File:

Bash
theneo project create --name api-documentation --generate-description overwrite --publish --public --file ./examples/openapi-spec.json

Creating a Project Using a Link to API Documentation:

Bash
theneo project create --name api-documentation --generate-description fill --publish --public --link https://raw.githubusercontent.com/OAI/OpenAPI-Specification/main/examples/v3.0/uspto.json

Creating a Project from Postman Collections:

Bash
theneo project create --name api-documentation --postman-api-key <key> --postman-collection <id-1> --postman-collection <id-2>

3. Updating API Documentation from an API Spec File

Bash
Usage: theneo project import [options] Import updated documentation into Theneo using file, link or postman collection Note: Published document link has this pattern: https://app.theneo.io/<workspace-slug>/<project-slug>/<version-slug> Options: --project <project-slug> Specify the project slug to import updated documentation in -f, --file <file> API file path to import (eg: docs/openapi.yml) --link <link> API file URL to create project using it --postman-api-key <postman-api-key> Postman API Key (env: THENEO_POSTMAN_API_KEY) --postman-collection <postman-collection> Postman collection id, you can use multiple times --import-type <import-type> Indicates how should the new api spec be imported (choices: "endpoints", "overwrite", "append", "merge") --publish Automatically publish the project (default: false) --workspace <workspace-slug> Workspace slug, where the project is located --projectVersion <version-slug> Project version slug to import to, if not provided then default version will be used --keepOldParameterDescription Additional flag during merging import option, it will keep old parameter descriptions --keepOldSectionDescription Additional flag during merging import option, it will keep old section descriptions --profile <string> Use a specific profile from your config file. -h, --help display help for command

Updating a Project:

Bash
theneo project import --file <file> --project <project-slug> --publish

Import with merge option

Bash
theneo project import --project <project-slug> \ --workspace <workspace-slug> \ --projectVersion <version-slug> \ --publish \ --file ./api-spec.json \ --import-type merge \ --keepOldParameterDescription \ --keepOldSectionDescription

4. Publishing Documentation

Bash
theneo project publish --project <project-slug>

5. Deleting a Project

Bash
theneo project delete --project <project-slug>

6. Project Version

Bash
theneo version --help Usage: theneo version [options] [command] <action> Project version related commands Options: -h, --help display help for command Commands: list [options] List project versions create [options] delete [options] help [command] display help for command

7. Create Version

Bash
Usage: theneo version create [options] Options: --name <name> Name of the version --project <project-slug> Project slug to create version for --workspace <workspace-slug> Workspace slug where the project is --previousVersion <previous-version-slug> Previous version slug to duplicate the content from --profile <string> Use a specific profile from your config file. -h, --help display help for command

8. Add ChangeLog subscriber

Bash
Usage: theneo version add-subscriber [options] Add a subscriber for project changelog Options: --project <project-slug> Project slug --workspace <workspace-slug> Workspace slug --projectVersion <previous-version-slug> Project version slug --email <email> Email of the new subscriber to change log --profile <string> Use a specific profile from your config file. -h, --help display help for command

Use the main branch changes

Clone the repository

Bash
git clone git@github.com:Theneo-Inc/theneo-tools.git

Install packages

Bash
nvm use
npm install

Install the CLI

Bash
npm run cli

Run the CLI

Bash
theneo help

Change theneo API endpoint

  • Using environment variable
Bash
THENEO_API_KEY=<theneo-api-key> THENEO_API_URL=https://api.theneo.io THENEO_APP_URL=https://app.theneo.io \theneo <command>
  • Using theneo config file and profile
Bash
theneo login --profile <profile-name> --token <theneo-api-key> --api-url https://api.theneo.io --app-url https://app.theneo.io

check the config file at .config/theneo/config

9. Export project data in Markdown format - Beta

Bash
Usage: theneo export [options] Options: --project <project-slug> project slug --projectVersion <version-slug> Version slug --workspace <workspace-slug> Enter workspace slug where the project should be created in, if not present uses default workspace --profile <string> Use a specific profile from your config file. --dir <directory> directory location where the project will be exported (default: "docs") --publishedView By default it will export data from editor, pass this flag to get published project data (default: false) -h, --help display help for command

10. Import project data from Markdown files

Bash
Usage: theneo import [options] Update theneo project from generated markdown directory Options: --project <project-slug> project slug --workspace <workspace-slug> Enter workspace slug where the project should be created in, if not present uses default workspace --dir <directory> Generated theneo project directory --publish Automatically publish the project (default: false) --projectVersion <version-slug> Version slug --profile <string> Use a specific profile from your config file. -h, --help display help for command

11. Exporting an OpenAPI Spec - Beta feature

You can export your Theneo docs into an openAPI spec, by running the following command

Bash
theneo export --openapi --format json

You can use the same exporting options as in the regular export command.

12. Create a new project from markdown files

Bash
Usage: theneo create [options] Options: --dir <directory> directory location where the project will be exported --name <project-name> project name --workspace <workspace-slug> Enter workspace slug where the project should be created in, if not present uses default workspace --profile <string> Use a specific profile from your config file. -h, --help display help for command
Bash
theneo create --dir <directory> --name <project-name>

Best Practices and Tips

  • Always check the version of the Theneo CLI installed with theneo -V to ensure compatibility with your project.
  • Utilize the --help option regularly to understand the specific requirements of each command.
  • Regularly update your Theneo CLI to access the latest features and bug fixes.
  • When importing or updating projects, ensure your API specifications are correctly formatted to avoid errors.
Was this section helpful?

What made this section unhelpful for you?

Theneo SDK

The Theneo SDK is a comprehensive package designed to simplify API requests to the Theneo API, enabling easy integration of Theneo's features into various applications. This SDK abstracts the complexities of API requests and error handling, providing a more streamlined experience for developers.

This documentation provides an overview of the Theneo SDK package. The SDK package includes classes and interfaces for working with the Theneo API. Theneo is a platform for managing API documentation projects.

You can find the Github repository here

Install

Install the Theneo SDK Package: Use npm to install the Theneo SDK package:

Bash
npm install @theneo/sdk

Usage

To use the Theneo SDK package, import the necessary classes and interfaces, and create an instance of the Theneo class with the required options. Then, you can use the methods provided by the SDK to interact with the Theneo API.

JavaScript
import { Theneo, TheneoOptions, Result, Workspace, ProjectSchema, CreateProjectOptions } from "@theneo/sdk";
// Define Theneo options
const options: TheneoOptions = {
apiKey: "YOUR_API_KEY"
};
// Create a Theneo instance
const theneo = new Theneo(options);
// Example usage
async function listWorkspaces() {
const result: Result<Workspace[]> = await theneo.listWorkspaces();
if (result.ok) {
const workspaces: Workspace[] = result.unwrap();
console.log("Workspaces:", workspaces);
} else {
console.error("Error:", result.unwrap());
}
}
// Create a new project
async function createProject() {
const projectOptions: CreateProjectOptions = {
name: "My Project",
workspace: { key: "workspace-key" },
publish: true,
isPublic: true,
data: {
// Specify the data source using one of the following attributes:
// 1. Import from a file
// file: '/path/to/api-documentation.json',
// 2. Import from a URL
// link: 'https://example.com/api-documentation.json',
// 3. Import from a text string
// text: 'API documentation content as a string',
// 4. Import from a Postman collection
// postman: {
// apiKey: 'YOUR_POSTMAN_API_KEY',
// collectionIds: ['collection-id-1', 'collection-id-2'],
// },
} as ApiDataInputOption
};
const result: Result<CreateProjectResponse> = await theneo.createProject(projectOptions);
if (result.ok) {
const createdProject: CreateProjectResponse = result.unwrap();
console.log("Created Project:", createdProject);
} else {
console.error("Error:", result.unwrap());
}
}
// Use the SDK methods as needed
listWorkspaces();
createProject();

Import api document

An example demonstrating how to use the importProjectDocument method to import API documentation to an existing project using the Theneo SDK in TypeScript:

JavaScript
import { Theneo, TheneoOptions, Result, ImportProjectOptions, ImportResponse, ApiDataInputOption } from "@theneo/sdk";
// Define Theneo options
const options: TheneoOptions = {
apiKey: "YOUR_API_KEY"
};
// Create a Theneo instance
const theneo = new Theneo(options);
// Define the import options
const importOptions: ImportProjectOptions = {
projectId: "project-id", // Replace with the actual project ID
publish: true, // Set to true if you want to publish the imported data
data: {
// Specify the data source using one of the following attributes:
// 1. Import from a file
// file: '/path/to/api-documentation.json',
// 2. Import from a URL
// link: 'https://example.com/api-documentation.json',
// 3. Import from a text string
// text: 'API documentation content as a string',
// 4. Import from a Postman collection
// postman: {
// apiKey: 'YOUR_POSTMAN_API_KEY',
// collectionIds: ['collection-id-1', 'collection-id-2'],
// },
} as ApiDataInputOption
};
// Import API documentation to the project
async function importApiDocumentation() {
const result: Result<ImportResponse> = await theneo.importProjectDocument(importOptions);
if (result.ok) {
const importResponse: ImportResponse = result.unwrap();
console.log("Imported API Documentation:", importResponse);
} else {
console.error("Error:", result.unwrap());
}
}
// Run the import function
importApiDocumentation();

In this example:

  • We first create an instance of the Theneo class and provide the necessary API key in the options object.
  • We define the import options in the importOptions object. You should replace 'project-id' with the actual ID of the project where you want to import the API documentation.
  • Inside the data attribute of importOptions, you can specify the source of the API documentation to be imported. You can choose one of the four options:
    1. Import from a file (specify the file path).
    2. Import from a URL (specify the URL).
    3. Import from a text string (specify the content as a string).
    4. Import from a Postman collection (specify the Postman API key and collection IDs).
  • The publish option is set to true to indicate that the imported data should be published.
  • The importApiDocumentation function uses the importProjectDocument method to perform the import operation.

Make sure to replace the placeholder values ('YOUR_API_KEY''project-id', and any others) with your actual API key and project details before running the code.

TheneoOptions (Interface)

Options for initializing the Theneo SDK.

  • apiKey?: string: API key for the Theneo application.
  • apiClientName?: string: Name of the client making the API call (default is theneo-sdk:${SDK_VERSION}).
  • baseApiUrl?: string: Theneo API URL.
  • baseAppUrl?: string: Theneo APP URL.

Theneo (Class)

The main class for interacting with the Theneo API.

Methods

  • listWorkspaces(role?: UserRole): Promise<Result<Workspace[]>>: Lists workspaces available for a user.
  • listProjects(): Promise<Result<ProjectSchema[]>>: Lists user projects.
  • deleteProjectById(projectId: string): Promise<Result<void>>: Deletes a project by ID.
  • publishProject(projectId: string): Promise<Result<PublishProjectResponse>>: Publishes API documentation for a project.
  • getPreviewProjectLink(projectId: string): string returns preview link for a project.
  • importProjectDocument(options: ImportProjectOptions): Promise<Result<ImportResponse>>: Imports API documentation to an existing project.
  • createProject(options: CreateProjectOptions): Promise<Result<CreateProjectResponse>>: Creates a new project on the Theneo platform.
  • getDescriptionGenerationStatus(projectId: string): Promise<Result<ProjectCreationStatusResponse, Error>>: Gets the description generation status for a project.
  • waitForDescriptionGeneration(projectId: string, progressUpdateHandler?: DescriptionGenerationProgressHandler, retryTime?: number, maxWaitTime?: number): Promise<Result<never>>: Waits for description generation to finish.
  • static listPostmanCollections(postmanApiKey: string): Promise<Result<PostmanCollection[]>>: Returns list of Postman Collections using the api key

DescriptionGenerationType (Enum)

An enum representing different types of description generation options.

  • FILL: Generate descriptions for parameters that do not have descriptions already.
  • OVERWRITE: Overwrite descriptions for parameters that do not have descriptions already.
  • NO_GENERATION: Do not generate descriptions for parameters that do not have descriptions already.

DescriptionGenerationProgressHandler (Type)

A callback function type that receives the progress percentage of description generation.

PostmanImportOptions (Interface)

Options for importing Postman collections.

  • apiKey: string: Postman API key.
  • collectionId: string[]: Postman collection IDs to be imported.

WorkspaceOption (Interface)

Workspace options for creating a project.

  • key?: string: Workspace key.
  • id?: string: Workspace ID.

ApiDataInputOption (Interface)

Data input options for creating a project. Specify only one of the following attributes.

  • file?: fs.PathLike: Path to a file containing API documentation.
  • link?: URL: URL to a file containing API documentation.
  • text?: string: API documentation as a string.
  • postman?: PostmanImportOptions: Postman collection to create the project from.

CreateProjectOptions (Interface)

Options for creating a project.

  • name: string: Project name.
  • workspace?: WorkspaceOption: Workspace where to create the project (default is the user's default workspace).
  • publish?: boolean: Indicates if the project should be published after creation (default is false).
  • isPublic?: boolean: Indicates if the project is public (default is false).
  • data?: ApiDataInputOption: API documentation data for creating the project.
  • sampleData?: boolean: Indicates if the project should be created with sample data.
  • descriptionGenerationType?: DescriptionGenerationType: Description generation type.
  • progressUpdateHandler?: DescriptionGenerationProgressHandler: Callback for description generation progress.

ImportOption (Enum)

An enum representing different options for importing API specifications.

  • ENDPOINTS_ONLY: Import only the endpoints.
  • OVERWRITE: Overwrite existing data.
  • MERGE: Merge with existing data.

ImportProjectOptions (Interface)

Options for importing API documentation to an existing project.

  • projectId: string: Project ID.
  • publish: boolean: Indicates if the imported data should be published.
  • data: ApiDataInputOption: API documentation data for importing.
  • importOption?: ImportOption: Import option.

PublishProjectResponse (Interface)

A response object after publishing a project.

  • projectKey: string: Project key.
  • baseUrlRequired: boolean: Indicates if a base URL is required.
  • companySlug: string: Company slug.
  • publishedPageUrl: string: URL of the published page.

CompanySchema (Interface)

A schema representing company information.

  • id: string: Company ID.
  • name: string: Company name.
  • slug: string: Company slug.
  • corporateId: string: Corporate ID.
  • createdAt: Date: Creation date.
  • updatedAt: Date: Last updated date.
  • createdBy: string: Created by user.

ProjectSchema (Interface)

A schema representing project information.

  • id: string: Project ID.
  • name: string: Project name.
  • key: string: Project key.
  • isPublic: boolean: Indicates if the project is public.
  • companyId: string: Company ID.
  • createdAt: Date: Creation date.
  • company: CompanySchema: Company information.

CreateOtherTypeOfDocOptions (Interface)

Options for creating other types of documentation.

  • docType: string: The type of documentation.
  • gettingStartedSections?: { introduction: boolean; prerequisites: boolean; quickStart: boolean; resources: boolean; }: Sections for getting started documentation.
  • sdk?: { overview: boolean; supportedLibraries: boolean; sampleCode: boolean; troubleshooting: boolean; }: SDK documentation sections.
  • faq?: { generalInfo: boolean; authentication: boolean; usage: boolean; billing: boolean; }: FAQ sections.

CreatedProjectStatusEnum (Enum)

An enum representing different statuses for a created project.

  • CREATED: Project creation completed successfully.
  • STARTED: Project creation is in progress.
  • FINISHED: Project creation finished successfully.
  • ERROR: Project creation encountered an error.
  • CREATED_WITHOUT_AI_GENERATION: Project created without AI generation.

CreateProjectResponse (Interface)

A response object after creating a project.

  • projectId: string: Project ID.
  • publishData?: PublishProjectResponse: Information about the published project.

ProjectCreationStatusResponse (Interface)

A response object containing information about the status of project creation.

  • name: string: Project name.
  • key: string: Project key.
  • creationStatus: CreatedProjectStatusEnum: Creation status.
  • descriptionGenerationProgress: number: Progress of description generation in percentage.
  • updatedAt: string: Last updated date.

ImportResponse (Interface)

A response object after importing a project.

  • collectionId: string: Collection ID.
  • publishData?: PublishProjectResponse: Information about the published project.

UserRole (Enum)

An enum representing different user roles.

  • ADMIN: Administrator.
  • EDITOR: Editor.

Workspace (Interface)

Workspace information.

  • workspaceId: string: Workspace ID.
  • name: string: Workspace name.
  • slug: string: Workspace slug/key.
  • role: UserRole: Workspace role.
  • isDefault: boolean: Indicates if the workspace is the default workspace.
  • isCorporate: boolean: Indicates if the workspace is corporate.
  • isSubscribed: boolean: Indicates if the workspace is subscribed.

ResultImp (Abstract Class)

An abstract class representing the result of an operation that can either succeed with a value of type T or fail with an error of type E.

Methods

  • unwrap(): T: Unwraps the successful result value. If the result is an error, this method will throw an exception.
  • unwrap<U>(ok: (value: T) => U): U: Unwraps the successful result value and applies a function to it.
  • unwrap<U, V>(ok: (value: T) => U, err: (error: E) => V): U | V: Unwraps the result value and applies functions based on whether it's a success or an error.
  • unwrap<U>(ok: (value: T) => U, err: (error: E) => U): U: Unwraps the result value and applies a function based on whether it's a success or an error.
  • map<U>(ok: (value: T) => U): Result<U, E>: Transforms a successful result into a new result with a different value type.
  • map<U, F extends Error>(ok: (value: T) => U, err: (error: E) => F): Result<U, F>: Transforms a result into a new result with different value and error types.
  • chain<X>(ok: (value: T) => Result<X, E>): Result<X, E>: Chains a function that produces a new result based on the success value.
  • chain<X>(ok: (value: T) => Result<X, E>, err: (error: E) => Result<X, E>): Result<X, E>: Chains functions for both success and error cases.
  • chain<X, U extends Error>(ok: (value: T) => Result<X, U>, err: (error: E) => Result<X, U>): Result<X, U>: Chains functions with different error types.

OkResult (Class)

A class representing a successful result.

Properties

  • value: T: The successful value.

ErrResult (Class)

A class representing an error result.

Properties

  • error: E: The error object.

Ok(value: T): Result(Function)

A function for creating a successful result.

  • value: T: The value to wrap in the result.

Err(error?: E): Result (Function)

A function for creating an error result.

  • error?: E: An optional error object.

ResponseSchema (Interface)

An interface representing the schema of a response object.

  • data: T: The data payload of the response.
  • message: string: A message associated with the response.
Was this section helpful?

What made this section unhelpful for you?

Bitbucket

Bitbucket’s collaborative environment is ideal for teams to manage their codebase. Integrating Bitbucket with Theneo ensures your API documentation stays in sync with your repository changes. Here’s how to set up Bitbucket integration:

Usage

Step 1: Create Theneo Documentation

Initiate your API documentation by creating a project on the Theneo platform.

Step 2: Configure Bitbucket Pipeline

Incorporate Theneo's automation into your Bitbucket repository:

  • Add a Pipeline: Integrate Theneo's pipeline into your bitbucket-pipelines.yml file to update your Theneo documentation with each repository update.
  • Configure the Pipeline: Use the snippet below in your bitbucket-pipelines.yml file to set up the pipeline.
YAML
codescript:
- pipe: theneo1/theneo-pipeline:0.2.1
variables:
API_DOCUMENT_PATH: "path/to/api/spec.yaml"
THENEO_PROJECT_KEY: "your-project-slug"
THENEO_API_KEY: "your-api-key"

Variables for Bitbucket Pipeline:

  • API_DOCUMENT_PATH: The path to your API spec within your repository.
  • THENEO_PROJECT_KEY: The unique slug of your Theneo project. Find this in your Theneo project URL: https://app.theneo.io/[workspace-name]/[project-slug]. For example, if your Theneo project URL is https://app.theneo.io/theneo/bitbucket-demo, the bitbucket-demo is your project slug.
  • THENEO_API_KEY: Your Theneo API key, which you can generate from the Theneo website.

Prerequisites for Bitbucket Integration

  • An established API documentation project on Theneo.
  • A generated API key from your Theneo account.
  • Your API documentation file located within your Bitbucket repository.

After setting up the Bitbucket pipeline with the appropriate Theneo variables, your API documentation will automatically reflect changes pushed to your repository. This seamless integration facilitates an up-to-date and accurate representation of your API for developers and stakeholders.

AI Co-pilot & Chat

Theneo's AI CoPilot revolutionizes the way API documentation is created by automating the generation and enhancement of content. With options for full AI assistance, enhancing existing content, or opting out, it provides a flexible approach to building comprehensive documentation. The AI CoPilot functions as an expert technical writer, offering precise descriptions for parameters, ensuring consistency and reducing manual effort.

The integration of ChatGPT brings interactive, conversational AI to Theneo's documentation, allowing users to ask questions directly within the docs. This feature, powered by the sophisticated GPT-4 turbo, is easily enabled in settings and offers users instant, contextual answers to both technical and business inquiries, elevating the documentation's utility and user engagement.

Together, Theneo's AI CoPilot and ChatGPT integration deliver a dynamic duo of content generation and user interaction, simplifying the documentation process and enhancing the end-user experience.

Branding & Styling

Craft a distinctive look and feel for your Theneo documentation with extensive branding and styling customization options. From choosing the right color palette to setting a custom domain, Theneo empowers you to align your documentation with your brand identity.

Key customization features include:

  • Light and Dark Mode Customization: Tailor your documentation's appearance for both light and dark mode preferences with dedicated logos and color schemes, ensuring a consistent user experience in any setting.
  • Color Customization: Fine-tune the color of text, buttons, backgrounds, and more with an easy-to-use color picker. Double-click to access HEX codes for precise matching to your brand colors.
  • Custom CSS and JavaScript: For advanced customization, inject custom CSS and JavaScript to take full control over the look and functionality of your documentation.
  • Custom Domains: Strengthen your brand's online presence by hosting your documentation on a custom domain, creating a seamless transition from your main website to your Theneo-hosted content.

With Theneo's customization tools, you can create documentation that not only serves its purpose but also resonates with your brand's aesthetic and ethos, making every interaction with your API an extension of your brand experience.

Developer Portal

A Developer Portal, also known as a Developer Hub, is a centralized platform designed to facilitate and manage the interaction between an organization and its developer community. It serves as a comprehensive resource for all things related to an organization's APIs or development tools, providing necessary documentation, API keys, resources, support, and community discussions.

Key features of Theneo's Developer Portal include:

  1. Customization: Users can select from professional templates or import their own designs, ensuring the portal aligns with the brand's visual identity.
  2. API Showcasing: The platform allows for a prominent display of API references, enabling users to easily discover and comprehend the available APIs.
  3. SDKs and Guides Documentation: Beyond APIs, Theneo supports documentation for SDKs and guides, creating a holistic resource for developers.
  4. Interactive AI Chat & API Explorer: Theneo integrates a GPT-4 powered AI Chat for instant smart responses and an interactive API Explorer for an immersive user experience.
  5. Content-Rich Portals: Users can augment their developer portal with additional resources like guides, blog posts, and linked content, providing a richer experience.
  6. Flexibility and Control: Import your own code and designs with complete freedom to customize your portal to your specifications.

Workspaces & Project Management

What are Workspaces?

Workspaces in Theneo are distinct areas within the platform designed to manage different projects or teams under one umbrella organization. They serve as separate containers that allow for distinct management of APIs, documentation, and team access. Each workspace can have its own branding, permissions, and configurations, making it an ideal solution for companies with multiple products or teams.

Benefits of Using Workspaces:

  1. Team Management:
    • Allocate specific workspaces to different teams within the organization.
    • Set permissions and roles to control access and maintain security.
  2. Brand Consistency:
    • Customize branding for each workspace to align with the product or team identity.
    • Manage multiple branding configurations without affecting other workspaces.
  3. Organized Documentation:
    • Keep documentation for different products or APIs separate and organized.
    • Provide tailored information relevant to the users of each workspace.
  4. Targeted Landing Pages:
    • Design and use different landing pages for each workspace to cater to the specific audience or user base.
    • Enhance user experience by directing them to the relevant workspace right from the start.

When are Multiple Workspaces Relevant?

  • Multiple Products: If your company offers a range of products, each with its own set of APIs and documentation, separate workspaces allow for tailored content management without overlap.
  • Distinct Branding: Companies that operate different brands under one corporation can use workspaces to manage and present APIs in line with each brand’s guidelines.
  • Team-Specific Access: For organizations with several engineering teams, each responsible for different APIs, workspaces provide a way to segment API ownership and control who has access to what.
  • Project Phases: During different stages of development, such as testing and production, workspaces can be used to segregate and manage these environments effectively.

Implementing Workspaces:

  • Setup: Administrators can create and configure workspaces from the Theneo dashboard.
  • Customization: Each workspace can be customized with its own branding and landing pages.
  • Access Control: Assign team members to workspaces and define their roles and permissions.
  • Content Management: Develop and maintain API documentation that's specific to the needs of each workspace.

In summary, workspaces in Theneo provide a powerful means to segment and manage your API documentation and teams. They offer the flexibility to support multiple products, brands, and teams within a single platform, ensuring that each can operate with its required level of autonomy and specificity

Product & User Guides / Docs

Theneo's flexible documentation platform supports not only API documentation but also a wide variety of content types, including comprehensive user and product guides. This flexibility enables you to create rich, informative content tailored to your audience's needs, whether they are developers, product managers, or end-users.

Getting Started with Guides

  1. Initiate a New Project:
    • Navigate to the "Create New Project" area.
    • Select "Other documentation" to branch out beyond API docs.
  2. Choose a Template:
    • Pick from a range of predefined templates like "Getting started guide", "SDK documentation", or "FAQ" for a quick start.
    • Opt for a "Blank" template for full creative control from scratch.
  3. Customize Your Content:
    • Use Theneo’s editor to add various content elements and structure your guide.
    • Include text, images, videos, and more to make your guide engaging and helpful.
Was this section helpful?

What made this section unhelpful for you?

FAQ

How do I delete parameter?

To delete a parameter, follow these steps:

  1. Switch to the code view mode in the widget.
  2. Select the parameter you wish to delete.
  3. Proceed with the deletion.

How can I delete my Theneo account?

To permanently remove your account and all associated data, please contact our support team directly at hello@theneo.io. A support representative will guide you through the secure account deletion process.

How can I create a workspace?

You can create a workspace in Theneo using one of the following methods:

If the corporate workspace toggle is enabled during sign-up, you can:

  • Join an existing corporate workspace associated with your corporate domain.
  • Create your own corporate workspace.

If the corporate workspace toggle is disabled during sign-up, you will automatically be added to your personal workspace upon account creation.

If you already have an account with a personal workspace, you can convert it to a corporate workspace:

  • Go to user settings -> admin tab.
  • Select "Convert as corporate" option.
  • Name your workspace and confirm the conversion.

Here's how to achieve this:

  • Navigate to your published documentation and locate the section you want to link to.
  • Copy the URL displayed in your web browser's address bar for that specific section.

Switch to the editor view within your Theneo project.

  • Select the text you wish to convert into a hyperlink. This text will act as the clickable anchor point for your readers.
  • Locate the "link" option within the Theneo editor's formatting tools.
  • Paste the previously copied URL from step 1 into the designated field within the link creation menu.
  • Confirm the link creation by clicking "Enter".

By following these steps, you've successfully established a hyperlink within your Theneo documentation, allowing readers to navigate seamlessly between different sections.

Can I update the auto-generated URL slug?

Here's how to update the URL slugs:

Project Slug:

  • Access your project settings.
  • Navigate to the "General" tab.
  • Locate the project slug setting and click on the edit icon.
  • Make your desired changes to the slug text.
  • Save your adjustments.

Section Slug:

  • Go to the "SEO management" section within your Theneo project.
  • Identify the specific section you want to modify the slug for.
  • Locate the edit option for the section's slug.
  • Update the slug text according to your preference.
  • Save your changes.

Please note:  While customizing slugs is beneficial, avoid frequent changes as it can impact how your documentation is indexed by search engines.

How do I restore my last published project?

Here's how to achieve this:

  • Access Project History: Locate the top-right menu within the Theneo editor.
  • Select Desired Version:  Click on the "History" option within the menu. This will display a list of previous versions associated with your project.
  • Identify and Restore:  Find the version corresponding to your last published project. This can be identified by a timestamp. Once you've located it, click to restore.

Following these steps will replace your current project version with the last published version.

How to download published document?

Downloading published document is currently available in our growth package, please contact our customer support directly at hello@theneo.io for an access.

Was this section helpful?

What made this section unhelpful for you?