Theneo Sample Project ## Sections • [Theneo Quickstart Guide 🚀](https://app.theneo.io/roboto/theneo-sample-project-2/theneo-api-documentation.md): Theneo is the quickest, simplest way to generate high-quality, interactive API docs. Unlock the full potential of AI-powered API documentation: Create stunning, low-maintenance, and engaging docs with a single upload. Theneo streamlines every step of the process, ensuring that your documentation is not only comprehensive but also interactive and user-friendly. 1 Uploading Your API Specification Theneo supports various API specs, like Swagger, OpenAPI, and GraphQL, with an easy upload process. If you don't have a spec, use our tools to create one from scratch 2 Selecting Your AI Co-pilot After uploading your API spec, use Theneo's AI Co-pilot to generate or enhance content. For a faster setup, click 'Quick Start' to go straight to publishing. 3 Setting Permissions Set your project's visibility and invite collaborators as needed. Start privately and go public when ready, managing settings anytime to match your development lifecycle. • [Customizing](https://app.theneo.io/roboto/theneo-sample-project-2/getting-started/customizing.md): In Theneo, you have complete control over the look and feel of your documentation. This is achieved through an extensive set of color customization options that cater to every aspect of your project's interface. Here's a detailed overview of what you can configure: General Settings: Logos : Upload separate logos for light and dark modes, ensuring clear visibility regardless of theme. Ideal dimensions are provided for optimal display. Favicon : Customize the small icon that appears in browser tabs and bookmarks to make your site easily identifiable. Logo Hyperlink : Direct users to your desired URL through the logo in your documentation. Attribution : Toggle the "Powered by Theneo" attribution on or off to match your branding preferences. Document Font : Select from a variety of fonts to maintain consistency across your documentation. Color Customization of the published view projects: Global Settings: Body Text : Set the text color for readability. Section Headings: Highlight section titles. Background: Choose a primary background color. Accents: Customize borders and outlines. Buttons: Define button colors. Links: Customize hyperlink colors. Left Sidebar Menu: Item Colors: Set colors for menu items and active selection. Background: Choose a sidebar background color. Widget Cards: Code Snippet Card: Customize the header and body colors for request, response, and object example cards. Base URL Card: Set header and body background colors. Custom CSS and JavaScript Custom CSS and JavaScript offer powerful tools to personalize and enhance your Theneo documentation, giving you full control over its appearance and functionality. This feature allows you to create a highly branded, interactive, and tailored user experience. Benefits: Enhanced Personalization : Customize the visual style to perfectly align with your brand. Extended Functionality : Implement advanced features or third-party integrations using JavaScript. Improved User Experience : Optimize layout, navigation, and interactions for a more user-friendly and branded interface. • [Theneo web editor](https://app.theneo.io/roboto/theneo-sample-project-2/getting-started/theneo-web-editor.md): 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. Additionally, Theneo's live collaboration feature enables real-time teamwork, allowing multiple users to simultaneously edit, comment, and review documentation. This streamlines the editing process, reduces bottlenecks, and fosters seamless collaboration across teams. Whether you're working in the same room or across different time zones, live collaboration ensures that everyone stays aligned and up to date on changes. Let's take a look at the widgets available: Code Blocks : Perfect for displaying code snippets, helping users und/erstand implementation details in different programming languages. Divider : A simple yet effective tool to create clear separations between sections, enhancing readability and structure. Callout : Draws focus to important information, tips, or warnings, ensuring key messages are not missed. Table : Ideal for presenting data or information systematically, making complex details easier to digest. Image & Video : Brings your documentation to life with visual content like diagrams, screenshots, or explanatory videos, offering a richer understanding. Object Example : Shows practical examples of objects used in your API, demystifying complex data structures for better comprehension. Error Codes : Outlines potential errors that might occur, providing a guide for troubleshooting and error resolution. Status Codes : Clarifies the HTTP status codes your API returns, giving insights into various responses and their meanings. Base URL : Displays the base URL of your API prominently, a crucial starting point for users making API requests. Language Box : Allows for multi-language documentation, offering code examples in various programming languages to cater to a diverse audience. Request Widget : Demonstrates specific API requests, detailing parameters, headers, and other necessary request components. Response Widget : Provides examples of API responses, helping users understand expected outcomes from their API interactions. Each widget is tailored to enhance specific aspects of API documentation, making Theneo's web editor a versatile tool for developers and technical writers. As you proceed with documentation, these widgets can be seamlessly integrated to cater to your content needs, ensuring a comprehensive and user-friendly experience. • [Basics of APIs](https://app.theneo.io/roboto/theneo-sample-project-2/api-reference-guide/basics-of-apis.md): Theneo offers a comprehensive and flexible selection of API formats and collection types to meet diverse integration and development needs. Our platform supports various API formats, such as REST, SOAP, GraphQL, and Async APIs, each designed for specific use cases and requirements. We also provide compatibility with multiple API specification collections, ensuring smooth integration and an efficient development process. HTTP Methods HTTP methods, or verbs, denote actions performed on resources. Theneo APIs support various HTTP methods: GET: Retrieve a representation of a specific resource. Example: Retrieving transaction details. POST: Submit data to create a new resource or trigger a state change. Example: Creating a new customer profile. PUT: Replace all representations of a target resource with the provided payload. Example: Updating a subscription plan. DELETE: Remove a specified resource. Example: Deleting a stored card. PATCH: Apply partial modifications to a resource. Example: Changing the status of an existing order. Parameters Parameters allow customization of API requests and responses. Theneo APIs support four types of parameters: Path Parameters: Integral parts of the endpoint URL, identifying specific resources. Query Parameters: Appended to the endpoint URL to filter or paginate results. Request Body Parameters: Included in the request body, transmitting data to the API server. Response Body Parameters: Represent data returned by the server in response to a request. HTTP Status Codes HTTP status codes communicate the outcome of client requests. Theneo employs HTTP status codes categorized into the following classes: Success (200): The request was successfully processed. Example: Successfully retrieved a resource or completed an action. 400 (Bad Request): The server could not understand the request due to invalid syntax. Example: Missing required parameters in the request. 401 (Unauthorized): Authentication is required and has failed or has not yet been provided. Example: Invalid or missing API key. 402 (Request Failed): The parameters were valid but the request failed. Example: Insufficient funds or expired credit card. 403 (Forbidden): The client does not have access rights to the content. Example: Attempting to access a resource without the necessary permissions. 404 (Not Found): The server can not find the requested resource. Example: Trying to access an endpoint that does not exist. • [Base URL](https://app.theneo.io/roboto/theneo-sample-project-2/api-reference-guide/base-url.md): The Base URL is a crucial element for making API calls, enabling you to clearly specify the root URL(s) for API requests. When making API calls, you combine the base URL with the specific endpoint path to form the complete request URL. It supports multiple environments, including staging and production. Additionally, the base URL synchronizes with the API explorer, allowing you to seamlessly switch between environments like Sandbox and Production while trying out API calls. • [Authentication](https://app.theneo.io/roboto/theneo-sample-project-2/api-reference-guide/authentication.md): When it comes to interacting with APIs, authentication is a critical step to ensure secure communication between your application and the API service. API authentication is performed via HTTP Basic Auth, which involves including your API key in the HTTP request headers. This method verifies your identity and grants you access to the API's resources, ensuring that only authorized users can make requests. Theneo Sample API uses API keys to authenticate requests. To retrieve your API key from app.theneo.io, follow these steps: Sign in : Navigate to app.theneo.io and sign in with your credentials. User Settings : Once logged in, locate the user settings. Tools & Integrations Tab : Within the user settings, find the "Tools & Integrations" tab. Click on it to access settings related to integrations and tools. Locate API Key : In the Tools & Integrations tab, you should find your API key listed. Add headers to an HTTP request When issuing an HTTP request to Theneo, each request must contain an Api-Key header that specifies a valid API key and must be encoded as JSON with the Content-Type: application/json header. CURL curl -s -X POST "https://app.theneo.io" \ -H "Content-Type: application/json" \ -H "Api-Key: YOUR_API_KEY" \ -d '{ "given_name": "Theneo", "last_name": "APIDoc", "mail": "hello@theneo.io", "phone_number": "" } Your API keys grant significant access, so it’s crucial to keep them safe! Avoid sharing your secret API keys in public places like GitHub, client-side code, and similar locations. API requests without authentication will fail. • [Create customer](https://app.theneo.io/roboto/theneo-sample-project-2/rest-api-reference/create-customer.md): Create customer allows users to add a new customer to the system, providing essential details such as name, email, address, and phone number. By utilizing this functionality, users can easily store and manage customer information for seamless transactions and interactions within the application. • [Update customer](https://app.theneo.io/roboto/theneo-sample-project-2/rest-api-reference/update-customer.md): Update customer allows users to modify and update customer information within the system. Users can easily adjust customer details such as name, email, phone number, and more. This section provides a seamless way to keep customer data accurate and up-to-date. • [Retrieve customer](https://app.theneo.io/roboto/theneo-sample-project-2/rest-api-reference/retrieve-customer.md): This section allows users to retrieve detailed information about a specific customer within the system. Users can access essential details such as the customer's name, email address, phone number, address, and creation source. By utilizing this functionality, users can efficiently manage customer data and preferences. • [List all customers](https://app.theneo.io/roboto/theneo-sample-project-2/rest-api-reference/list-all-customers.md): This section allows users to retrieve a list of all customers associated with the project. By accessing this data, users can gain insights into their customer base, track customer interactions, and manage customer information effectively within the project. • [Delete customer](https://app.theneo.io/roboto/theneo-sample-project-2/rest-api-reference/delete-customer.md): Deletes a customer from the system permanently, and this action cannot be reversed. Additionally, it promptly cancels any active subscriptions associated with the customer.