mirror of
https://github.com/documenso/documenso.git
synced 2025-11-10 04:22:32 +10:00
## Description <!--- Describe the changes introduced by this pull request. --> <!--- Explain what problem it solves or what feature/fix it adds. --> ## Related Issue <!--- If this pull request is related to a specific issue, reference it here using #issue_number. --> <!--- For example, "Fixes #123" or "Addresses #456". --> ## Changes Made <!--- Provide a summary of the changes made in this pull request. --> <!--- Include any relevant technical details or architecture changes. --> - Change 1 - Change 2 - ... ## Testing Performed <!--- Describe the testing that you have performed to validate these changes. --> <!--- Include information about test cases, testing environments, and results. --> - Tested feature X in scenario Y. - Ran unit tests for component Z. - Tested on browsers A, B, and C. - ... ## Checklist <!--- Please check the boxes that apply to this pull request. --> <!--- You can add or remove items as needed. --> - [ ] I have tested these changes locally and they work as expected. - [ ] I have added/updated tests that prove the effectiveness of these changes. - [ ] I have updated the documentation to reflect these changes, if applicable. - [ ] I have followed the project's coding style guidelines. - [ ] I have addressed the code review feedback from the previous submission, if applicable. ## Additional Notes <!--- Provide any additional context or notes for the reviewers. --> <!--- This might include details about design decisions, potential concerns, or anything else relevant. --> <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **Documentation** - Enhanced project README for clarity and improved environment variables section. - Added comprehensive developer and user documentation, including guides on local development, public API, self-hosting, and compliance standards. - Introduced specific guides for contributing, creating API keys, using webhooks, and setting up security measures. - Detailed documentation on various fields available for document signing to improve user understanding. - Added metadata structuring to improve navigation within the documentation site. - **Chores** - Updated `.gitignore` to better handle project files. - **New Features** - Introduced detailed metadata and documentation for various Documenso functionalities, including signing documents, user profiles, and compliance levels. - Added functionality for Direct Link Signing, enabling easy sharing for document signing. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Co-authored-by: Timur Ercan <timur.ercan31@gmail.com> Co-authored-by: Lucas Smith <me@lucasjamessmith.me> Co-authored-by: David Nguyen <davidngu28@gmail.com>
68 lines
3.0 KiB
Plaintext
68 lines
3.0 KiB
Plaintext
---
|
|
title: API Authentication
|
|
description: Learn how to create a Documenso API key and authenticate your API requests.
|
|
---
|
|
|
|
# API Authentication
|
|
|
|
Documenso uses API keys for authentication. An API key is a unique token that is generated for each client. The client must provide the key whenever it makes an API call. This way, Documenso can identify the clients making the requests and authorize their access to the API.
|
|
|
|
## Creating an API Key
|
|
|
|
To create an API key, navigate to the user settings page. Click on your avatar in the top right corner of the dashboard and select "**[User settings](https://app.documenso.com/settings)**" from the dropdown menu.
|
|
|
|

|
|
|
|
Once you're on the user settings page, navigate to the "**[API Tokens](https://app.documenso.com/settings/tokens)**" tab. The "API Token" page lists your existing keys and enables you to create new ones.
|
|
|
|

|
|
|
|
To create a new API key, you must:
|
|
|
|
- Choose a name (e.g. "zapier-key")
|
|
- We recommend using a descriptive name that helps you quickly identify the key and its purpose.
|
|
- Choose an expiration date
|
|
- You can set the key never to expire or choose when to become invalid: 7 days, 1 month, 3 months, 6 months, or 1 year.
|
|
|
|
After providing the required information, click the "Create token" button to generate the API key.
|
|
|
|

|
|
|
|
Once you've created the token, Documenso will display the key on the screen. Make sure to copy the key and store it securely. You won't be able to see the key again once you refresh/leave the page.
|
|
|
|
## Using the API Key
|
|
|
|
You must include the API key in the `Authorization` request header to authenticate your API requests. The format is `Authorization: api_xxxxxxxxxxxxxxxx`.
|
|
|
|
Here's a sample API request using cURL:
|
|
|
|
```bash
|
|
curl --location 'https://app.documenso.com/api/v1/documents?page=1&perPage=1' \
|
|
--header 'Authorization: api_xxxxxxxxxxxxxxxx'
|
|
```
|
|
|
|
Here's a sample response from the API based on the above cURL request:
|
|
|
|
```json
|
|
{
|
|
"documents": [
|
|
{
|
|
"id": 11,
|
|
"userId": 2,
|
|
"teamId": null,
|
|
"title": "documenso",
|
|
"status": "PENDING",
|
|
"documentDataId": "ab2ecm1npk11rt5sp398waf7h",
|
|
"createdAt": "2024-04-25T11:05:18.420Z",
|
|
"updatedAt": "2024-04-25T11:05:36.328Z",
|
|
"completedAt": null
|
|
}
|
|
],
|
|
"totalPages": 1
|
|
}
|
|
```
|
|
|
|

|
|
|
|
The API key has access to your account and all its resources. Please keep it secure and do not share it with others. If you suspect your key has been compromised, you can revoke it from the "API Tokens" page in your user settings.
|